diff options
Diffstat (limited to 'tools/tree-sitter/test/corpus/generic_const_inference.txt')
| -rw-r--r-- | tools/tree-sitter/test/corpus/generic_const_inference.txt | 204 |
1 files changed, 204 insertions, 0 deletions
diff --git a/tools/tree-sitter/test/corpus/generic_const_inference.txt b/tools/tree-sitter/test/corpus/generic_const_inference.txt new file mode 100644 index 0000000..e4b5bf9 --- /dev/null +++ b/tools/tree-sitter/test/corpus/generic_const_inference.txt @@ -0,0 +1,204 @@ +================== +generic_const_inference +================== + +program() +type + ConstAlias = const ^Word8 + BasePtr = ^Word8 + NestedConst = const BasePtr + +var + slice: []const Word8 + aliased: ConstAlias := nil + nested: NestedConst := nil + direct_const: const ^Word8 := nil + +proc write#[T](fd: Int; buf: ^T; count: Int) -> Int +return 0 + +proc write_const#[T](fd: Int; buf: ^const T; count: Int) -> Int +return 0 + +begin + write(1, slice.ptr, cast(slice.length: Int)); + write(1, aliased, 0); + write(1, nested, 0); + write(1, direct_const, 0); + write_const(1, slice.ptr, cast(slice.length: Int)); + write_const(1, aliased, 0); + write_const(1, nested, 0); + write_const(1, direct_const, 0) +end. + +--- + +(source_file + (program_declaration + (type_section + (type_declaration + (identifier_definition + (identifier)) + (const_type + (pointer_type + (identifier)))) + (type_declaration + (identifier_definition + (identifier)) + (pointer_type + (identifier))) + (type_declaration + (identifier_definition + (identifier)) + (const_type + (identifier)))) + (var_section + (variable_declaration + (identifier_definition + (identifier)) + (slice_type + (const_type + (identifier)))) + (variable_declaration + (identifier_definition + (identifier)) + (identifier) + (literal + (nil))) + (variable_declaration + (identifier_definition + (identifier)) + (identifier) + (literal + (nil))) + (variable_declaration + (identifier_definition + (identifier)) + (const_type + (pointer_type + (identifier))) + (literal + (nil)))) + (procedure_declaration + (identifier_definition + (identifier)) + (type_parameters + (identifier)) + (parameter_list + (field_declaration + (identifier_definition + (identifier)) + (identifier)) + (field_declaration + (identifier_definition + (identifier)) + (pointer_type + (identifier))) + (field_declaration + (identifier_definition + (identifier)) + (identifier))) + (identifier) + (procedure_body + (return_clause + (literal + (integer))))) + (procedure_declaration + (identifier_definition + (identifier)) + (type_parameters + (identifier)) + (parameter_list + (field_declaration + (identifier_definition + (identifier)) + (identifier)) + (field_declaration + (identifier_definition + (identifier)) + (pointer_type + (const_type + (identifier)))) + (field_declaration + (identifier_definition + (identifier)) + (identifier))) + (identifier) + (procedure_body + (return_clause + (literal + (integer))))) + (call_expression + (identifier) + (argument_list + (literal + (integer)) + (field_expression + (identifier) + (identifier)) + (cast_expression + (field_expression + (identifier) + (identifier)) + (identifier)))) + (call_expression + (identifier) + (argument_list + (literal + (integer)) + (identifier) + (literal + (integer)))) + (call_expression + (identifier) + (argument_list + (literal + (integer)) + (identifier) + (literal + (integer)))) + (call_expression + (identifier) + (argument_list + (literal + (integer)) + (identifier) + (literal + (integer)))) + (call_expression + (identifier) + (argument_list + (literal + (integer)) + (field_expression + (identifier) + (identifier)) + (cast_expression + (field_expression + (identifier) + (identifier)) + (identifier)))) + (call_expression + (identifier) + (argument_list + (literal + (integer)) + (identifier) + (literal + (integer)))) + (call_expression + (identifier) + (argument_list + (literal + (integer)) + (identifier) + (literal + (integer)))) + (call_expression + (identifier) + (argument_list + (literal + (integer)) + (identifier) + (literal + (integer)))))) |
