Changeset f53acdf8 for src/SynTree/Type.h
- Timestamp:
- Jul 19, 2019, 2:16:01 PM (6 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 4eb43fa
- Parents:
- 1f1c102 (diff), 8ac3b0e (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/SynTree/Type.h
r1f1c102 rf53acdf8 144 144 145 145 Qualifiers & get_qualifiers() { return tq; } 146 bool get_const() { return tq.is_const; }147 bool get_volatile() { return tq.is_volatile; }148 bool get_restrict() { return tq.is_restrict; }149 bool get_lvalue() { return tq.is_lvalue; }150 bool get_mutex() { return tq.is_mutex; }151 bool get_atomic() { return tq.is_atomic; }146 bool get_const() const { return tq.is_const; } 147 bool get_volatile() const { return tq.is_volatile; } 148 bool get_restrict() const { return tq.is_restrict; } 149 bool get_lvalue() const { return tq.is_lvalue; } 150 bool get_mutex() const { return tq.is_mutex; } 151 bool get_atomic() const { return tq.is_atomic; } 152 152 void set_const( bool newValue ) { tq.is_const = newValue; } 153 153 void set_volatile( bool newValue ) { tq.is_volatile = newValue; } … … 184 184 virtual Type *clone() const = 0; 185 185 virtual void accept( Visitor & v ) = 0; 186 virtual void accept( Visitor & v ) const = 0; 186 187 virtual Type *acceptMutator( Mutator & m ) = 0; 187 188 virtual void print( std::ostream & os, Indenter indent = {} ) const; … … 201 202 virtual VoidType *clone() const override { return new VoidType( *this ); } 202 203 virtual void accept( Visitor & v ) override { v.visit( this ); } 204 virtual void accept( Visitor & v ) const override { v.visit( this ); } 203 205 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 204 206 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 259 261 virtual BasicType *clone() const override { return new BasicType( *this ); } 260 262 virtual void accept( Visitor & v ) override { v.visit( this ); } 263 virtual void accept( Visitor & v ) const override { v.visit( this ); } 261 264 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 262 265 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 294 297 virtual PointerType *clone() const override { return new PointerType( *this ); } 295 298 virtual void accept( Visitor & v ) override { v.visit( this ); } 299 virtual void accept( Visitor & v ) const override { v.visit( this ); } 296 300 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 297 301 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 325 329 virtual ArrayType *clone() const override { return new ArrayType( *this ); } 326 330 virtual void accept( Visitor & v ) override { v.visit( this ); } 331 virtual void accept( Visitor & v ) const override { v.visit( this ); } 327 332 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 328 333 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 340 345 virtual QualifiedType *clone() const override { return new QualifiedType( *this ); } 341 346 virtual void accept( Visitor & v ) override { v.visit( this ); } 347 virtual void accept( Visitor & v ) const override { v.visit( this ); } 342 348 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 343 349 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 366 372 virtual ReferenceType *clone() const override { return new ReferenceType( *this ); } 367 373 virtual void accept( Visitor & v ) override { v.visit( this ); } 374 virtual void accept( Visitor & v ) const override { v.visit( this ); } 368 375 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 369 376 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 395 402 virtual FunctionType *clone() const override { return new FunctionType( *this ); } 396 403 virtual void accept( Visitor & v ) override { v.visit( this ); } 404 virtual void accept( Visitor & v ) const override { v.visit( this ); } 397 405 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 398 406 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 455 463 virtual StructInstType *clone() const override { return new StructInstType( *this ); } 456 464 virtual void accept( Visitor & v ) override { v.visit( this ); } 465 virtual void accept( Visitor & v ) const override { v.visit( this ); } 457 466 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 458 467 … … 492 501 virtual UnionInstType *clone() const override { return new UnionInstType( *this ); } 493 502 virtual void accept( Visitor & v ) override { v.visit( this ); } 503 virtual void accept( Visitor & v ) const override { v.visit( this ); } 494 504 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 495 505 … … 519 529 virtual EnumInstType *clone() const override { return new EnumInstType( *this ); } 520 530 virtual void accept( Visitor & v ) override { v.visit( this ); } 531 virtual void accept( Visitor & v ) const override { v.visit( this ); } 521 532 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 522 533 … … 542 553 virtual TraitInstType *clone() const override { return new TraitInstType( *this ); } 543 554 virtual void accept( Visitor & v ) override { v.visit( this ); } 555 virtual void accept( Visitor & v ) const override { v.visit( this ); } 544 556 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 545 557 private: … … 569 581 virtual TypeInstType *clone() const override { return new TypeInstType( *this ); } 570 582 virtual void accept( Visitor & v ) override { v.visit( this ); } 583 virtual void accept( Visitor & v ) const override { v.visit( this ); } 571 584 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 572 585 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 606 619 virtual TupleType *clone() const override { return new TupleType( *this ); } 607 620 virtual void accept( Visitor & v ) override { v.visit( this ); } 621 virtual void accept( Visitor & v ) const override { v.visit( this ); } 608 622 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 609 623 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 616 630 617 631 TypeofType( const Type::Qualifiers & tq, Expression *expr, const std::list< Attribute * > & attributes = std::list< Attribute * >() ); 618 TypeofType( const Type::Qualifiers & tq, Expression *expr, bool is_basetypeof, 632 TypeofType( const Type::Qualifiers & tq, Expression *expr, bool is_basetypeof, 619 633 const std::list< Attribute * > & attributes = std::list< Attribute * >() ); 620 634 TypeofType( const TypeofType& ); … … 628 642 virtual TypeofType *clone() const override { return new TypeofType( *this ); } 629 643 virtual void accept( Visitor & v ) override { v.visit( this ); } 644 virtual void accept( Visitor & v ) const override { v.visit( this ); } 630 645 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 631 646 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 657 672 virtual AttrType *clone() const override { return new AttrType( *this ); } 658 673 virtual void accept( Visitor & v ) override { v.visit( this ); } 674 virtual void accept( Visitor & v ) const override { v.visit( this ); } 659 675 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 660 676 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 671 687 virtual VarArgsType *clone() const override { return new VarArgsType( *this ); } 672 688 virtual void accept( Visitor & v ) override { v.visit( this ); } 689 virtual void accept( Visitor & v ) const override { v.visit( this ); } 673 690 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 674 691 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 683 700 virtual ZeroType *clone() const override { return new ZeroType( *this ); } 684 701 virtual void accept( Visitor & v ) override { v.visit( this ); } 702 virtual void accept( Visitor & v ) const override { v.visit( this ); } 685 703 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 686 704 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 695 713 virtual OneType *clone() const override { return new OneType( *this ); } 696 714 virtual void accept( Visitor & v ) override { v.visit( this ); } 715 virtual void accept( Visitor & v ) const override { v.visit( this ); } 697 716 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 698 717 virtual void print( std::ostream & os, Indenter indent = {} ) const override; … … 705 724 virtual GlobalScopeType *clone() const override { return new GlobalScopeType( *this ); } 706 725 virtual void accept( Visitor & v ) override { v.visit( this ); } 726 virtual void accept( Visitor & v ) const override { v.visit( this ); } 707 727 virtual Type *acceptMutator( Mutator & m ) override { return m.mutate( this ); } 708 728 virtual void print( std::ostream & os, Indenter indent = {} ) const override;
Note:
See TracChangeset
for help on using the changeset viewer.