diff options
Diffstat (limited to 'cpp/src')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index 6066e1d41b0..bc824ff94a6 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -2529,6 +2529,13 @@ Slice::Gen::HelperVisitor::visitDictionary(const DictionaryPtr& p) // out << nl << "public static void" << nl << "ice_marshal(String __name, Ice.Stream __os, java.util.Map __v)"; out << sb; + out << nl << "if(__v == null)"; + out << sb; + out << nl << "__os.startWriteDictionary(__name, 0);"; + out << nl << "__os.endWriteDictionary();"; + out << eb; + out << nl << "else"; + out << sb; out << nl << "__os.startWriteDictionary(__name, __v.size());"; out << nl << "java.util.Iterator __i = __v.entrySet().iterator();"; out << nl << "while(__i.hasNext())"; @@ -2619,6 +2626,7 @@ Slice::Gen::HelperVisitor::visitDictionary(const DictionaryPtr& p) out << eb; out << nl << "__os.endWriteDictionary();"; out << eb; + out << eb; // // ice_unmarshal |