- Timestamp:
- Aug 31, 2020, 5:23:49 PM (5 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum, stuck-waitfor-destruct
- Children:
- d3aa64f1
- Parents:
- 191a190 (diff), 942453a (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- src/AST
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Convert.cpp
r191a190 r49a980b 705 705 new KeywordCastExpr( 706 706 get<Expression>().accept1(node->arg), 707 castTarget 707 castTarget, 708 {node->concrete_target.field, node->concrete_target.getter} 708 709 ) 709 710 ); … … 2087 2088 old->location, 2088 2089 GET_ACCEPT_1(arg, Expr), 2089 castTarget 2090 castTarget, 2091 {old->concrete_target.field, old->concrete_target.getter} 2090 2092 ) 2091 2093 ); -
src/AST/Expr.hpp
r191a190 r49a980b 312 312 public: 313 313 ptr<Expr> arg; 314 struct Concrete { 315 std::string field; 316 std::string getter; 317 318 Concrete() = default; 319 Concrete(const Concrete &) = default; 320 }; 314 321 ast::AggregateDecl::Aggregate target; 322 Concrete concrete_target; 323 315 324 316 325 KeywordCastExpr( const CodeLocation & loc, const Expr * a, ast::AggregateDecl::Aggregate t ) 317 326 : Expr( loc ), arg( a ), target( t ) {} 327 328 KeywordCastExpr( const CodeLocation & loc, const Expr * a, ast::AggregateDecl::Aggregate t, const Concrete & ct ) 329 : Expr( loc ), arg( a ), target( t ), concrete_target( ct ) {} 318 330 319 331 /// Get a name for the target type -
src/AST/module.mk
r191a190 r49a980b 17 17 SRC_AST = \ 18 18 AST/AssertAcyclic.cpp \ 19 AST/AssertAcyclic.hpp \ 19 20 AST/Attribute.cpp \ 21 AST/Attribute.hpp \ 22 AST/Bitfield.hpp \ 23 AST/Chain.hpp \ 20 24 AST/Convert.cpp \ 25 AST/Convert.hpp \ 26 AST/Copy.hpp \ 27 AST/CVQualifiers.hpp \ 21 28 AST/Decl.cpp \ 29 AST/Decl.hpp \ 22 30 AST/DeclReplacer.cpp \ 31 AST/DeclReplacer.hpp \ 32 AST/Eval.hpp \ 23 33 AST/Expr.cpp \ 34 AST/Expr.hpp \ 24 35 AST/ForallSubstitutionTable.cpp \ 36 AST/ForallSubstitutionTable.hpp \ 37 AST/ForallSubstitutor.hpp \ 38 AST/FunctionSpec.hpp \ 39 AST/Fwd.hpp \ 25 40 AST/GenericSubstitution.cpp \ 41 AST/GenericSubstitution.hpp \ 26 42 AST/Init.cpp \ 43 AST/Init.hpp \ 44 AST/Label.hpp \ 27 45 AST/LinkageSpec.cpp \ 46 AST/LinkageSpec.hpp \ 28 47 AST/Node.cpp \ 48 AST/Node.hpp \ 49 AST/ParseNode.hpp \ 29 50 AST/Pass.cpp \ 51 AST/Pass.hpp \ 52 AST/Pass.impl.hpp \ 53 AST/Pass.proto.hpp \ 30 54 AST/Print.cpp \ 55 AST/Print.hpp \ 31 56 AST/Stmt.cpp \ 57 AST/Stmt.hpp \ 58 AST/StorageClasses.hpp \ 32 59 AST/SymbolTable.cpp \ 60 AST/SymbolTable.hpp \ 33 61 AST/Type.cpp \ 62 AST/Type.hpp \ 34 63 AST/TypeEnvironment.cpp \ 35 AST/TypeSubstitution.cpp 64 AST/TypeEnvironment.hpp \ 65 AST/TypeSubstitution.cpp \ 66 AST/TypeSubstitution.hpp \ 67 AST/Visitor.hpp 36 68 37 69 SRC += $(SRC_AST)
Note:
See TracChangeset
for help on using the changeset viewer.