aboutsummaryrefslogtreecommitdiffhomepage
path: root/ruby/src
diff options
context:
space:
mode:
authorGravatar Anders Carling <lowe@lowe.nu>2015-11-23 14:53:33 +0100
committerGravatar Anders Carling <lowe@lowe.nu>2015-11-23 14:53:33 +0100
commit3a5f213cca8dc7a541bd4fe63ea61c7634e44d5a (patch)
tree5e88f0761472a04e8506598d0250726282868d16 /ruby/src
parent0559f3ee9e1cae9e2dfc9893567cb0ac229727bf (diff)
Invoke super implementation instead of raising error
Diffstat (limited to 'ruby/src')
-rw-r--r--ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java4
1 files changed, 2 insertions, 2 deletions
diff --git a/ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java b/ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java
index 8771a3c1..39213c4d 100644
--- a/ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java
+++ b/ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java
@@ -218,7 +218,7 @@ public class RubyMessage extends RubyObject {
IRubyObject oneofDescriptor = rubyDescriptor.lookupOneof(context, args[0]);
if (oneofDescriptor.isNil()) {
if (!hasField(args[0])) {
- throw context.runtime.newNoMethodError("undefined method `" + args[0].toString() + "' for " + metaClass.toString(), args[0].asJavaString(), metaClass);
+ return Helpers.invokeSuper(context, this, metaClass, "method_missing", args, Block.NULL_BLOCK);
}
return index(context, args[0]);
}
@@ -238,7 +238,7 @@ public class RubyMessage extends RubyObject {
}
if (!hasField(field)) {
- throw context.runtime.newNoMethodError("undefined method `" + args[0].asJavaString() + "' for " + metaClass.toString(), args[0].asJavaString(), metaClass);
+ return Helpers.invokeSuper(context, this, metaClass, "method_missing", args, Block.NULL_BLOCK);
}
return indexSet(context, field, args[1]);
}