diff options
Diffstat (limited to 'tools/tree-sitter/test/corpus/generic_alias.txt')
| -rw-r--r-- | tools/tree-sitter/test/corpus/generic_alias.txt | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/tools/tree-sitter/test/corpus/generic_alias.txt b/tools/tree-sitter/test/corpus/generic_alias.txt new file mode 100644 index 0000000..54a8ea2 --- /dev/null +++ b/tools/tree-sitter/test/corpus/generic_alias.txt @@ -0,0 +1,132 @@ +================== +generic_alias +================== + +program() +type + File = record + fd: Int + end + + Node#[T] = record + next: ^Node#[T]; + value: ^T + end + + Ref#[T] = ^T + + Boxed#[V] = record + inner: ^Node#[V] + end + +var + chain: Node#[File] + aliased: Ref#[File] + raw: ^File + boxed: Boxed#[File] + +begin + chain.next := nil; + aliased := raw; + raw := aliased; + boxed.inner := @chain +end. + +--- + +(source_file + (program_declaration + (type_section + (type_declaration + (identifier_definition + (identifier)) + (record_type + (field_declaration + (identifier_definition + (identifier)) + (identifier)))) + (type_declaration + (identifier_definition + (identifier)) + (type_parameters + (identifier)) + (record_type + (field_declaration + (identifier_definition + (identifier)) + (pointer_type + (generic_type + (identifier) + (type_arguments + (identifier))))) + (field_declaration + (identifier_definition + (identifier)) + (pointer_type + (identifier))))) + (type_declaration + (identifier_definition + (identifier)) + (type_parameters + (identifier)) + (pointer_type + (identifier))) + (type_declaration + (identifier_definition + (identifier)) + (type_parameters + (identifier)) + (record_type + (field_declaration + (identifier_definition + (identifier)) + (pointer_type + (generic_type + (identifier) + (type_arguments + (identifier)))))))) + (var_section + (variable_declaration + (identifier_definition + (identifier)) + (generic_type + (identifier) + (type_arguments + (identifier)))) + (variable_declaration + (identifier_definition + (identifier)) + (generic_type + (identifier) + (type_arguments + (identifier)))) + (variable_declaration + (identifier_definition + (identifier)) + (pointer_type + (identifier))) + (variable_declaration + (identifier_definition + (identifier)) + (generic_type + (identifier) + (type_arguments + (identifier))))) + (assignment_statement + (field_expression + (identifier) + (identifier)) + (literal + (nil))) + (assignment_statement + (identifier) + (identifier)) + (assignment_statement + (identifier) + (identifier)) + (assignment_statement + (field_expression + (identifier) + (identifier)) + (unary_expression + (identifier))))) |
