Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Indexer.h

    r33a25f9 r522363e  
    2424
    2525namespace SymTab {
    26         class Indexer {
     26        class Indexer : public Visitor {
    2727          public:
    2828                explicit Indexer( bool useDebug = false );
     
    3333                Indexer& operator= ( const Indexer &that );
    3434                Indexer& operator= ( Indexer &&that );
     35
     36                using Visitor::visit;
     37                virtual void visit( ObjectDecl *objectDecl );
     38                virtual void visit( FunctionDecl *functionDecl );
     39                virtual void visit( TypeDecl *typeDecl );
     40                virtual void visit( TypedefDecl *typeDecl );
     41                virtual void visit( StructDecl *aggregateDecl );
     42                virtual void visit( UnionDecl *aggregateDecl );
     43                virtual void visit( EnumDecl *aggregateDecl );
     44                virtual void visit( TraitDecl *aggregateDecl );
     45
     46                virtual void visit( CompoundStmt *compoundStmt );
     47                virtual void visit( IfStmt *ifStmt );
     48                virtual void visit( ForStmt *forStmt );
     49                virtual void visit( CatchStmt *catchStmt );
     50
     51                virtual void visit( ApplicationExpr *applicationExpr );
     52                virtual void visit( UntypedExpr *untypedExpr );
     53                virtual void visit( NameExpr *nameExpr );
     54                virtual void visit( CastExpr *castExpr );
     55                virtual void visit( AddressExpr *addressExpr );
     56                virtual void visit( LabelAddressExpr *labAddressExpr );
     57                virtual void visit( UntypedMemberExpr *memberExpr );
     58                virtual void visit( MemberExpr *memberExpr );
     59                virtual void visit( VariableExpr *variableExpr );
     60                virtual void visit( ConstantExpr *constantExpr );
     61                virtual void visit( SizeofExpr *sizeofExpr );
     62                virtual void visit( AlignofExpr *alignofExpr );
     63                virtual void visit( UntypedOffsetofExpr *offsetofExpr );
     64                virtual void visit( OffsetofExpr *offsetofExpr );
     65                virtual void visit( OffsetPackExpr *offsetPackExpr );
     66                virtual void visit( AttrExpr *attrExpr );
     67                virtual void visit( LogicalExpr *logicalExpr );
     68                virtual void visit( ConditionalExpr *conditionalExpr );
     69                virtual void visit( CommaExpr *commaExpr );
     70                virtual void visit( TypeExpr *typeExpr );
     71                virtual void visit( AsmExpr *asmExpr );
     72                virtual void visit( ImplicitCopyCtorExpr *impCpCtorExpr );
     73                virtual void visit( ConstructorExpr * ctorExpr );
     74                virtual void visit( CompoundLiteralExpr *compLitExpr );
     75                virtual void visit( RangeExpr *rangeExpr );
     76                virtual void visit( UntypedTupleExpr *tupleExpr );
     77                virtual void visit( TupleExpr *tupleExpr );
     78                virtual void visit( TupleIndexExpr *tupleExpr );
     79                virtual void visit( TupleAssignExpr *tupleExpr );
     80                virtual void visit( StmtExpr * stmtExpr );
     81                virtual void visit( UniqueExpr * uniqueExpr );
     82
     83                virtual void visit( TraitInstType *contextInst );
     84                virtual void visit( StructInstType *contextInst );
     85                virtual void visit( UnionInstType *contextInst );
    3586
    3687                // when using an indexer manually (e.g., within a mutator traversal), it is necessary to tell the indexer
Note: See TracChangeset for help on using the changeset viewer.