Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Expr.hpp

    r312029a re67991f  
    99// Author           : Aaron B. Moss
    1010// Created On       : Fri May 10 10:30:00 2019
    11 // Last Modified By : Peter A. Buhr
     11// Last Modified By : Aaron B. Moss
    1212// Created On       : Fri May 10 10:30:00 2019
    13 // Update Count     : 7
     13// Update Count     : 1
    1414//
    1515
     
    2626#include "Fwd.hpp"        // for UniqueId
    2727#include "Label.hpp"
    28 #include "Decl.hpp"
    2928#include "ParseNode.hpp"
    3029#include "Visitor.hpp"
     
    301300public:
    302301        ptr<Expr> arg;
    303         ast::AggregateDecl::Aggregate target;
    304 
    305         KeywordCastExpr( const CodeLocation & loc, const Expr * a, ast::AggregateDecl::Aggregate t )
     302        enum Target { Coroutine, Thread, Monitor, NUMBER_OF_TARGETS } target;
     303
     304        KeywordCastExpr( const CodeLocation & loc, const Expr * a, Target t )
    306305        : Expr( loc ), arg( a ), target( t ) {}
    307306
    308307        /// Get a name for the target type
    309         const char * targetString() const;
     308        const std::string& targetString() const;
    310309
    311310        const Expr * accept( Visitor & v ) const override { return v.visit( this ); }
     
    557556class AsmExpr final : public Expr {
    558557public:
    559         std::string inout;
     558        ptr<Expr> inout;
    560559        ptr<Expr> constraint;
    561560        ptr<Expr> operand;
    562561
    563         AsmExpr( const CodeLocation & loc, const std::string & io, const Expr * con, const Expr * op )
     562        AsmExpr( const CodeLocation & loc, const Expr * io, const Expr * con, const Expr * op )
    564563        : Expr( loc ), inout( io ), constraint( con ), operand( op ) {}
    565564
Note: See TracChangeset for help on using the changeset viewer.