From 3a5f213cca8dc7a541bd4fe63ea61c7634e44d5a Mon Sep 17 00:00:00 2001 From: Anders Carling Date: Mon, 23 Nov 2015 14:53:33 +0100 Subject: Invoke super implementation instead of raising error --- ruby/src/main/java/com/google/protobuf/jruby/RubyMessage.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'ruby/src') 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]); } -- cgit v1.2.3