aboutsummaryrefslogtreecommitdiff
path: root/testsuite/runnable/record_extension.elna
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/runnable/record_extension.elna')
-rw-r--r--testsuite/runnable/record_extension.elna19
1 files changed, 19 insertions, 0 deletions
diff --git a/testsuite/runnable/record_extension.elna b/testsuite/runnable/record_extension.elna
new file mode 100644
index 0000000..161361b
--- /dev/null
+++ b/testsuite/runnable/record_extension.elna
@@ -0,0 +1,19 @@
+type
+ ElnaLexerToken = record
+ kind: Word
+ end
+ ElnaLexerStringToken = record(ElnaLexerToken)
+ value: String
+ end
+
+var
+ token_memory: ElnaLexerStringToken
+ current_token: ^ElnaLexerToken
+
+begin
+ current_token := @token_memory;
+ cast(current_token: ^ElnaLexerStringToken)^.value := "Some string";
+
+ assert(token_memory.value = "Some string");
+ return 0
+end.