class Metamorpher::Builders::Ruby::VariableReplacementVisitor

Attributes

replacement[RW]
variable_name[RW]

Public Class Methods

new(variable_name, replacement) click to toggle source
# File lib/metamorpher/builders/ruby/variable_replacement_visitor.rb, line 7
def initialize(variable_name, replacement)
  @variable_name = variable_name
  @replacement = replacement
end

Public Instance Methods

visit_literal(literal) click to toggle source
# File lib/metamorpher/builders/ruby/variable_replacement_visitor.rb, line 12
def visit_literal(literal)
  Terms::Literal.new(
    name: literal.name,
    children: literal.children.map { |child| visit(child) }
  )
end
visit_term(term) click to toggle source
# File lib/metamorpher/builders/ruby/variable_replacement_visitor.rb, line 27
def visit_term(term)
  term
end
visit_variable(variable) click to toggle source
# File lib/metamorpher/builders/ruby/variable_replacement_visitor.rb, line 19
def visit_variable(variable)
  if variable.name == variable_name
    replacement
  else
    variable
  end
end