Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Decl.hpp

    r44547b0 re4d7c1c  
    315315        // enum (type_optional) Name {...}
    316316        ptr<Type> base; // if isTyped == true && base.get() == nullptr, it is a "void" type enum
    317 
    318         EnumDecl( const CodeLocation& loc, const std::string& name, bool isTyped = false,
     317        enum class EnumHiding { Visible, Hide } hide;
     318
     319        EnumDecl( const CodeLocation& loc, const std::string& name, bool isTyped = false,
    319320                std::vector<ptr<Attribute>>&& attrs = {}, Linkage::Spec linkage = Linkage::Cforall,
    320                 Type const * base = nullptr,
     321                Type const * base = nullptr, EnumHiding hide = EnumHiding::Hide,
    321322                std::unordered_map< std::string, long long > enumValues = std::unordered_map< std::string, long long >() )
    322         : AggregateDecl( loc, name, std::move(attrs), linkage ), isTyped(isTyped), base(base), enumValues(enumValues) {}
     323        : AggregateDecl( loc, name, std::move(attrs), linkage ), isTyped(isTyped), base(base), hide(hide), enumValues(enumValues) {}
    323324
    324325        /// gets the integer value for this enumerator, returning true iff value found
     
    411412};
    412413
    413 class InlineValueDecl final : public DeclWithType {
     414class InlineMemberDecl final : public DeclWithType {
    414415public:
    415416        ptr<Type> type;
    416417
    417         InlineValueDecl( const CodeLocation & loc, const std::string & name, const Type * type,
     418        InlineMemberDecl( const CodeLocation & loc, const std::string & name, const Type * type,
    418419                Storage::Classes storage = {}, Linkage::Spec linkage = Linkage::Cforall,
    419420                std::vector< ptr<Attribute> > && attrs = {}, Function::Specs fs = {} )
     
    425426        const DeclWithType * accept( Visitor& v ) const override { return v.visit( this ); }
    426427private:
    427         InlineValueDecl * clone() const override { return new InlineValueDecl{ *this }; }
     428        InlineMemberDecl * clone() const override { return new InlineMemberDecl{ *this }; }
    428429        MUTATE_FRIEND
    429430};
Note: See TracChangeset for help on using the changeset viewer.