Changeset 90152a4 for src/CodeGen/CodeGenerator.h
- Timestamp:
- Aug 27, 2018, 4:40:34 PM (7 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- b7c89aa
- Parents:
- f9feab8 (diff), 305581d (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/CodeGenerator.h
rf9feab8 r90152a4 27 27 28 28 namespace CodeGen { 29 struct CodeGenerator : public WithShortCircuiting, public With VisitorRef<CodeGenerator> {29 struct CodeGenerator : public WithShortCircuiting, public WithGuards, public WithVisitorRef<CodeGenerator> { 30 30 static int tabsize; 31 31 32 CodeGenerator( std::ostream &os, bool pretty = false, bool genC = false, bool lineMarks = false );32 CodeGenerator( std::ostream &os, bool pretty = false, bool genC = false, bool lineMarks = false, bool printExprTypes = false ); 33 33 34 34 //*** Turn off visit_children for all nodes … … 38 38 void postvisit( BaseSyntaxNode * ); 39 39 40 //*** print type for all expressions 41 void previsit( Expression * node ); 42 40 43 //*** Declaration 41 44 void postvisit( StructDecl * ); 42 45 void postvisit( FunctionDecl * ); 43 46 void postvisit( ObjectDecl * ); 44 void postvisit( UnionDecl *aggregateDecl ); 45 void postvisit( EnumDecl *aggregateDecl ); 46 void postvisit( TraitDecl *aggregateDecl ); 47 void postvisit( TypedefDecl *typeDecl ); 48 void postvisit( TypeDecl *typeDecl ); 47 void postvisit( UnionDecl * aggregateDecl ); 48 void postvisit( EnumDecl * aggregateDecl ); 49 void postvisit( TraitDecl * aggregateDecl ); 50 void postvisit( TypedefDecl * typeDecl ); 51 void postvisit( TypeDecl * typeDecl ); 52 void postvisit( StaticAssertDecl * assertDecl ); 49 53 50 54 //*** Initializer … … 65 69 void postvisit( LabelAddressExpr *addressExpr ); 66 70 void postvisit( CastExpr *castExpr ); 71 void postvisit( KeywordCastExpr * castExpr ); 67 72 void postvisit( VirtualCastExpr *castExpr ); 68 73 void postvisit( UntypedMemberExpr *memberExpr ); … … 88 93 void postvisit( StmtExpr * ); 89 94 void postvisit( ConstructorExpr * ); 95 void postvisit( DeletedExpr * ); 96 void postvisit( DefaultArgExpr * ); 97 void postvisit( GenericExpr * ); 90 98 91 99 //*** Statements … … 93 101 void postvisit( ExprStmt * ); 94 102 void postvisit( AsmStmt * ); 103 void postvisit( DirectiveStmt * ); 95 104 void postvisit( AsmDecl * ); // special: statement in declaration context 96 105 void postvisit( IfStmt * ); … … 138 147 bool genC = false; // true if output has to be C code 139 148 bool lineMarks = false; 149 bool printExprTypes = false; 140 150 public: 141 151 LineEnder endl;
Note:
See TracChangeset
for help on using the changeset viewer.