class CodeTools::AST::For
Public Class Methods
new(line, arguments, body)
click to toggle source
# File lib/rubinius/code/ast/sends.rb, line 860 def initialize(line, arguments, body) @line = line @arguments = ForParameters.new line, arguments @body = body || NilLiteral.new(line) new_local :"$for_args" end
Public Instance Methods
assign_local_reference(var)
click to toggle source
# File lib/rubinius/code/ast/sends.rb, line 885 def assign_local_reference(var) unless reference = search_local(var.name) reference = new_nested_local var.name end var.variable = reference end
defined(g)
click to toggle source
# File lib/rubinius/code/ast/sends.rb, line 893 def defined(g) g.push_literal "expression" end
nest_scope(scope)
click to toggle source
# File lib/rubinius/code/ast/sends.rb, line 868 def nest_scope(scope) scope.parent = self end
new_nested_local(name)
click to toggle source
# File lib/rubinius/code/ast/sends.rb, line 879 def new_nested_local(name) reference = @parent.new_nested_local name reference.depth += 1 reference end
search_local(name)
click to toggle source
# File lib/rubinius/code/ast/sends.rb, line 872 def search_local(name) if reference = @parent.search_local(name) reference.depth += 1 reference end end
sexp_name()
click to toggle source
# File lib/rubinius/code/ast/sends.rb, line 897 def sexp_name :for end