Changeset 7ff35e0e


Ignore:
Timestamp:
Jul 14, 2021, 4:01:37 PM (3 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
b238618
Parents:
ca69a8a
Message:

Implemented old ast boiler-plate for vtabletype.

Location:
src
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/Common/PassVisitor.h

    rca69a8a r7ff35e0e  
    230230        virtual void visit( TypeofType * typeofType ) override final;
    231231        virtual void visit( const TypeofType * typeofType ) override final;
     232        virtual void visit( VTableType * vtableType ) override final;
     233        virtual void visit( const VTableType * vtableType ) override final;
    232234        virtual void visit( AttrType * attrType ) override final;
    233235        virtual void visit( const AttrType * attrType ) override final;
     
    343345        virtual Type * mutate( TupleType * tupleType ) override final;
    344346        virtual Type * mutate( TypeofType * typeofType ) override final;
     347        virtual Type * mutate( VTableType * vtableType ) override final;
    345348        virtual Type * mutate( AttrType * attrType ) override final;
    346349        virtual Type * mutate( VarArgsType * varArgsType ) override final;
  • src/Common/PassVisitor.impl.h

    rca69a8a r7ff35e0e  
    36103610
    36113611//--------------------------------------------------------------------------
     3612// VTableType
     3613template< typename pass_type >
     3614void PassVisitor< pass_type >::visit( VTableType * node ) {
     3615        VISIT_START( node );
     3616
     3617        // Forall qualifiers should be on base type, not here
     3618        // maybeAccept_impl( node->forall, *this );
     3619        maybeAccept_impl( node->base, *this );
     3620
     3621        VISIT_END( node );
     3622}
     3623
     3624template< typename pass_type >
     3625void PassVisitor< pass_type >::visit( const VTableType * node ) {
     3626        VISIT_START( node );
     3627
     3628        // Forall qualifiers should be on base type, not here
     3629        // maybeAccept_impl( node->forall, *this );
     3630        maybeAccept_impl( node->base, *this );
     3631
     3632        VISIT_END( node );
     3633}
     3634
     3635template< typename pass_type >
     3636Type * PassVisitor< pass_type >::mutate( VTableType * node ) {
     3637        MUTATE_START( node );
     3638
     3639        // Forall qualifiers should be on base type, not here
     3640        // maybeMutate_impl( node->forall, *this );
     3641        maybeMutate_impl( node->base, *this );
     3642
     3643        MUTATE_END( Type, node );
     3644}
     3645
     3646//--------------------------------------------------------------------------
    36123647// AttrType
    36133648template< typename pass_type >
  • src/SynTree/Mutator.h

    rca69a8a r7ff35e0e  
    112112        virtual Type * mutate( TupleType * tupleType ) = 0;
    113113        virtual Type * mutate( TypeofType * typeofType ) = 0;
     114        virtual Type * mutate( VTableType * vtableType ) = 0;
    114115        virtual Type * mutate( AttrType * attrType ) = 0;
    115116        virtual Type * mutate( VarArgsType * varArgsType ) = 0;
  • src/SynTree/SynTree.h

    rca69a8a r7ff35e0e  
    119119class TupleType;
    120120class TypeofType;
     121class VTableType;
    121122class AttrType;
    122123class VarArgsType;
  • src/SynTree/Visitor.h

    rca69a8a r7ff35e0e  
    198198        virtual void visit( TypeofType * node ) { visit( const_cast<const TypeofType *>(node) ); }
    199199        virtual void visit( const TypeofType * typeofType ) = 0;
     200        virtual void visit( VTableType * node ) { visit( const_cast<const VTableType *>(node) ); }
     201        virtual void visit( const VTableType * vtableType ) = 0;
    200202        virtual void visit( AttrType * node ) { visit( const_cast<const AttrType *>(node) ); }
    201203        virtual void visit( const AttrType * attrType ) = 0;
Note: See TracChangeset for help on using the changeset viewer.