Sha256: 9fb82832f4b905012134a64ffbc0cf094a5e132b9c46f4510ff2b76a86bf61b2
Contents?: true
Size: 688 Bytes
Versions: 2
Compression:
Stored size: 688 Bytes
Contents
module Gisele module Language class Rewriter class Scoping < Helper module Methods def scope_stack @scope_stack ||= [] end def with_scope(scope) scope_stack.push(scope) result = yield scope_stack.pop result end end # module Methods def on_missing(rw, node) if node.rule_name.to_s =~ /_def/ rw.with_scope(node) do yield(rw, node) end else yield(rw, node) end end end # module Scoping end # class Rewriter end # module Language end # module Gisele
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gisele-0.4.0 | lib/gisele/language/rewriter/scoping.rb |
gisele-0.3.0 | lib/gisele/language/rewriter/scoping.rb |