diff options
Diffstat (limited to 'cpp/src/Slice/JavaUtil.cpp')
-rw-r--r-- | cpp/src/Slice/JavaUtil.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/cpp/src/Slice/JavaUtil.cpp b/cpp/src/Slice/JavaUtil.cpp index ed2f558d838..06e1dc9f331 100644 --- a/cpp/src/Slice/JavaUtil.cpp +++ b/cpp/src/Slice/JavaUtil.cpp @@ -462,13 +462,28 @@ Slice::JavaGenerator::typeToString(const TypePtr& type, SequencePtr seq = SequencePtr::dynamicCast(type); if(seq) { + string listType = findMetaData(metaData); if(mode == TypeModeOut) { - return getAbsolute(seq, package, "", "Holder"); + if(listType.empty()) + { + return getAbsolute(seq, package, "", "Holder"); + } + else if(listType == "java.util.ArrayList") + { + return "Ice.ArrayListHolder"; + } + else if(listType == "java.util.LinkedList") + { + return "Ice.LinkedListHolder"; + } + else + { + return "Ice.ListHolder"; + } } else { - string listType = findMetaData(metaData); if(listType.empty()) { StringList l = seq->getMetaData(); |