summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java/Gen.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2009-04-07 06:53:20 -0700
committerMark Spruiell <mes@zeroc.com>2009-04-07 06:53:20 -0700
commitfac917f09ae874e396086788f99178a5fa37c9c5 (patch)
treeae5df4a5f4d23d2769015025166ea358cddce0a1 /cpp/src/slice2java/Gen.cpp
parentfixing C# compile errors in IceSSL (diff)
downloadice-fac917f09ae874e396086788f99178a5fa37c9c5.tar.bz2
ice-fac917f09ae874e396086788f99178a5fa37c9c5.tar.xz
ice-fac917f09ae874e396086788f99178a5fa37c9c5.zip
bug 3739 - generate concrete Java/C# class for Slice class that inherits no operations from interface
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r--cpp/src/slice2java/Gen.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp
index 539d55c6430..ac85db84704 100644
--- a/cpp/src/slice2java/Gen.cpp
+++ b/cpp/src/slice2java/Gen.cpp
@@ -1732,7 +1732,7 @@ Slice::Gen::TypesVisitor::visitClassDefStart(const ClassDefPtr& p)
else
{
out << sp << nl << "public ";
- if(p->isAbstract())
+ if(p->allOperations().size() > 0) // Don't use isAbstract() - see bug 3739
{
out << "abstract ";
}
@@ -1858,7 +1858,7 @@ Slice::Gen::TypesVisitor::visitClassDefStart(const ClassDefPtr& p)
//
// Default factory for non-abstract classes.
//
- if(!p->isAbstract() && !p->isLocal())
+ if(!p->isInterface() && p->allOperations().size() == 0 && !p->isLocal())
{
out << sp;
out << nl << "private static class __F implements Ice.ObjectFactory";