From d1ec43ae7ab2a4e529ee8eed21c2894b565a6862 Mon Sep 17 00:00:00 2001 From: nobu Date: Sun, 26 Oct 2014 03:24:18 +0000 Subject: parse.y: Ripper.sexp returns error * ext/ripper/lib/ripper/sexp.rb (Ripper.sexp, Ripper.sexp_raw): return nil on error. [ruby-dev:48678] [Bug #10405] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@48144 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/ripper/lib/ripper/sexp.rb | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'ext/ripper/lib/ripper/sexp.rb') diff --git a/ext/ripper/lib/ripper/sexp.rb b/ext/ripper/lib/ripper/sexp.rb index 66bd69134d..150c6f0cf8 100644 --- a/ext/ripper/lib/ripper/sexp.rb +++ b/ext/ripper/lib/ripper/sexp.rb @@ -28,7 +28,9 @@ class Ripper # [:bodystmt, [[:var_ref, [:@kw, "nil", [1, 9]]]], nil, nil, nil]]]] # def Ripper.sexp(src, filename = '-', lineno = 1) - SexpBuilderPP.new(src, filename, lineno).parse + builder = SexpBuilderPP.new(src, filename, lineno) + sexp = builder.parse + sexp unless builder.error? end # [EXPERIMENTAL] @@ -52,7 +54,9 @@ class Ripper # nil]]]] # def Ripper.sexp_raw(src, filename = '-', lineno = 1) - SexpBuilder.new(src, filename, lineno).parse + builder = SexpBuilder.new(src, filename, lineno) + sexp = builder.parse + sexp unless builder.error? end class SexpBuilderPP < ::Ripper #:nodoc: -- cgit v1.2.3