summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp')
-rwxr-xr-xcpp/src/slice2cs/Gen.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp
index 1a7769c26ee..6eb86ff80ce 100755
--- a/cpp/src/slice2cs/Gen.cpp
+++ b/cpp/src/slice2cs/Gen.cpp
@@ -2819,15 +2819,25 @@ Slice::Gen::TypesVisitor::visitDictionary(const DictionaryPtr& p)
_out << sb;
if(!valueIsValue)
{
- _out << nl << "if(vlhs__[i] == null && vrhs__[i] != null)";
+ _out << nl << "if(vlhs__[i] == null)";
+ _out << sb;
+ _out << nl << "if(vrhs__[i] != null)";
+ _out << sb;
+ _out << nl << "return false;";
+ _out << eb;
+ _out << eb;
+ _out << nl << "else if(!vlhs__[i].Equals(vrhs__[i]))";
+ _out << sb;
+ _out << nl << "return false;";
+ _out << eb;
+ }
+ else
+ {
+ _out << nl << "if(!vlhs__[i].Equals(vrhs__[i]))";
_out << sb;
_out << nl << "return false;";
_out << eb;
}
- _out << nl << "if(!vlhs__[i].Equals(vrhs__[i]))";
- _out << sb;
- _out << nl << "return false;";
- _out << eb;
_out << eb;
_out << nl << "return true;";
_out << eb;