From 34969c14bed456b8a4cd76d71319b75342825878 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 31 Aug 2021 20:48:22 +0200 Subject: StructExprTuple doesn't really exist A StructExprTuple is parsed as a CallExpr. Both (can) start with a PathInExpression followed by zero or more Expressions between brackets. Only, after type checking, when actually generating gcc generic trees is a distinction made between a function call or tuple constructor. Remove the AST and HIR StructExprTuple classes which are never used. --- gcc/rust/backend/rust-compile-base.h | 1 - 1 file changed, 1 deletion(-) (limited to 'gcc/rust/backend') diff --git a/gcc/rust/backend/rust-compile-base.h b/gcc/rust/backend/rust-compile-base.h index 3daad5f..d7cc009 100644 --- a/gcc/rust/backend/rust-compile-base.h +++ b/gcc/rust/backend/rust-compile-base.h @@ -72,7 +72,6 @@ public: virtual void visit (HIR::StructExprFieldIndexValue &field) {} virtual void visit (HIR::StructExprStructFields &expr) {} virtual void visit (HIR::StructExprStructBase &expr) {} - virtual void visit (HIR::StructExprTuple &expr) {} virtual void visit (HIR::StructExprUnit &expr) {} // virtual void visit(EnumExprField& field) {} virtual void visit (HIR::EnumExprFieldIdentifier &field) {} -- cgit v1.1 From c998198c669c5a8e63b662c03806b0bd5398bd28 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Tue, 31 Aug 2021 21:05:18 +0200 Subject: StructExprUnit doesn't really exist A StructExprUnit is parsed as an IdentifierExpr. An IdentifierExpr, which is what we call a single segment PathInExpression. After type checking, when generating gcc generic trees, if the IdentifierExpr is a type reference (which must be a unit struct), then a unit expression is generated. Remove the AST and HIR StructExprUnit classes which are never used. --- gcc/rust/backend/rust-compile-base.h | 1 - 1 file changed, 1 deletion(-) (limited to 'gcc/rust/backend') diff --git a/gcc/rust/backend/rust-compile-base.h b/gcc/rust/backend/rust-compile-base.h index d7cc009..2ce7369 100644 --- a/gcc/rust/backend/rust-compile-base.h +++ b/gcc/rust/backend/rust-compile-base.h @@ -72,7 +72,6 @@ public: virtual void visit (HIR::StructExprFieldIndexValue &field) {} virtual void visit (HIR::StructExprStructFields &expr) {} virtual void visit (HIR::StructExprStructBase &expr) {} - virtual void visit (HIR::StructExprUnit &expr) {} // virtual void visit(EnumExprField& field) {} virtual void visit (HIR::EnumExprFieldIdentifier &field) {} virtual void visit (HIR::EnumExprFieldIdentifierValue &field) {} -- cgit v1.1 From 3b5c0f65ef12bd4771f69195d232588cff86b270 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Wed, 1 Sep 2021 01:51:38 +0200 Subject: Remove Enumeration Expression, EnumExpr, classes An Enumeration Expression is just like a Struct Expression. Old versions of the Rust Reference described them separately. But since they are syntactically exactly like a Struct Expression they are never actually parsed. A Struct Expression can also be used to initialize enums (and unions). Remove the AST and HIR classes EnumExprField, EnumExprFieldIdentifier, EnumExprFieldWithVal, EnumExprFieldIdentifierValue, EnumExprFieldIndexValue, EnumExprStruct, EnumExprTuple, EnumExprFieldless and EnumVariantExpr. --- gcc/rust/backend/rust-compile-base.h | 7 ------- 1 file changed, 7 deletions(-) (limited to 'gcc/rust/backend') diff --git a/gcc/rust/backend/rust-compile-base.h b/gcc/rust/backend/rust-compile-base.h index 2ce7369..c0cfacf 100644 --- a/gcc/rust/backend/rust-compile-base.h +++ b/gcc/rust/backend/rust-compile-base.h @@ -72,13 +72,6 @@ public: virtual void visit (HIR::StructExprFieldIndexValue &field) {} virtual void visit (HIR::StructExprStructFields &expr) {} virtual void visit (HIR::StructExprStructBase &expr) {} - // virtual void visit(EnumExprField& field) {} - virtual void visit (HIR::EnumExprFieldIdentifier &field) {} - virtual void visit (HIR::EnumExprFieldIdentifierValue &field) {} - virtual void visit (HIR::EnumExprFieldIndexValue &field) {} - virtual void visit (HIR::EnumExprStruct &expr) {} - virtual void visit (HIR::EnumExprTuple &expr) {} - virtual void visit (HIR::EnumExprFieldless &expr) {} virtual void visit (HIR::CallExpr &expr) {} virtual void visit (HIR::MethodCallExpr &expr) {} virtual void visit (HIR::FieldAccessExpr &expr) {} -- cgit v1.1