summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/Parser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r--cpp/src/Slice/Parser.cpp76
1 files changed, 76 insertions, 0 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp
index 869b9ba115f..f04292a71d5 100644
--- a/cpp/src/Slice/Parser.cpp
+++ b/cpp/src/Slice/Parser.cpp
@@ -84,6 +84,70 @@ Slice::Builtin::isLocal() const
return _kind == KindLocalObject;
}
+string
+Slice::Builtin::typeId() const
+{
+ switch(_kind)
+ {
+ case KindByte:
+ {
+ return "::Ice::Byte";
+ break;
+ }
+ case KindBool:
+ {
+ return "::Ice::Bool";
+ break;
+ }
+ case KindShort:
+ {
+ return "::Ice::Short";
+ break;
+ }
+ case KindInt:
+ {
+ return "::Ice::Int";
+ break;
+ }
+ case KindLong:
+ {
+ return "::Ice::Long";
+ break;
+ }
+ case KindFloat:
+ {
+ return "::Ice::Float";
+ break;
+ }
+ case KindDouble:
+ {
+ return "::Ice::Double";
+ break;
+ }
+ case KindString:
+ {
+ return "::Ice::String";
+ break;
+ }
+ case KindObject:
+ {
+ return "::Ice::Object";
+ break;
+ }
+ case KindObjectProxy:
+ {
+ return "::Ice::Object*";
+ break;
+ }
+ case KindLocalObject:
+ {
+ return "::Ice::LocalObject";
+ break;
+ }
+ }
+ assert(false);
+}
+
bool
Slice::Builtin::usesClasses() const
{
@@ -1612,6 +1676,12 @@ Slice::Constructed::isLocal() const
return _local;
}
+string
+Slice::Constructed::typeId() const
+{
+ return scoped();
+}
+
ConstructedList
Slice::Constructed::dependencies()
{
@@ -2395,6 +2465,12 @@ Slice::Proxy::isLocal() const
return __class->isLocal();
}
+string
+Slice::Proxy::typeId() const
+{
+ return __class->scoped();
+}
+
bool
Slice::Proxy::usesClasses() const
{