Ignore:
Timestamp:
Jul 27, 2017, 2:56:39 PM (7 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
Children:
874960b
Parents:
4d4e5de (diff), a04ce4d (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.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Expression.h

    r4d4e5de rfcd17b2f  
    99// Author           : Richard C. Bilson
    1010// Created On       : Mon May 18 07:44:20 2015
    11 // Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sat Jul 22 09:53:16 2017
    13 // Update Count     : 42
     11// Last Modified By : Andrew Beach
     12// Last Modified On : Mon Jul 24 16:27:00 2017
     13// Update Count     : 43
    1414//
    1515
     
    7979class ApplicationExpr : public Expression {
    8080  public:
    81         ApplicationExpr( Expression * function );
     81        ApplicationExpr( Expression * function, const std::list<Expression *> & args = std::list< Expression * >() );
    8282        ApplicationExpr( const ApplicationExpr & other );
    8383        virtual ~ApplicationExpr();
     
    194194
    195195        Expression * get_arg() const { return arg; }
    196         void set_arg(Expression * newValue ) { arg = newValue; }
     196        void set_arg( Expression * newValue ) { arg = newValue; }
    197197
    198198        virtual CastExpr * clone() const { return new CastExpr( * this ); }
     199        virtual void accept( Visitor & v ) { v.visit( this ); }
     200        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
     201        virtual void print( std::ostream & os, int indent = 0 ) const;
     202  private:
     203        Expression * arg;
     204};
     205
     206/// VirtualCastExpr repersents a virtual dynamic cast, e.g. (virtual exception)e
     207class VirtualCastExpr : public Expression {
     208  public:
     209        VirtualCastExpr( Expression * arg, Type * toType );
     210        VirtualCastExpr( const VirtualCastExpr & other );
     211        virtual ~VirtualCastExpr();
     212
     213        Expression * get_arg() const { return arg; }
     214        void set_arg( Expression * newValue ) { arg = newValue; }
     215
     216        virtual VirtualCastExpr * clone() const { return new VirtualCastExpr( * this ); }
    199217        virtual void accept( Visitor & v ) { v.visit( this ); }
    200218        virtual Expression * acceptMutator( Mutator & m ) { return m.mutate( this ); }
Note: See TracChangeset for help on using the changeset viewer.