Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/SymTab/Mangler.cpp

    r119889f rc92bdcc  
    5858        void postvisit( const ast::OneType * oneType );
    5959        void postvisit( const ast::QualifiedType * qualType );
     60        void postvisit( const ast::EnumAttrType * posType );
    6061
    6162        /// The result is the current constructed mangled name.
     
    279280}
    280281
     282void Mangler::postvisit( const ast::EnumAttrType * enumAttr ) {
     283        postvisit( enumAttr->instance );
     284        // mangleName += "_pos";
     285        switch ( enumAttr->attr )
     286        {
     287                case ast::EnumAttribute::Label:
     288                        mangleName += "_label_";
     289                        break;
     290                case ast::EnumAttribute::Posn:
     291                        mangleName += "_posn_";
     292                        break;
     293                case ast::EnumAttribute::Value:
     294                        mangleName += "_value_";
     295                        break;
     296        }
     297
     298}
     299
    281300// For debugging:
    282301__attribute__((unused)) void printVarMap( const std::map< std::string, std::pair< int, int > > &varMap, std::ostream &os ) {
     
    290309        if ( typeMode ) return;
    291310        auto funcType = dynamic_cast<const ast::FunctionType *>( type );
    292         if ( funcType && (!funcType->forall.empty() || !funcType->assertions.empty()) ) {
     311        if ( funcType && !funcType->forall.empty() ) {
    293312                std::list< std::string > assertionNames;
    294313                int dcount = 0, fcount = 0, vcount = 0, acount = 0;
Note: See TracChangeset for help on using the changeset viewer.