Changes in src/AST/Decl.cpp [85855b0:c92bdcc]
- File:
-
- 1 edited
-
src/AST/Decl.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/AST/Decl.cpp
r85855b0 rc92bdcc 170 170 171 171 const 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 } 177 178 } 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 }204 179 205 180 }
Note:
See TracChangeset
for help on using the changeset viewer.