summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/CsUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/CsUtil.cpp')
-rwxr-xr-xcpp/src/Slice/CsUtil.cpp12
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);