提交 818ecf50 编写于 作者: J Justin Collins

Remove new call creation in template processing

上级 0c699b00
...@@ -46,11 +46,9 @@ class Brakeman::ErbTemplateProcessor < Brakeman::TemplateProcessor ...@@ -46,11 +46,9 @@ class Brakeman::ErbTemplateProcessor < Brakeman::TemplateProcessor
exp.arglist = process(exp.arglist) exp.arglist = process(exp.arglist)
make_render_in_view exp make_render_in_view exp
else else
#TODO: Is it really necessary to create a new Sexp here? exp.target = target
call = make_call target, method, process_all!(exp.args) exp.arglist = process(exp.arglist)
call.original_line = exp.original_line exp
call.line(exp.line)
call
end end
end end
......
...@@ -9,12 +9,14 @@ class Brakeman::ErubisTemplateProcessor < Brakeman::TemplateProcessor ...@@ -9,12 +9,14 @@ class Brakeman::ErubisTemplateProcessor < Brakeman::TemplateProcessor
if sexp? target if sexp? target
target = process target target = process target
end end
exp.target = target
exp.arglist = process exp.arglist
method = exp.method method = exp.method
#_buf is the default output variable for Erubis #_buf is the default output variable for Erubis
if node_type?(target, :lvar, :ivar) and (target.value == :_buf or target.value == :@output_buffer) if node_type?(target, :lvar, :ivar) and (target.value == :_buf or target.value == :@output_buffer)
if method == :<< or method == :safe_concat if method == :<< or method == :safe_concat
exp.arglist = process exp.arglist
arg = exp.first_arg arg = exp.first_arg
...@@ -42,14 +44,9 @@ class Brakeman::ErubisTemplateProcessor < Brakeman::TemplateProcessor ...@@ -42,14 +44,9 @@ class Brakeman::ErubisTemplateProcessor < Brakeman::TemplateProcessor
abort "Unrecognized action on buffer: #{method}" abort "Unrecognized action on buffer: #{method}"
end end
elsif target == nil and method == :render elsif target == nil and method == :render
exp.arglist = process exp.arglist
make_render_in_view exp make_render_in_view exp
else else
#TODO: Is it really necessary to create a new Sexp here? exp
call = make_call target, method, process_all!(exp.args)
call.original_line = exp.original_line
call.line(exp.line)
call
end end
end end
......
...@@ -76,11 +76,9 @@ class Brakeman::HamlTemplateProcessor < Brakeman::TemplateProcessor ...@@ -76,11 +76,9 @@ class Brakeman::HamlTemplateProcessor < Brakeman::TemplateProcessor
exp.arglist = process exp.arglist exp.arglist = process exp.arglist
make_render_in_view exp make_render_in_view exp
else else
#TODO: Do we really need a new Sexp here? exp.target = target
call = make_call target, method, process_all!(exp.args) exp.arglist = process exp.arglist
call.original_line = exp.original_line exp
call.line(exp.line)
call
end end
end end
......
...@@ -38,10 +38,8 @@ class Brakeman::SlimTemplateProcessor < Brakeman::TemplateProcessor ...@@ -38,10 +38,8 @@ class Brakeman::SlimTemplateProcessor < Brakeman::TemplateProcessor
exp.arglist = process exp.arglist exp.arglist = process exp.arglist
make_render_in_view exp make_render_in_view exp
else else
call = make_call target, method, process_all!(exp.args) exp.arglist = process exp.arglist
call.original_line = exp.original_line exp
call.line(exp.line)
call
end end
end end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册