Changeset 23f99e1 for src/AST/Pass.hpp
- Timestamp:
- May 15, 2019, 3:46:36 PM (5 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:
- 1e97287
- Parents:
- 54db6ba
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Pass.hpp
r54db6ba r23f99e1 85 85 86 86 /// Visit function declarations 87 virtualconst ast::DeclWithType * visit( const ast::ObjectDecl * ) override final;88 virtualconst ast::DeclWithType * visit( const ast::FunctionDecl * ) override final;89 virtualconst ast::Decl * visit( const ast::StructDecl * ) override final;90 virtualconst ast::Decl * visit( const ast::UnionDecl * ) override final;91 virtualconst ast::Decl * visit( const ast::EnumDecl * ) override final;92 virtualconst ast::Decl * visit( const ast::TraitDecl * ) override final;93 virtualconst ast::Decl * visit( const ast::TypeDecl * ) override final;94 virtualconst ast::Decl * visit( const ast::TypedefDecl * ) override final;95 virtualconst ast::AsmDecl * visit( const ast::AsmDecl * ) override final;96 virtualconst ast::StaticAssertDecl * visit( const ast::StaticAssertDecl * ) override final;97 virtualconst ast::CompoundStmt * visit( const ast::CompoundStmt * ) override final;98 virtualconst ast::Stmt * visit( const ast::ExprStmt * ) override final;99 virtualconst ast::Stmt * visit( const ast::AsmStmt * ) override final;100 virtualconst ast::Stmt * visit( const ast::DirectiveStmt * ) override final;101 virtualconst ast::Stmt * visit( const ast::IfStmt * ) override final;102 virtualconst ast::Stmt * visit( const ast::WhileStmt * ) override final;103 virtualconst ast::Stmt * visit( const ast::ForStmt * ) override final;104 virtualconst ast::Stmt * visit( const ast::SwitchStmt * ) override final;105 virtualconst ast::Stmt * visit( const ast::CaseStmt * ) override final;106 virtualconst ast::Stmt * visit( const ast::BranchStmt * ) override final;107 virtualconst ast::Stmt * visit( const ast::ReturnStmt * ) override final;108 virtualconst ast::Stmt * visit( const ast::ThrowStmt * ) override final;109 virtualconst ast::Stmt * visit( const ast::TryStmt * ) override final;110 virtualconst ast::Stmt * visit( const ast::CatchStmt * ) override final;111 virtualconst ast::Stmt * visit( const ast::FinallyStmt * ) override final;112 virtualconst ast::Stmt * visit( const ast::WaitForStmt * ) override final;113 virtualconst ast::Stmt * visit( const ast::WithStmt * ) override final;114 virtualconst ast::NullStmt * visit( const ast::NullStmt * ) override final;115 virtualconst ast::Stmt * visit( const ast::DeclStmt * ) override final;116 virtualconst ast::Stmt * visit( const ast::ImplicitCtorDtorStmt * ) override final;117 virtualconst ast::Expr * visit( const ast::ApplicationExpr * ) override final;118 virtualconst ast::Expr * visit( const ast::UntypedExpr * ) override final;119 virtualconst ast::Expr * visit( const ast::NameExpr * ) override final;120 virtualconst ast::Expr * visit( const ast::AddressExpr * ) override final;121 virtualconst ast::Expr * visit( const ast::LabelAddressExpr * ) override final;122 virtualconst ast::Expr * visit( const ast::CastExpr * ) override final;123 virtualconst ast::Expr * visit( const ast::KeywordCastExpr * ) override final;124 virtualconst ast::Expr * visit( const ast::VirtualCastExpr * ) override final;125 virtualconst ast::Expr * visit( const ast::UntypedMemberExpr * ) override final;126 virtualconst ast::Expr * visit( const ast::MemberExpr * ) override final;127 virtualconst ast::Expr * visit( const ast::VariableExpr * ) override final;128 virtualconst ast::Expr * visit( const ast::ConstantExpr * ) override final;129 virtualconst ast::Expr * visit( const ast::SizeofExpr * ) override final;130 virtualconst ast::Expr * visit( const ast::AlignofExpr * ) override final;131 virtualconst ast::Expr * visit( const ast::UntypedOffsetofExpr * ) override final;132 virtualconst ast::Expr * visit( const ast::OffsetofExpr * ) override final;133 virtualconst ast::Expr * visit( const ast::OffsetPackExpr * ) override final;134 virtualconst ast::Expr * visit( const ast::AttrExpr * ) override final;135 virtualconst ast::Expr * visit( const ast::LogicalExpr * ) override final;136 virtualconst ast::Expr * visit( const ast::ConditionalExpr * ) override final;137 virtualconst ast::Expr * visit( const ast::CommaExpr * ) override final;138 virtualconst ast::Expr * visit( const ast::TypeExpr * ) override final;139 virtualconst ast::Expr * visit( const ast::AsmExpr * ) override final;140 virtualconst ast::Expr * visit( const ast::ImplicitCopyCtorExpr * ) override final;141 virtualconst ast::Expr * visit( const ast::ConstructorExpr * ) override final;142 virtualconst ast::Expr * visit( const ast::CompoundLiteralExpr * ) override final;143 virtualconst ast::Expr * visit( const ast::RangeExpr * ) override final;144 virtualconst ast::Expr * visit( const ast::UntypedTupleExpr * ) override final;145 virtualconst ast::Expr * visit( const ast::TupleExpr * ) override final;146 virtualconst ast::Expr * visit( const ast::TupleIndexExpr * ) override final;147 virtualconst ast::Expr * visit( const ast::TupleAssignExpr * ) override final;148 virtualconst ast::Expr * visit( const ast::StmtExpr * ) override final;149 virtualconst ast::Expr * visit( const ast::UniqueExpr * ) override final;150 virtualconst ast::Expr * visit( const ast::UntypedInitExpr * ) override final;151 virtualconst ast::Expr * visit( const ast::InitExpr * ) override final;152 virtualconst ast::Expr * visit( const ast::DeletedExpr * ) override final;153 virtualconst ast::Expr * visit( const ast::DefaultArgExpr * ) override final;154 virtualconst ast::Expr * visit( const ast::GenericExpr * ) override final;155 virtualconst ast::Type * visit( const ast::VoidType * ) override final;156 virtualconst ast::Type * visit( const ast::BasicType * ) override final;157 virtualconst ast::Type * visit( const ast::PointerType * ) override final;158 virtualconst ast::Type * visit( const ast::ArrayType * ) override final;159 virtualconst ast::Type * visit( const ast::ReferenceType * ) override final;160 virtualconst ast::Type * visit( const ast::QualifiedType * ) override final;161 virtualconst ast::Type * visit( const ast::FunctionType * ) override final;162 virtualconst ast::Type * visit( const ast::StructInstType * ) override final;163 virtualconst ast::Type * visit( const ast::UnionInstType * ) override final;164 virtualconst ast::Type * visit( const ast::EnumInstType * ) override final;165 virtualconst ast::Type * visit( const ast::TraitInstType * ) override final;166 virtualconst ast::Type * visit( const ast::TypeInstType * ) override final;167 virtualconst ast::Type * visit( const ast::TupleType * ) override final;168 virtualconst ast::Type * visit( const ast::TypeofType * ) override final;169 virtualconst ast::Type * visit( const ast::AttrType * ) override final;170 virtualconst ast::Type * visit( const ast::VarArgsType * ) override final;171 virtualconst ast::Type * visit( const ast::ZeroType * ) override final;172 virtualconst ast::Type * visit( const ast::OneType * ) override final;173 virtualconst ast::Type * visit( const ast::GlobalScopeType * ) override final;174 virtualconst ast::Designation * visit( const ast::Designation * ) override final;175 virtualconst ast::Init * visit( const ast::SingleInit * ) override final;176 virtualconst ast::Init * visit( const ast::ListInit * ) override final;177 virtualconst ast::Init * visit( const ast::ConstructorInit * ) override final;178 virtualconst ast::Constant * visit( const ast::Constant * ) override final;179 virtualconst ast::Attribute * visit( const ast::Attribute * ) override final;180 virtualconst ast::TypeSubstitution * visit( const ast::TypeSubstitution * ) override final;87 const ast::DeclWithType * visit( const ast::ObjectDecl * ) override final; 88 const ast::DeclWithType * visit( const ast::FunctionDecl * ) override final; 89 const ast::Decl * visit( const ast::StructDecl * ) override final; 90 const ast::Decl * visit( const ast::UnionDecl * ) override final; 91 const ast::Decl * visit( const ast::EnumDecl * ) override final; 92 const ast::Decl * visit( const ast::TraitDecl * ) override final; 93 const ast::Decl * visit( const ast::TypeDecl * ) override final; 94 const ast::Decl * visit( const ast::TypedefDecl * ) override final; 95 const ast::AsmDecl * visit( const ast::AsmDecl * ) override final; 96 const ast::StaticAssertDecl * visit( const ast::StaticAssertDecl * ) override final; 97 const ast::CompoundStmt * visit( const ast::CompoundStmt * ) override final; 98 const ast::Stmt * visit( const ast::ExprStmt * ) override final; 99 const ast::Stmt * visit( const ast::AsmStmt * ) override final; 100 const ast::Stmt * visit( const ast::DirectiveStmt * ) override final; 101 const ast::Stmt * visit( const ast::IfStmt * ) override final; 102 const ast::Stmt * visit( const ast::WhileStmt * ) override final; 103 const ast::Stmt * visit( const ast::ForStmt * ) override final; 104 const ast::Stmt * visit( const ast::SwitchStmt * ) override final; 105 const ast::Stmt * visit( const ast::CaseStmt * ) override final; 106 const ast::Stmt * visit( const ast::BranchStmt * ) override final; 107 const ast::Stmt * visit( const ast::ReturnStmt * ) override final; 108 const ast::Stmt * visit( const ast::ThrowStmt * ) override final; 109 const ast::Stmt * visit( const ast::TryStmt * ) override final; 110 const ast::Stmt * visit( const ast::CatchStmt * ) override final; 111 const ast::Stmt * visit( const ast::FinallyStmt * ) override final; 112 const ast::Stmt * visit( const ast::WaitForStmt * ) override final; 113 const ast::Stmt * visit( const ast::WithStmt * ) override final; 114 const ast::NullStmt * visit( const ast::NullStmt * ) override final; 115 const ast::Stmt * visit( const ast::DeclStmt * ) override final; 116 const ast::Stmt * visit( const ast::ImplicitCtorDtorStmt * ) override final; 117 const ast::Expr * visit( const ast::ApplicationExpr * ) override final; 118 const ast::Expr * visit( const ast::UntypedExpr * ) override final; 119 const ast::Expr * visit( const ast::NameExpr * ) override final; 120 const ast::Expr * visit( const ast::AddressExpr * ) override final; 121 const ast::Expr * visit( const ast::LabelAddressExpr * ) override final; 122 const ast::Expr * visit( const ast::CastExpr * ) override final; 123 const ast::Expr * visit( const ast::KeywordCastExpr * ) override final; 124 const ast::Expr * visit( const ast::VirtualCastExpr * ) override final; 125 const ast::Expr * visit( const ast::UntypedMemberExpr * ) override final; 126 const ast::Expr * visit( const ast::MemberExpr * ) override final; 127 const ast::Expr * visit( const ast::VariableExpr * ) override final; 128 const ast::Expr * visit( const ast::ConstantExpr * ) override final; 129 const ast::Expr * visit( const ast::SizeofExpr * ) override final; 130 const ast::Expr * visit( const ast::AlignofExpr * ) override final; 131 const ast::Expr * visit( const ast::UntypedOffsetofExpr * ) override final; 132 const ast::Expr * visit( const ast::OffsetofExpr * ) override final; 133 const ast::Expr * visit( const ast::OffsetPackExpr * ) override final; 134 const ast::Expr * visit( const ast::AttrExpr * ) override final; 135 const ast::Expr * visit( const ast::LogicalExpr * ) override final; 136 const ast::Expr * visit( const ast::ConditionalExpr * ) override final; 137 const ast::Expr * visit( const ast::CommaExpr * ) override final; 138 const ast::Expr * visit( const ast::TypeExpr * ) override final; 139 const ast::Expr * visit( const ast::AsmExpr * ) override final; 140 const ast::Expr * visit( const ast::ImplicitCopyCtorExpr * ) override final; 141 const ast::Expr * visit( const ast::ConstructorExpr * ) override final; 142 const ast::Expr * visit( const ast::CompoundLiteralExpr * ) override final; 143 const ast::Expr * visit( const ast::RangeExpr * ) override final; 144 const ast::Expr * visit( const ast::UntypedTupleExpr * ) override final; 145 const ast::Expr * visit( const ast::TupleExpr * ) override final; 146 const ast::Expr * visit( const ast::TupleIndexExpr * ) override final; 147 const ast::Expr * visit( const ast::TupleAssignExpr * ) override final; 148 const ast::Expr * visit( const ast::StmtExpr * ) override final; 149 const ast::Expr * visit( const ast::UniqueExpr * ) override final; 150 const ast::Expr * visit( const ast::UntypedInitExpr * ) override final; 151 const ast::Expr * visit( const ast::InitExpr * ) override final; 152 const ast::Expr * visit( const ast::DeletedExpr * ) override final; 153 const ast::Expr * visit( const ast::DefaultArgExpr * ) override final; 154 const ast::Expr * visit( const ast::GenericExpr * ) override final; 155 const ast::Type * visit( const ast::VoidType * ) override final; 156 const ast::Type * visit( const ast::BasicType * ) override final; 157 const ast::Type * visit( const ast::PointerType * ) override final; 158 const ast::Type * visit( const ast::ArrayType * ) override final; 159 const ast::Type * visit( const ast::ReferenceType * ) override final; 160 const ast::Type * visit( const ast::QualifiedType * ) override final; 161 const ast::Type * visit( const ast::FunctionType * ) override final; 162 const ast::Type * visit( const ast::StructInstType * ) override final; 163 const ast::Type * visit( const ast::UnionInstType * ) override final; 164 const ast::Type * visit( const ast::EnumInstType * ) override final; 165 const ast::Type * visit( const ast::TraitInstType * ) override final; 166 const ast::Type * visit( const ast::TypeInstType * ) override final; 167 const ast::Type * visit( const ast::TupleType * ) override final; 168 const ast::Type * visit( const ast::TypeofType * ) override final; 169 const ast::Type * visit( const ast::AttrType * ) override final; 170 const ast::Type * visit( const ast::VarArgsType * ) override final; 171 const ast::Type * visit( const ast::ZeroType * ) override final; 172 const ast::Type * visit( const ast::OneType * ) override final; 173 const ast::Type * visit( const ast::GlobalScopeType * ) override final; 174 const ast::Designation * visit( const ast::Designation * ) override final; 175 const ast::Init * visit( const ast::SingleInit * ) override final; 176 const ast::Init * visit( const ast::ListInit * ) override final; 177 const ast::Init * visit( const ast::ConstructorInit * ) override final; 178 const ast::Constant * visit( const ast::Constant * ) override final; 179 const ast::Attribute * visit( const ast::Attribute * ) override final; 180 const ast::TypeSubstitution * visit( const ast::TypeSubstitution * ) override final; 181 181 182 182 friend void acceptAll( std::list< ptr<Decl> > & decls, Pass<pass_t>& visitor ); … … 216 216 Pass<pass_t> & pass; 217 217 }; 218 219 private: 220 bool inFunction = false; 218 221 }; 219 222
Note: See TracChangeset
for help on using the changeset viewer.