| 35 | } |
| 36 | |
| 37 | bool BasicStructureAnnotation::hasStringData(das_set<void *> & dep) const { |
| 38 | for ( auto & it : fields ) { |
| 39 | auto & sfield = it.second; |
| 40 | if ( sfield.decl ) { |
| 41 | if ( sfield.decl->isString() ) return true; |
| 42 | if ( sfield.decl->hasStringData(dep) ) return true; |
| 43 | } |
| 44 | } |
| 45 | return false; |
| 46 | } |
| 47 | |
| 48 | |
| 49 | bool BasicStructureAnnotation::canSubstitute(TypeAnnotation * ann) const { |