diff options
| -rw-r--r-- | boot/parse.c | 3 | ||||
| -rw-r--r-- | boot/tests/parse/generics.cskt | 0 | ||||
| -rw-r--r-- | boot/tests/parse/simple_types.cskt | 0 | ||||
| -rw-r--r-- | boot/tree.c | 1 |
4 files changed, 3 insertions, 1 deletions
diff --git a/boot/parse.c b/boot/parse.c index 687659e..6363379 100644 --- a/boot/parse.c +++ b/boot/parse.c @@ -445,6 +445,7 @@ parser_function_header_node(struct Parser* p, struct Parser_Error* error) struct Token close_parameters_token = parser_next(p); header.span = span_merge(open_parameters_token.span, close_parameters_token.span); + header.location = open_parameters_token.location; struct Token next = parser_peek(p); struct Token further = parser_peek_further(p); @@ -620,7 +621,7 @@ parser_node_type_class(struct Parser* p, struct Parser_Error* error) // for the sake of consistency and the built-in type node linked list. struct Type_Node* method_type = type_node_new( TYPE_NODE_FUNCTION, (union Type_Node_Value){ .function = { header } }, header.span, - header.parameters_type_and_name->location); + header.location); method_type->value_name = method_name; if (!head) diff --git a/boot/tests/parse/generics.cskt b/boot/tests/parse/generics.cskt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/boot/tests/parse/generics.cskt diff --git a/boot/tests/parse/simple_types.cskt b/boot/tests/parse/simple_types.cskt new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/boot/tests/parse/simple_types.cskt diff --git a/boot/tree.c b/boot/tree.c index aab05eb..4320279 100644 --- a/boot/tree.c +++ b/boot/tree.c @@ -420,6 +420,7 @@ struct Function_Header_Node struct Type_Node* return_type; struct Span span; + struct Cursor location; }; // a declaration of a variable, constant, or other binding, without a mutability |
