Move the syntax error rescue for adding error line numbers.

This commit is contained in:
Dylan Thacker-Smith
2015-07-09 11:25:05 -04:00
parent bde14a650d
commit 14416b3c49
2 changed files with 10 additions and 10 deletions

View File

@@ -1,23 +1,26 @@
module Liquid
class Document < BlockBody
def self.parse(tokens, options)
def self.parse(tokens, parse_context)
doc = new
doc.parse(tokens, options)
doc.parse(tokens, parse_context)
doc
end
def parse(tokens, options)
def parse(tokens, parse_context)
super do |end_tag_name, end_tag_params|
unknown_tag(end_tag_name, options) if end_tag_name
unknown_tag(end_tag_name, parse_context) if end_tag_name
end
rescue SyntaxError => e
e.line_number ||= parse_context.line_number
raise
end
def unknown_tag(tag, options)
def unknown_tag(tag, parse_context)
case tag
when 'else'.freeze, 'end'.freeze
raise SyntaxError.new(options[:locale].t("errors.syntax.unexpected_outer_tag".freeze, tag: tag))
raise SyntaxError.new(parse_context.locale.t("errors.syntax.unexpected_outer_tag".freeze, tag: tag))
else
raise SyntaxError.new(options[:locale].t("errors.syntax.unknown_tag".freeze, tag: tag))
raise SyntaxError.new(parse_context.locale.t("errors.syntax.unknown_tag".freeze, tag: tag))
end
end
end

View File

@@ -120,9 +120,6 @@ module Liquid
@root = Document.parse(tokenize(source), parse_context)
@warnings = parse_context.warnings
self
rescue SyntaxError => e
e.line_number ||= parse_context.line_number
raise
end
def registers