diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/elna/boot/ast.h | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/include/elna/boot/ast.h b/include/elna/boot/ast.h index c3b43bb..35cfc8d 100644 --- a/include/elna/boot/ast.h +++ b/include/elna/boot/ast.h @@ -559,24 +559,18 @@ namespace elna::boot class record_constructor_expression : public expression { + type_expression *m_record_type; + public: - const identifier type_name; const std::vector<field_initializer> field_initializers; - /** - * Type arguments naming the instantiation being constructed. Empty - * when no argument list was written. - */ - const std::vector<type_expression *> arguments; record_constructor_expression(const source_position position, - identifier&& type_name, - std::vector<field_initializer>&& field_initializers); - record_constructor_expression(const source_position position, - identifier&& type_name, std::vector<type_expression *>&& arguments, - std::vector<field_initializer>&& field_initializers); + type_expression *record_type, std::vector<field_initializer>&& field_initializers); ~record_constructor_expression() override; void accept(parser_visitor *visitor) override; record_constructor_expression *is_record_constructor() override; + + type_expression& record_type(); }; class array_constructor_expression : public expression |
