Changes in src/AST/Decl.hpp [19a8c40:77de429]
- File:
-
- 1 edited
-
src/AST/Decl.hpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Decl.hpp
r19a8c40 r77de429 105 105 ptr<Init> init; 106 106 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 107 110 108 111 ObjectDecl( const CodeLocation & loc, const std::string & name, const Type * type, … … 397 400 }; 398 401 399 /// Static Assertion `_Static_assert( ... , ... );`400 402 class StaticAssertDecl : public Decl { 401 403 public: … … 409 411 private: 410 412 StaticAssertDecl * clone() const override { return new StaticAssertDecl( *this ); } 411 MUTATE_FRIEND412 };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 }; }430 413 MUTATE_FRIEND 431 414 };
Note:
See TracChangeset
for help on using the changeset viewer.