Ignore:
Timestamp:
Aug 14, 2017, 2:07:34 PM (4 years ago)
Author:
Rob Schluntz <rschlunt@…>
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, demangler, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, resolv-new, with_gc
Children:
6cfe8bb
Parents:
36a5a77 (diff), bd46af4 (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' into references

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SynTree/Declaration.h

    r36a5a77 r8217e8f  
    1010// Created On       : Mon May 18 07:44:20 2015
    1111// Last Modified By : Andrew Beach
    12 // Last Modified On : Wed Aug  9 14:45:00 2017
    13 // Update Count     : 126
     12// Last Modified On : Mon Aug 14 10:15:00 2017
     13// Update Count     : 128
    1414//
    1515
     
    269269        typedef AggregateDecl Parent;
    270270  public:
    271         StructDecl( const std::string &name, DeclarationNode::Aggregate kind = DeclarationNode::Struct, const std::list< Attribute * > & attributes = std::list< class Attribute * >(), LinkageSpec::Spec linkage = LinkageSpec::Cforall ) : Parent( name, attributes, linkage ), kind( kind ), tagged( false ), parent_name( "" ) {}
    272         StructDecl( const std::string &name, const std::string *parent, const std::list< Attribute * > & attributes = std::list< class Attribute * >(), LinkageSpec::Spec linkage = LinkageSpec::Cforall ) : Parent( name, attributes, linkage ), kind( DeclarationNode::Struct ), tagged( true ), parent_name( parent ? *parent : "" ) {}
    273         StructDecl( const StructDecl &other ) : Parent( other ) {}
     271        StructDecl( const std::string &name, DeclarationNode::Aggregate kind = DeclarationNode::Struct, const std::list< Attribute * > & attributes = std::list< class Attribute * >(), LinkageSpec::Spec linkage = LinkageSpec::Cforall ) : Parent( name, attributes, linkage ), kind( kind ) {}
     272        StructDecl( const StructDecl &other ) : Parent( other ), kind( other.kind ) {}
    274273
    275274        bool is_coroutine() { return kind == DeclarationNode::Coroutine; }
     
    277276        bool is_thread() { return kind == DeclarationNode::Thread; }
    278277
    279         // Tagged/Tree Structure Excetion
    280         bool get_tagged() { return tagged; }
    281         void set_tagged( bool newValue ) { tagged = newValue; }
    282         bool has_parent() { return parent_name != ""; }
    283         std::string get_parentName() { return parent_name; }
    284 
    285278        virtual StructDecl *clone() const { return new StructDecl( *this ); }
    286279        virtual void accept( Visitor &v ) { v.visit( this ); }
     
    289282        DeclarationNode::Aggregate kind;
    290283        virtual std::string typeString() const;
    291 
    292         bool tagged;
    293         std::string parent_name;
    294284};
    295285
     
    323313        typedef AggregateDecl Parent;
    324314  public:
    325         TraitDecl( const std::string &name, const std::list< Attribute * > & attributes ) : Parent( name ) {
     315        TraitDecl( const std::string &name, const std::list< Attribute * > & attributes, LinkageSpec::Spec linkage ) : Parent( name, attributes, linkage ) {
    326316                assertf( attributes.empty(), "attribute unsupported for traits" );
    327317        }
Note: See TracChangeset for help on using the changeset viewer.