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
# 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