class Atomy::Code::Pattern::Wildcard
Public Class Methods
new(name = nil, set = false)
click to toggle source
# File lib/atomy/code/pattern/wildcard.rb, line 8 def initialize(name = nil, set = false) @name = name @set = set end
Public Instance Methods
assign(gen)
click to toggle source
# File lib/atomy/code/pattern/wildcard.rb, line 21 def assign(gen) assignment_local(gen, @name, @set).set_bytecode(gen) end
bytecode(gen, mod)
click to toggle source
# File lib/atomy/code/pattern/wildcard.rb, line 13 def bytecode(gen, mod) gen.push_cpath_top gen.find_const(:Atomy) gen.find_const(:Pattern) gen.find_const(:Wildcard) gen.send(:new, 0) end
Private Instance Methods
assignment_local(gen, name, set = false)
click to toggle source
# File lib/atomy/code/pattern/wildcard.rb, line 27 def assignment_local(gen, name, set = false) var = gen.state.scope.search_local(name) if var && (set || var.depth == 0) var else gen.state.scope.new_local(name).nested_reference end end