Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Decl.hpp

    r19a8c40 r77de429  
    105105        ptr<Init> init;
    106106        ptr<Expr> bitfieldWidth;
     107        bool enumInLine = false; // enum inline is not a real object declaration.
     108        // It is a place holder for a set of enum value (ObjectDecl)
     109        bool importValue = false; // if the value copied from somewhere else
    107110
    108111        ObjectDecl( const CodeLocation & loc, const std::string & name, const Type * type,
     
    397400};
    398401
    399 /// Static Assertion `_Static_assert( ... , ... );`
    400402class StaticAssertDecl : public Decl {
    401403public:
     
    409411private:
    410412        StaticAssertDecl * clone() const override { return new StaticAssertDecl( *this ); }
    411         MUTATE_FRIEND
    412 };
    413 
    414 /// Inline Member Declaration `inline TypeName;`
    415 class InlineMemberDecl final : public DeclWithType {
    416 public:
    417         ptr<Type> type;
    418 
    419         InlineMemberDecl( const CodeLocation & loc, const std::string & name, const Type * type,
    420                 Storage::Classes storage = {}, Linkage::Spec linkage = Linkage::Cforall,
    421                 std::vector< ptr<Attribute> > && attrs = {}, Function::Specs fs = {} )
    422         : DeclWithType( loc, name, storage, linkage, std::move(attrs), fs ), type( type ) {}
    423 
    424         const Type * get_type() const override { return type; }
    425         void set_type( const Type * ty ) override { type = ty; }
    426 
    427         const DeclWithType * accept( Visitor& v ) const override { return v.visit( this ); }
    428 private:
    429         InlineMemberDecl * clone() const override { return new InlineMemberDecl{ *this }; }
    430413        MUTATE_FRIEND
    431414};
Note: See TracChangeset for help on using the changeset viewer.