Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/AST/Decl.cpp

    r85855b0 rc92bdcc  
    170170
    171171const std::string EnumDecl::getUnmangeldArrayName( const ast::EnumAttribute attr ) const {
    172         switch( attr ) {
    173                 case ast::EnumAttribute::Value: return "values_" + name ;
    174                 case ast::EnumAttribute::Label: return "labels_" + name;
    175                 default: /* Posn does not generate array */
    176                         return "";
     172                switch( attr ) {
     173                        case ast::EnumAttribute::Value: return "values_" + name ;
     174                        case ast::EnumAttribute::Label: return "labels_" + name;
     175                        default: /* Posn does not generate array */
     176                                return "";
     177                }
    177178        }
    178 }
    179 
    180 unsigned EnumDecl::calChildOffset(const std::string & target) const{
    181         unsigned offset = 0;
    182         for (auto childEnum: inlinedDecl) {
    183                 auto childDecl = childEnum->base;
    184                 if (childDecl->name == target) {
    185                         return offset;
    186                 }
    187                 offset += childDecl->members.size();
    188         }
    189     std::cerr << "Cannot find the target enum" << std::endl;
    190         return 0;
    191 }
    192 
    193 unsigned EnumDecl::calChildOffset(const ast::EnumInstType * target) const{
    194         return calChildOffset(target->base->name);
    195 }
    196 
    197 bool EnumDecl::isSubTypeOf(const ast::EnumDecl * other) const {
    198         if (name == other->name) return true;
    199         for (auto inlined: other->inlinedDecl) {
    200                 if (isSubTypeOf(inlined->base)) return true;
    201         }
    202         return false;
    203 }
    204179
    205180}
Note: See TracChangeset for help on using the changeset viewer.