Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Init.hpp

    r6d51bd7 re0115286  
    3737        : ParseNode( loc ), designators( std::move(ds) ) {}
    3838
    39         virtual const Designation* accept( Visitor& v ) const override { return v.visit( this ); }
     39        Designation* accept( Visitor& v ) override { return v.visit( this ); }
    4040private:
    41         virtual Designation* clone() const override { return new Designation{ *this }; }
     41        Designation* clone() const override { return new Designation{ *this }; }
    4242};
    4343
     
    4949        Init( const CodeLocation& loc, bool mc ) : ParseNode( loc ), maybeConstructed( mc ) {}
    5050
    51         virtual const Init * accept( Visitor& v ) const override = 0;
     51        virtual Init* accept( Visitor& v ) override = 0;
    5252private:
    53         virtual const Init * clone() const override = 0;
     53        virtual Init* clone() const override = 0;
    5454};
    5555
     
    6363        : Init( loc, mc ), value( val ) {}
    6464
    65         virtual const Init * accept( Visitor & v ) const override { return v.visit( this ); }
     65        Init* accept( Visitor& v ) override { return v.visit( this ); }
    6666private:
    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);
     67        SingleInit* clone() const override { return new SingleInit{ *this }; }
    7268};
    7369
     
    9187        const_iterator end() const { return initializers.end(); }
    9288
    93         virtual const Init * accept( Visitor & v ) const override { return v.visit( this ); }
     89        Init* accept( Visitor& v ) override { return v.visit( this ); }
    9490private:
    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);
     91        ListInit* clone() const override { return new ListInit{ *this }; }
    10092};
    10193
     
    114106        : Init( loc, true ), ctor( ctor ), dtor( dtor ), init( init ) {}
    115107
    116         virtual const Init * accept( Visitor & v ) const override { return v.visit( this ); }
     108        Init* accept( Visitor& v ) override { return v.visit( this ); }
    117109private:
    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);
     110        ConstructorInit* clone() const override { return new ConstructorInit{ *this }; }
    123111};
    124112
Note: See TracChangeset for help on using the changeset viewer.