Changes in src/AST/Init.hpp [e0115286:6d51bd7]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Init.hpp
re0115286 r6d51bd7 37 37 : ParseNode( loc ), designators( std::move(ds) ) {} 38 38 39 Designation* accept( Visitor& v )override { return v.visit( this ); }39 virtual const Designation* accept( Visitor& v ) const override { return v.visit( this ); } 40 40 private: 41 Designation* clone() const override { return new Designation{ *this }; }41 virtual Designation* clone() const override { return new Designation{ *this }; } 42 42 }; 43 43 … … 49 49 Init( const CodeLocation& loc, bool mc ) : ParseNode( loc ), maybeConstructed( mc ) {} 50 50 51 virtual Init* accept( Visitor& v )override = 0;51 virtual const Init * accept( Visitor& v ) const override = 0; 52 52 private: 53 virtual Init* clone() const override = 0;53 virtual const Init * clone() const override = 0; 54 54 }; 55 55 … … 63 63 : Init( loc, mc ), value( val ) {} 64 64 65 Init* accept( Visitor& v )override { return v.visit( this ); }65 virtual const Init * accept( Visitor & v ) const override { return v.visit( this ); } 66 66 private: 67 SingleInit* clone() const override { return new SingleInit{ *this }; } 67 virtual SingleInit * clone() const override { return new SingleInit{ *this }; } 68 69 /// Must be copied in ALL derived classes 70 template<typename node_t> 71 friend auto mutate(const node_t * node); 68 72 }; 69 73 … … 87 91 const_iterator end() const { return initializers.end(); } 88 92 89 Init* accept( Visitor& v )override { return v.visit( this ); }93 virtual const Init * accept( Visitor & v ) const override { return v.visit( this ); } 90 94 private: 91 ListInit* clone() const override { return new ListInit{ *this }; } 95 virtual ListInit * clone() const override { return new ListInit{ *this }; } 96 97 /// Must be copied in ALL derived classes 98 template<typename node_t> 99 friend auto mutate(const node_t * node); 92 100 }; 93 101 … … 106 114 : Init( loc, true ), ctor( ctor ), dtor( dtor ), init( init ) {} 107 115 108 Init* accept( Visitor& v )override { return v.visit( this ); }116 virtual const Init * accept( Visitor & v ) const override { return v.visit( this ); } 109 117 private: 110 ConstructorInit* clone() const override { return new ConstructorInit{ *this }; } 118 virtual ConstructorInit * clone() const override { return new ConstructorInit{ *this }; } 119 120 /// Must be copied in ALL derived classes 121 template<typename node_t> 122 friend auto mutate(const node_t * node); 111 123 }; 112 124
Note: See TracChangeset
for help on using the changeset viewer.