diff options
Diffstat (limited to 'cpp/src/Slice/CsUtil.cpp')
-rwxr-xr-x | cpp/src/Slice/CsUtil.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/cpp/src/Slice/CsUtil.cpp b/cpp/src/Slice/CsUtil.cpp index ad73b92ba51..d6fd145a346 100755 --- a/cpp/src/Slice/CsUtil.cpp +++ b/cpp/src/Slice/CsUtil.cpp @@ -204,6 +204,11 @@ Slice::CsGenerator::isValueType(const TypePtr& type) } } } + StructPtr s = StructPtr::dynamicCast(type); + if(s) + { + return !s->hasMetaData("cs:class"); + } if(EnumPtr::dynamicCast(type)) { return true; @@ -873,6 +878,13 @@ Slice::CsGenerator::MetaDataVisitor::validate(const ContainedPtr& cont) continue; } } + if(StructPtr::dynamicCast(cont)) + { + if(s.substr(prefix.size()) == "class") + { + continue; + } + } cout << file << ": warning: ignoring invalid metadata `" << s << "'" << endl; } _history.insert(s); |