summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/JavaUtil.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Slice/JavaUtil.cpp')
-rw-r--r--cpp/src/Slice/JavaUtil.cpp39
1 files changed, 25 insertions, 14 deletions
diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp
index ff3953444bc..dd35e40abb0 100644
--- a/cpp/src/Slice/JavaUtil.cpp
+++ b/cpp/src/Slice/JavaUtil.cpp
@@ -573,7 +573,7 @@ Slice::JavaGenerator::getStaticId(const TypePtr& type, const string& package) co
BuiltinPtr b = BuiltinPtr::dynamicCast(type);
ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- assert((b && b->kind() == Builtin::KindObject) || cl);
+ assert((b && (b->kind() == Builtin::KindObject || b->kind() == Builtin::KindValue)) || cl);
if(b)
{
@@ -711,7 +711,8 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
"String",
"Ice.Object",
"Ice.ObjectPrx",
- "java.lang.Object"
+ "java.lang.Object",
+ "Ice.Object" // Ice.Value
};
static const char* builtinHolderTable[] =
{
@@ -725,7 +726,8 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
"Ice.StringHolder",
"Ice.ObjectHolder",
"Ice.ObjectPrxHolder",
- "Ice.LocalObjectHolder"
+ "Ice.LocalObjectHolder",
+ "Ice.ObjectHolder" // Ice.ValueHolder
};
static const char* builtinOptionalTable[] =
{
@@ -739,6 +741,7 @@ Slice::JavaGenerator::typeToString(const TypePtr& type,
"???",
"???",
"???",
+ "???",
"???"
};
@@ -909,7 +912,8 @@ Slice::JavaGenerator::typeToObjectString(const TypePtr& type,
"java.lang.String",
"Ice.Object",
"Ice.ObjectPrx",
- "java.lang.Object"
+ "java.lang.Object",
+ "Ice.Object" // Ice.Value
};
BuiltinPtr builtin = BuiltinPtr::dynamicCast(type);
@@ -1636,7 +1640,8 @@ Slice::JavaGenerator::writeMarshalUnmarshalCode(Output& out,
BuiltinPtr elemBuiltin = BuiltinPtr::dynamicCast(elemType);
if(optionalParam && elemBuiltin && elemBuiltin->kind() != Builtin::KindObject &&
- elemBuiltin->kind() != Builtin::KindObjectProxy && !hasTypeMetaData(seq, metaData))
+ elemBuiltin->kind() != Builtin::KindObjectProxy && elemBuiltin->kind() != Builtin::KindValue &&
+ !hasTypeMetaData(seq, metaData))
{
static const char* builtinTable[] =
{
@@ -1979,7 +1984,7 @@ Slice::JavaGenerator::writeDictionaryMarshalUnmarshalCode(Output& out,
}
BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- if(ClassDeclPtr::dynamicCast(type) || (b && b->kind() == Builtin::KindObject))
+ if(ClassDeclPtr::dynamicCast(type) || (b && (b->kind() == Builtin::KindObject || b->kind() == Builtin::KindValue)))
{
string keyTypeStr = typeToObjectString(key, TypeModeIn, package);
string valueTypeStr = typeToObjectString(value, TypeModeIn, package);
@@ -2002,7 +2007,8 @@ Slice::JavaGenerator::writeDictionaryMarshalUnmarshalCode(Output& out,
}
}
BuiltinPtr builtin = BuiltinPtr::dynamicCast(value);
- if(!(builtin && builtin->kind() == Builtin::KindObject) && !ClassDeclPtr::dynamicCast(value))
+ if(!(builtin && (builtin->kind() == Builtin::KindObject || builtin->kind() == Builtin::KindValue)) &&
+ !ClassDeclPtr::dynamicCast(value))
{
out << nl << "" << v << ".put(__key, __value);";
}
@@ -2271,7 +2277,7 @@ Slice::JavaGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
{
bool isObject = false;
ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- if((b && b->kind() == Builtin::KindObject) || cl)
+ if((b && (b->kind() == Builtin::KindObject || b->kind() == Builtin::KindValue)) || cl)
{
isObject = true;
}
@@ -2336,7 +2342,9 @@ Slice::JavaGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
else
{
BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- if(b && b->kind() != Builtin::KindObject && b->kind() != Builtin::KindObjectProxy)
+ if(b && b->kind() != Builtin::KindObject &&
+ b->kind() != Builtin::KindValue &&
+ b->kind() != Builtin::KindObjectProxy)
{
switch(b->kind())
{
@@ -2471,7 +2479,7 @@ Slice::JavaGenerator::writeSequenceMarshalUnmarshalCode(Output& out,
{
bool isObject = false;
ClassDeclPtr cl = ClassDeclPtr::dynamicCast(origContent);
- if((b && b->kind() == Builtin::KindObject) || cl)
+ if((b && (b->kind() == Builtin::KindObject || b->kind() == Builtin::KindValue)) || cl)
{
isObject = true;
}
@@ -3193,7 +3201,8 @@ Slice::JavaGenerator::writeStreamDictionaryMarshalUnmarshalCode(Output& out,
}
}
BuiltinPtr builtin = BuiltinPtr::dynamicCast(value);
- if(!(builtin && builtin->kind() == Builtin::KindObject) && !ClassDeclPtr::dynamicCast(value))
+ if(!(builtin && (builtin->kind() == Builtin::KindObject || builtin->kind() == Builtin::KindValue)) &&
+ !ClassDeclPtr::dynamicCast(value))
{
out << nl << "" << v << ".put(__key, __value);";
}
@@ -3461,7 +3470,7 @@ Slice::JavaGenerator::writeStreamSequenceMarshalUnmarshalCode(Output& out,
{
bool isObject = false;
ClassDeclPtr cl = ClassDeclPtr::dynamicCast(type);
- if((b && b->kind() == Builtin::KindObject) || cl)
+ if((b && (b->kind() == Builtin::KindObject || b->kind() == Builtin::KindValue)) || cl)
{
isObject = true;
}
@@ -3526,7 +3535,9 @@ Slice::JavaGenerator::writeStreamSequenceMarshalUnmarshalCode(Output& out,
else
{
BuiltinPtr b = BuiltinPtr::dynamicCast(type);
- if(b && b->kind() != Builtin::KindObject && b->kind() != Builtin::KindObjectProxy)
+ if(b && b->kind() != Builtin::KindObject &&
+ b->kind() != Builtin::KindValue &&
+ b->kind() != Builtin::KindObjectProxy)
{
switch(b->kind())
{
@@ -3661,7 +3672,7 @@ Slice::JavaGenerator::writeStreamSequenceMarshalUnmarshalCode(Output& out,
{
bool isObject = false;
ClassDeclPtr cl = ClassDeclPtr::dynamicCast(origContent);
- if((b && b->kind() == Builtin::KindObject) || cl)
+ if((b && (b->kind() == Builtin::KindObject || b->kind() == Builtin::KindValue)) || cl)
{
isObject = true;
}