summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cs/Gen.cpp
diff options
context:
space:
mode:
authorMichi Henning <michi@zeroc.com>2009-02-11 16:02:22 +1000
committerMichi Henning <michi@zeroc.com>2009-02-11 16:02:22 +1000
commit69b75f3ccde03365be46980e1871607ae7dfc494 (patch)
treeebd8e9cb46453b2c07100a120d7f6dcbfa7c29a3 /cpp/src/slice2cs/Gen.cpp
parentBug 3717: Bizarre magic numbery code in cs/demo/Ice/latency. (diff)
parentbug 3021 - replace StringBuffer with StringBuilder (diff)
downloadice-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.cpp23
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)
{
//