From b30eba6a13fef8994a7556654b5d4e3e54622f65 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Fri, 23 Jun 2017 18:00:32 +0900 Subject: Make `LocalJumpError` a subclass of `ScriptError`. It's incompatible with CRuby, but it is required for mruby because it cannot detect `break` outside of loops in the parsing time, but in the code generation time where it cannot raise `SyntaxError`. --- mrblib/10error.rb | 4 ++-- test/t/superclass.rb | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/mrblib/10error.rb b/mrblib/10error.rb index 2674af7a2..22a8d1ad7 100644 --- a/mrblib/10error.rb +++ b/mrblib/10error.rb @@ -2,8 +2,8 @@ class ArgumentError < StandardError end -# ISO 15.2.25 -class LocalJumpError < StandardError +# ISO 15.2.25 says "LocalJumpError < StandardError" +class LocalJumpError < ScriptError end # ISO 15.2.26 diff --git a/test/t/superclass.rb b/test/t/superclass.rb index 9fd8830b3..10b6438d3 100644 --- a/test/t/superclass.rb +++ b/test/t/superclass.rb @@ -23,7 +23,8 @@ [:Exception, :Object, '15.2.22.2'], [:StandardError, :Exception, '15.2.23.2'], [:ArgumentError, :StandardError, '15.2.24.2'], - [:LocalJumpError, :StandardError, '15.2.25.2'], + # [:LocalJumpError, :StandardError, '15.2.25.2'], + [:LocalJumpError, :ScriptError, '15.2.25.2'], # mruby specific [:RangeError, :StandardError, '12.2.26.2'], [:RegexpError, :StandardError, '12.2.27.2'], [:RuntimeError, :StandardError, '12.2.28.2'], -- cgit v1.2.3