class Ikra::Translator::VariableClassifier
Public Class Methods
new(lexical_variable_names:)
click to toggle source
# File lib/translator/variable_classifier_visitor.rb, line 34 def initialize(lexical_variable_names:) @lexical_variable_names = lexical_variable_names end
Public Instance Methods
var_type(identifier)
click to toggle source
# File lib/translator/variable_classifier_visitor.rb, line 47 def var_type(identifier) if @lexical_variable_names.include?(identifier) return :lexical else return :local end end
visit_lvar_read_node(node)
click to toggle source
# File lib/translator/variable_classifier_visitor.rb, line 38 def visit_lvar_read_node(node) node.variable_kind = var_type(node.identifier) end
visit_lvar_write_node(node)
click to toggle source
Calls superclass method
Ikra::AST::Visitor#visit_lvar_write_node
# File lib/translator/variable_classifier_visitor.rb, line 42 def visit_lvar_write_node(node) node.variable_kind = var_type(node.identifier) super(node) end