class Parser::StaticEnvironment

Constants

ANONYMOUS_BLOCKARG
FORWARD_ARGS

Public Class Methods

new() click to toggle source
# File lib/parser/static_environment.rb, line 9
def initialize
  reset
end

Public Instance Methods

declare(name) click to toggle source
# File lib/parser/static_environment.rb, line 38
def declare(name)
  @variables.add(name.to_sym)

  self
end
declare_anonymous_blockarg() click to toggle source
# File lib/parser/static_environment.rb, line 56
def declare_anonymous_blockarg
  declare(ANONYMOUS_BLOCKARG)
end
declare_forward_args() click to toggle source
# File lib/parser/static_environment.rb, line 48
def declare_forward_args
  declare(FORWARD_ARGS)
end
declared?(name) click to toggle source
# File lib/parser/static_environment.rb, line 44
def declared?(name)
  @variables.include?(name.to_sym)
end
declared_anonymous_blockarg?() click to toggle source
# File lib/parser/static_environment.rb, line 60
def declared_anonymous_blockarg?
  declared?(ANONYMOUS_BLOCKARG)
end
declared_forward_args?() click to toggle source
# File lib/parser/static_environment.rb, line 52
def declared_forward_args?
  declared?(FORWARD_ARGS)
end
empty?() click to toggle source
# File lib/parser/static_environment.rb, line 64
def empty?
  @stack.empty?
end
extend_dynamic() click to toggle source
# File lib/parser/static_environment.rb, line 25
def extend_dynamic
  @stack.push(@variables)
  @variables = @variables.dup

  self
end
extend_static() click to toggle source
# File lib/parser/static_environment.rb, line 18
def extend_static
  @stack.push(@variables)
  @variables = Set[]

  self
end
reset() click to toggle source
# File lib/parser/static_environment.rb, line 13
def reset
  @variables = Set[]
  @stack     = []
end
unextend() click to toggle source
# File lib/parser/static_environment.rb, line 32
def unextend
  @variables = @stack.pop

  self
end