diff options
author | Michi Henning <michi@zeroc.com> | 2009-02-11 16:02:22 +1000 |
---|---|---|
committer | Michi Henning <michi@zeroc.com> | 2009-02-11 16:02:22 +1000 |
commit | 69b75f3ccde03365be46980e1871607ae7dfc494 (patch) | |
tree | ebd8e9cb46453b2c07100a120d7f6dcbfa7c29a3 /cpp/src/slice2cs/Gen.cpp | |
parent | Bug 3717: Bizarre magic numbery code in cs/demo/Ice/latency. (diff) | |
parent | bug 3021 - replace StringBuffer with StringBuilder (diff) | |
download | ice-69b75f3ccde03365be46980e1871607ae7dfc494.tar.bz2 ice-69b75f3ccde03365be46980e1871607ae7dfc494.tar.xz ice-69b75f3ccde03365be46980e1871607ae7dfc494.zip |
Merge branch 'R3_3_branch' of ssh://cvs.zeroc.com/home/git/ice into R3_3_branch
Diffstat (limited to 'cpp/src/slice2cs/Gen.cpp')
-rw-r--r-- | cpp/src/slice2cs/Gen.cpp | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp index 9a2a4ae2f08..a2420094869 100644 --- a/cpp/src/slice2cs/Gen.cpp +++ b/cpp/src/slice2cs/Gen.cpp @@ -1666,6 +1666,15 @@ Slice::Gen::TypesVisitor::visitSequence(const SequencePtr& p) return; } + // + // No need to generate anything for serializable sequences. + // + prefix = "clr:serializable:"; + if(p->findMetaData(prefix, meta)) + { + return; + } + string name = fixId(p->name()); string s = typeToString(p->type()); @@ -2732,9 +2741,10 @@ Slice::Gen::TypesVisitor::writeMemberHashCode(const DataMemberList& dataMembers, SequencePtr seq = SequencePtr::dynamicCast(memberType); if(seq) { - string genericType; - bool isGeneric = seq->findMetaData("clr:generic:", genericType); - bool isArray = !isGeneric && !seq->hasMetaData("clr:collection"); + string meta; + bool isSerializable = seq->findMetaData("clr:serializable", meta); + bool isGeneric = seq->findMetaData("clr:generic:", meta); + bool isArray = !isSerializable && !isGeneric && !seq->hasMetaData("clr:collection"); if(isArray) { // @@ -2811,9 +2821,10 @@ Slice::Gen::TypesVisitor::writeMemberEquals(const DataMemberList& dataMembers, i SequencePtr seq = SequencePtr::dynamicCast(memberType); if(seq) { - string genericType; - bool isGeneric = seq->findMetaData("clr:generic:", genericType); - bool isArray = !isGeneric && !seq->hasMetaData("clr:collection"); + string meta; + bool isSerializable = seq->findMetaData("clr:serializable:", meta); + bool isGeneric = seq->findMetaData("clr:generic:", meta); + bool isArray = !isSerializable && !isGeneric && !seq->hasMetaData("clr:collection"); if(isArray) { // |