Changeset 7ff35e0e
- Timestamp:
- Jul 14, 2021, 4:01:37 PM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- b238618
- Parents:
- ca69a8a
- Location:
- src
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.h
rca69a8a r7ff35e0e 230 230 virtual void visit( TypeofType * typeofType ) override final; 231 231 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; 232 234 virtual void visit( AttrType * attrType ) override final; 233 235 virtual void visit( const AttrType * attrType ) override final; … … 343 345 virtual Type * mutate( TupleType * tupleType ) override final; 344 346 virtual Type * mutate( TypeofType * typeofType ) override final; 347 virtual Type * mutate( VTableType * vtableType ) override final; 345 348 virtual Type * mutate( AttrType * attrType ) override final; 346 349 virtual Type * mutate( VarArgsType * varArgsType ) override final; -
src/Common/PassVisitor.impl.h
rca69a8a r7ff35e0e 3610 3610 3611 3611 //-------------------------------------------------------------------------- 3612 // VTableType 3613 template< typename pass_type > 3614 void 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 3624 template< typename pass_type > 3625 void 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 3635 template< typename pass_type > 3636 Type * 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 //-------------------------------------------------------------------------- 3612 3647 // AttrType 3613 3648 template< typename pass_type > -
src/SynTree/Mutator.h
rca69a8a r7ff35e0e 112 112 virtual Type * mutate( TupleType * tupleType ) = 0; 113 113 virtual Type * mutate( TypeofType * typeofType ) = 0; 114 virtual Type * mutate( VTableType * vtableType ) = 0; 114 115 virtual Type * mutate( AttrType * attrType ) = 0; 115 116 virtual Type * mutate( VarArgsType * varArgsType ) = 0; -
src/SynTree/SynTree.h
rca69a8a r7ff35e0e 119 119 class TupleType; 120 120 class TypeofType; 121 class VTableType; 121 122 class AttrType; 122 123 class VarArgsType; -
src/SynTree/Visitor.h
rca69a8a r7ff35e0e 198 198 virtual void visit( TypeofType * node ) { visit( const_cast<const TypeofType *>(node) ); } 199 199 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; 200 202 virtual void visit( AttrType * node ) { visit( const_cast<const AttrType *>(node) ); } 201 203 virtual void visit( const AttrType * attrType ) = 0;
Note: See TracChangeset
for help on using the changeset viewer.