diff options
| author | Eugen Wissner <belka@caraus.de> | 2026-10-08 01:29:37 +0200 |
|---|---|---|
| committer | Eugen Wissner <belka@caraus.de> | 2026-10-08 01:29:37 +0200 |
| commit | d4b7f5e52a33f2d15aafca7f1b040f3f2821fd0c (patch) | |
| tree | c4d2f2ea44bbcb26108e86270a4454cd04f7873a /include | |
| parent | 12e304fd56f054ba7296ab538eecd4280a67832a (diff) | |
| download | elna-d4b7f5e52a33f2d15aafca7f1b040f3f2821fd0c.tar.gz | |
Move record constructor type into the braces
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 |
