Changeset ac1ed49 for src/SynTree
- Timestamp:
- Feb 25, 2016, 5:14:15 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
- Children:
- 33e6a2cc, 90c3b1c, c14cff1
- Parents:
- 41a2620 (diff), 44b7088 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- src/SynTree
- Files:
-
- 1 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Mutator.cc
r41a2620 rac1ed49 421 421 } 422 422 423 Type *Mutator::mutate( VarArgsType *varArgsType ) { 424 mutateAll( varArgsType->get_forall(), *this ); 425 return varArgsType; 426 } 427 423 428 Initializer *Mutator::mutate( SingleInit *singleInit ) { 424 429 singleInit->set_value( singleInit->get_value()->acceptMutator( *this ) ); -
src/SynTree/Mutator.h
r41a2620 rac1ed49 90 90 virtual Type* mutate( TypeofType *typeofType ); 91 91 virtual Type* mutate( AttrType *attrType ); 92 virtual Type* mutate( VarArgsType *varArgsType ); 92 93 93 94 virtual Initializer* mutate( SingleInit *singleInit ); -
src/SynTree/SynTree.h
r41a2620 rac1ed49 97 97 class TypeofType; 98 98 class AttrType; 99 class VarArgsType; 99 100 100 101 class Initializer; -
src/SynTree/Type.h
r41a2620 rac1ed49 400 400 }; 401 401 402 /// Represents the GCC built-in varargs type 403 class VarArgsType : public Type { 404 VarArgsType(); 405 406 virtual VarArgsType *clone() const { return new VarArgsType( *this ); } 407 virtual void accept( Visitor &v ) { v.visit( this ); } 408 virtual Type *acceptMutator( Mutator &m ) { return m.mutate( this ); } 409 virtual void print( std::ostream &os, int indent = 0 ) const; 410 }; 411 402 412 inline Type::Qualifiers &Type::Qualifiers::operator+=( const Type::Qualifiers &other ) { 403 413 isConst |= other.isConst; -
src/SynTree/TypeSubstitution.cc
r41a2620 rac1ed49 198 198 } 199 199 200 Type * TypeSubstitution::mutate( VarArgsType *varArgsType ) { 201 return handleType( varArgsType ); 202 } 203 200 204 void TypeSubstitution::print( std::ostream &os, int indent ) const { 201 205 os << std::string( indent, ' ' ) << "Types:" << std::endl; -
src/SynTree/TypeSubstitution.h
r41a2620 rac1ed49 74 74 virtual Type* mutate(ContextInstType *aggregateUseType); 75 75 virtual Type* mutate(TupleType *tupleType); 76 virtual Type* mutate(VarArgsType *varArgsType); 76 77 77 78 // TODO: worry about traversing into a forall-qualified function type or type decl with assertions -
src/SynTree/Visitor.cc
r41a2620 rac1ed49 355 355 } 356 356 357 void Visitor::visit( VarArgsType *varArgsType ) { 358 acceptAll( varArgsType->get_forall(), *this ); 359 } 360 357 361 void Visitor::visit( SingleInit *singleInit ) { 358 362 singleInit->get_value()->accept( *this ); -
src/SynTree/Visitor.h
r41a2620 rac1ed49 90 90 virtual void visit( TypeofType *typeofType ); 91 91 virtual void visit( AttrType *attrType ); 92 virtual void visit( VarArgsType *varArgsType ); 92 93 93 94 virtual void visit( SingleInit *singleInit ); -
src/SynTree/module.mk
r41a2620 rac1ed49 25 25 SynTree/TypeofType.cc \ 26 26 SynTree/AttrType.cc \ 27 SynTree/VarArgsType.cc \ 27 28 SynTree/Constant.cc \ 28 29 SynTree/Expression.cc \
Note: See TracChangeset
for help on using the changeset viewer.