summaryrefslogtreecommitdiff
path: root/cpp/src/Slice/RubyUtil.cpp
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2009-04-07 17:23:19 -0700
committerMark Spruiell <mes@zeroc.com>2009-04-07 17:23:19 -0700
commitb5e2c394907b6e5c69d2a2907aeae3a6ede59905 (patch)
tree52b51ec2d803153e6002a867ac064e6195e1a51c /cpp/src/Slice/RubyUtil.cpp
parentupdating CHANGES for bug 849 (diff)
downloadice-b5e2c394907b6e5c69d2a2907aeae3a6ede59905.tar.bz2
ice-b5e2c394907b6e5c69d2a2907aeae3a6ede59905.tar.xz
ice-b5e2c394907b6e5c69d2a2907aeae3a6ede59905.zip
bug 3739 - generate concrete Python/Ruby class for Slice class that inherits no operations from interface
Diffstat (limited to 'cpp/src/Slice/RubyUtil.cpp')
-rw-r--r--cpp/src/Slice/RubyUtil.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/cpp/src/Slice/RubyUtil.cpp b/cpp/src/Slice/RubyUtil.cpp
index 86869339cab..abbb02ddd0f 100644
--- a/cpp/src/Slice/RubyUtil.cpp
+++ b/cpp/src/Slice/RubyUtil.cpp
@@ -594,8 +594,8 @@ Slice::Ruby::CodeVisitor::visitClassDefStart(const ClassDefPtr& p)
_out << nl << "end";
_classHistory.insert(scoped); // Avoid redundant declarations.
- _out << sp << nl << "T_" << name << ".defineClass(" << name << ", "
- << (p->isAbstract() ? "true" : "false") << ", ";
+ bool isAbstract = p->isInterface() || p->allOperations().size() > 0; // Don't use isAbstract() here - see bug 3739
+ _out << sp << nl << "T_" << name << ".defineClass(" << name << ", " << (isAbstract ? "true" : "false") << ", ";
if(!base)
{
_out << "nil";