summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/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/slice2java/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/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 9142e4b6e05..4289a6ae5a9 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -3185,6 +3185,23 @@ Slice::Gen::HolderVisitor::visitStructStart(const StructPtr& p)
void
Slice::Gen::HolderVisitor::visitSequence(const SequencePtr& p)
{
+ BuiltinPtr builtin = BuiltinPtr::dynamicCast(p->type());
+ if(builtin && builtin->kind() == Builtin::KindByte)
+ {
+ string prefix = "java:serializable:";
+ string meta;
+ if(p->findMetaData(prefix, meta))
+ {
+ return; // No holders for serializable types.
+ }
+ prefix = "java:protobuf:";
+ if(p->findMetaData(prefix, meta))
+ {
+ return; // No holders for protobuf types.
+
+ }
+ }
+
writeHolder(p);
}