diff options
author | Anders Carling <lowe@lowe.nu> | 2015-11-23 14:53:33 +0100 |
---|---|---|
committer | Anders Carling <lowe@lowe.nu> | 2015-11-23 14:53:33 +0100 |
commit | 3a5f213cca8dc7a541bd4fe63ea61c7634e44d5a (patch) | |
tree | 5e88f0761472a04e8506598d0250726282868d16 | |
parent | 0559f3ee9e1cae9e2dfc9893567cb0ac229727bf (diff) | |
download | protobuf-3a5f213cca8dc7a541bd4fe63ea61c7634e44d5a.tar.gz protobuf-3a5f213cca8dc7a541bd4fe63ea61c7634e44d5a.tar.bz2 protobuf-3a5f213cca8dc7a541bd4fe63ea61c7634e44d5a.zip |
Invoke super implementation instead of raising error
-rw-r--r-- | ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java | 4 |
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]); } |