Sha256: f0db21d4b86fcbb9a4ed5b3c915e4971ab218ec96d6001aa210ef11ddee6bb69
Contents?: true
Size: 1.35 KB
Versions: 11
Compression:
Stored size: 1.35 KB
Contents
# frozen_string_literal: true module Unparser class Emitter # Emitter for various variable accesses class Variable < self include Terminated handle :ivar, :lvar, :cvar, :gvar, :back_ref children :name private # Perform dispatch # # @return [undefined] # # @api private # def dispatch write(name.to_s) end end # Access # Emitter for constant access class Const < self include Terminated handle :const children :scope, :name private # Perform dispatch # # @return [undefined] # # @api private # def dispatch emit_scope write(name.to_s) end # Emit parent # # @return [undefined] # # @api private # def emit_scope return unless scope visit(scope) write(T_DCL) unless scope.type.equal?(:cbase) end end # Emitter for nth_ref nodes (regexp captures) class NthRef < self include Terminated PREFIX = '$'.freeze handle :nth_ref children :name private # Perform dispatch # # @return [undefined] # # @api private # def dispatch write(PREFIX) write(name.to_s) end end # NthRef end # Emitter end # Unparser
Version data entries
11 entries across 11 versions & 1 rubygems