summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/slice2cs/Gen.cpp2
-rw-r--r--cpp/src/slice2java/Gen.cpp4
2 files changed, 3 insertions, 3 deletions
diff --git a/cpp/src/slice2cs/Gen.cpp b/cpp/src/slice2cs/Gen.cpp
index be1cc03ffb5..32cd083c7c1 100644
--- a/cpp/src/slice2cs/Gen.cpp
+++ b/cpp/src/slice2cs/Gen.cpp
@@ -1400,7 +1400,7 @@ Slice::Gen::TypesVisitor::visitClassDefStart(const ClassDefPtr& p)
else
{
_out << nl << "public ";
- if(p->isAbstract())
+ if(p->allOperations().size() > 0) // Don't use isAbstract() here - see bug 3739
{
_out << "abstract ";
}
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";