Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/FixFunction.h

    rc1ed2ee r4bda2cf  
    1919#include "SynTree/SynTree.h"    // for Types
    2020
    21 namespace ast {
    22         class DeclWithType;
    23 }
     21namespace SymTab {
     22        /// Replaces function and array types by equivalent pointer types.
     23        class FixFunction : public WithShortCircuiting {
     24                typedef Mutator Parent;
     25          public:
     26                FixFunction();
    2427
    25 namespace SymTab {
    26         /// Replaces function and array types by equivalent pointer types. Returns true if type is
    27         /// void
     28                void premutate(FunctionDecl *functionDecl);
     29                DeclarationWithType* postmutate(FunctionDecl *functionDecl);
     30
     31                Type * postmutate(ArrayType * arrayType);
     32
     33                void premutate(ArrayType * arrayType);
     34                void premutate(VoidType * voidType);
     35                void premutate(BasicType * basicType);
     36                void premutate(PointerType * pointerType);
     37                void premutate(StructInstType * aggregateUseType);
     38                void premutate(UnionInstType * aggregateUseType);
     39                void premutate(EnumInstType * aggregateUseType);
     40                void premutate(TraitInstType * aggregateUseType);
     41                void premutate(TypeInstType * aggregateUseType);
     42                void premutate(TupleType * tupleType);
     43                void premutate(VarArgsType * varArgsType);
     44                void premutate(ZeroType * zeroType);
     45                void premutate(OneType * oneType);
     46
     47                bool isVoid;
     48        };
     49
    2850        bool fixFunction( DeclarationWithType *& );
    29 
    30         /// Returns declaration with function and array types replaced by equivalent pointer types.
    31         /// Sets isVoid to true if type is void
    32         const ast::DeclWithType * fixFunction( const ast::DeclWithType * dwt, bool & isVoid );
    3351} // namespace SymTab
    3452
Note: See TracChangeset for help on using the changeset viewer.