Class: Opal::AST::Matcher
- Inherits:
-
Object
- Object
- Opal::AST::Matcher
- Defined in:
- opal/lib/opal/ast/matcher.rb
Defined Under Namespace
Classes: Node
Instance Attribute Summary collapse
-
#captures ⇒ Object
Returns the value of attribute captures.
Instance Method Summary collapse
- #cap(capture) ⇒ Object
-
#initialize(&block) ⇒ Matcher
constructor
A new instance of Matcher.
- #inspect ⇒ Object
- #match(ast) ⇒ Object
- #s(type, *children) ⇒ Object
Constructor Details
#initialize(&block) ⇒ Matcher
Returns a new instance of Matcher.
9 10 11 |
# File 'opal/lib/opal/ast/matcher.rb', line 9 def initialize(&block) @root = instance_exec(&block) end |
Instance Attribute Details
#captures ⇒ Object
Returns the value of attribute captures.
31 32 33 |
# File 'opal/lib/opal/ast/matcher.rb', line 31 def captures @captures end |
Instance Method Details
#cap(capture) ⇒ Object
17 18 19 |
# File 'opal/lib/opal/ast/matcher.rb', line 17 def cap(capture) Node.new(:capture, [capture]) end |
#inspect ⇒ Object
27 28 29 |
# File 'opal/lib/opal/ast/matcher.rb', line 27 def inspect "#<Opal::AST::Matcher: #{@root.inspect}>" end |
#match(ast) ⇒ Object
21 22 23 24 25 |
# File 'opal/lib/opal/ast/matcher.rb', line 21 def match(ast) @captures = [] @root.match(ast, self) || (return false) @captures end |