Changes in / [3e46cc8:a300e4a]
- Files:
-
- 1 deleted
- 1 edited
-
src/AST/Visitor.hpp (modified) (1 diff)
-
tools/expanded-line-count.sh (deleted)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Visitor.hpp
r3e46cc8 ra300e4a 1 //2 // Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo3 //4 // The contents of this file are covered under the licence agreement in the5 // file "LICENCE" distributed with Cforall.6 //7 // Visitor.hpp -- Interface of a class that visits ast nodes.8 //9 // Author : Andrew Beach10 // Created On : Thr May 9 15:28:00 201911 // Last Modified By : Andrew Beach12 // Last Modified On : Thr May 9 15:33:00 201913 // Update Count : 014 //15 16 #pragma once17 18 #include "Fwd.hpp"19 20 namespace ast {21 22 class Visitor {23 public:24 virtual DeclWithType * visit( const ObjectDecl * ) = 0;25 virtual DeclWithType * visit( const FunctionDecl * ) = 0;26 virtual Decl * visit( const StructDecl * ) = 0;27 virtual Decl * visit( const UnionDecl * ) = 0;28 virtual Decl * visit( const EnumDecl * ) = 0;29 virtual Decl * visit( const TraitDecl * ) = 0;30 virtual Decl * visit( const TypeDecl * ) = 0;31 virtual Decl * visit( const TypedefDecl * ) = 0;32 virtual AsmDecl * visit( const AsmDecl * ) = 0;33 virtual StaticAssertDecl * visit( const StaticAssertDecl * ) = 0;34 virtual CompoundStmt * visit( const CompoundStmt * ) = 0;35 virtual Stmt * visit( const ExprStmt * ) = 0;36 virtual Stmt * visit( const AsmStmt * ) = 0;37 virtual Stmt * visit( const DirectiveStmt * ) = 0;38 virtual Stmt * visit( const IfStmt * ) = 0;39 virtual Stmt * visit( const WhileStmt * ) = 0;40 virtual Stmt * visit( const ForStmt * ) = 0;41 virtual Stmt * visit( const SwitchStmt * ) = 0;42 virtual Stmt * visit( const CaseStmt * ) = 0;43 virtual Stmt * visit( const BranchStmt * ) = 0;44 virtual Stmt * visit( const ReturnStmt * ) = 0;45 virtual Stmt * visit( const ThrowStmt * ) = 0;46 virtual Stmt * visit( const TryStmt * ) = 0;47 virtual Stmt * visit( const CatchStmt * ) = 0;48 virtual Stmt * visit( const FinallyStmt * ) = 0;49 virtual Stmt * visit( const WaitForStmt * ) = 0;50 virtual Stmt * visit( const WithStmt * ) = 0;51 virtual NullStmt * visit( const NullStmt * ) = 0;52 virtual Stmt * visit( const DeclStmt * ) = 0;53 virtual Stmt * visit( const ImplicitCtorDtorStmt * ) = 0;54 virtual Expr * visit( const ApplicationExpr * ) = 0;55 virtual Expr * visit( const UntypedExpr * ) = 0;56 virtual Expr * visit( const NameExpr * ) = 0;57 virtual Expr * visit( const AddressExpr * ) = 0;58 virtual Expr * visit( const LabelAddressExpr * ) = 0;59 virtual Expr * visit( const CastExpr * ) = 0;60 virtual Expr * visit( const KeywordCastExpr * ) = 0;61 virtual Expr * visit( const VirtualCastExpr * ) = 0;62 virtual Expr * visit( const UntypedMemberExpr * ) = 0;63 virtual Expr * visit( const MemberExpr * ) = 0;64 virtual Expr * visit( const VariableExpr * ) = 0;65 virtual Expr * visit( const ConstantExpr * ) = 0;66 virtual Expr * visit( const SizeofExpr * ) = 0;67 virtual Expr * visit( const AlignofExpr * ) = 0;68 virtual Expr * visit( const UntypedOffsetofExpr * ) = 0;69 virtual Expr * visit( const OffsetofExpr * ) = 0;70 virtual Expr * visit( const OffsetPackExpr * ) = 0;71 virtual Expr * visit( const AttrExpr * ) = 0;72 virtual Expr * visit( const LogicalExpr * ) = 0;73 virtual Expr * visit( const ConditionalExpr * ) = 0;74 virtual Expr * visit( const CommaExpr * ) = 0;75 virtual Expr * visit( const TypeExpr * ) = 0;76 virtual Expr * visit( const AsmExpr * ) = 0;77 virtual Expr * visit( const ImplicitCopyCtorExpr * ) = 0;78 virtual Expr * visit( const ConstructorExpr * ) = 0;79 virtual Expr * visit( const CompoundLiteralExpr * ) = 0;80 virtual Expr * visit( const RangeExpr * ) = 0;81 virtual Expr * visit( const UntypedTupleExpr * ) = 0;82 virtual Expr * visit( const TupleExpr * ) = 0;83 virtual Expr * visit( const TupleIndexExpr * ) = 0;84 virtual Expr * visit( const TupleAssignExpr * ) = 0;85 virtual Expr * visit( const StmtExpr * ) = 0;86 virtual Expr * visit( const UniqueExpr * ) = 0;87 virtual Expr * visit( const UntypedInitExpr * ) = 0;88 virtual Expr * visit( const InitExpr * ) = 0;89 virtual Expr * visit( const DeletedExpr * ) = 0;90 virtual Expr * visit( const DefaultArgExpr * ) = 0;91 virtual Expr * visit( const GenericExpr * ) = 0;92 virtual Type * visit( const VoidType * ) = 0;93 virtual Type * visit( const BasicType * ) = 0;94 virtual Type * visit( const PointerType * ) = 0;95 virtual Type * visit( const ArrayType * ) = 0;96 virtual Type * visit( const ReferenceType * ) = 0;97 virtual Type * visit( const QualifiedType * ) = 0;98 virtual Type * visit( const FunctionType * ) = 0;99 virtual Type * visit( const StructInstType * ) = 0;100 virtual Type * visit( const UnionInstType * ) = 0;101 virtual Type * visit( const EnumInstType * ) = 0;102 virtual Type * visit( const TraitInstType * ) = 0;103 virtual Type * visit( const TypeInstType * ) = 0;104 virtual Type * visit( const TupleType * ) = 0;105 virtual Type * visit( const TypeofType * ) = 0;106 virtual Type * visit( const AttrType * ) = 0;107 virtual Type * visit( const VarArgsType * ) = 0;108 virtual Type * visit( const ZeroType * ) = 0;109 virtual Type * visit( const OneType * ) = 0;110 virtual Type * visit( const GlobalScopeType * ) = 0;111 virtual Designation * visit( const Designation * ) = 0;112 virtual Init * visit( const SingleInit * ) = 0;113 virtual Init * visit( const ListInit * ) = 0;114 virtual Init * visit( const ConstructorInit * ) = 0;115 virtual Constant * visit( const Constant * ) = 0;116 virtual Attribute * visit( const Attribute * ) = 0;117 virtual TypeSubstitution * visit( const TypeSubstitution * ) = 0;118 };119 120 }121 122 // Local Variables: //123 // tab-width: 4 //124 // mode: c++ //125 // compile-command: "make install" //126 // End: //
Note:
See TracChangeset
for help on using the changeset viewer.