Class: Atomy::Code::Pattern::QuasiQuote
- Inherits:
-
Atomy::Code::Pattern
- Object
- Atomy::Code::Pattern
- Atomy::Code::Pattern::QuasiQuote
- Defined in:
- lib/atomy/code/pattern/quasi_quote.rb
Defined Under Namespace
Classes: AssignWalker, Constructor, Walker
Instance Attribute Summary
Attributes inherited from Atomy::Code::Pattern
Instance Method Summary collapse
- #assign(gen) ⇒ Object
- #bytecode(gen, mod) ⇒ Object
-
#initialize(node, mod) ⇒ QuasiQuote
constructor
A new instance of QuasiQuote.
Methods inherited from Atomy::Code::Pattern
Constructor Details
#initialize(node, mod) ⇒ QuasiQuote
Returns a new instance of QuasiQuote.
8 9 10 11 |
# File 'lib/atomy/code/pattern/quasi_quote.rb', line 8 def initialize(node, mod) constructor = Constructor.new(mod) @pattern = constructor.go(node) end |
Instance Method Details
#assign(gen) ⇒ Object
22 23 24 |
# File 'lib/atomy/code/pattern/quasi_quote.rb', line 22 def assign(gen) AssignWalker.new(gen).go(@pattern.node) end |
#bytecode(gen, mod) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/atomy/code/pattern/quasi_quote.rb', line 13 def bytecode(gen, mod) gen.push_cpath_top gen.find_const(:Atomy) gen.find_const(:Pattern) gen.find_const(:QuasiQuote) mod.compile(gen, @pattern) gen.send(:new, 1) end |