Changeset 63be3387 for src/AST/Decl.hpp
- Timestamp:
- Nov 14, 2022, 11:52:44 AM (3 years ago)
- Branches:
- ADT, ast-experimental, master
- Children:
- 7d9598d8
- Parents:
- b77f0e1 (diff), 19a8c40 (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. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Decl.hpp
rb77f0e1 r63be3387 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 else110 107 111 108 ObjectDecl( const CodeLocation & loc, const std::string & name, const Type * type, … … 400 397 }; 401 398 399 /// Static Assertion `_Static_assert( ... , ... );` 402 400 class StaticAssertDecl : public Decl { 403 401 public: … … 411 409 private: 412 410 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 }; } 413 430 MUTATE_FRIEND 414 431 };
Note:
See TracChangeset
for help on using the changeset viewer.