class Parser::StaticEnvironment
Constants
- ANONYMOUS_BLOCKARG_INHERITED
- ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE
- ANONYMOUS_KWRESTARG_INHERITED
- ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE
- ANONYMOUS_RESTARG_INHERITED
- ANONYMOUS_RESTARG_IN_CURRENT_SCOPE
- FORWARD_ARGS
Public Class Methods
new()
click to toggle source
# File lib/parser/static_environment.rb, line 17 def initialize reset end
Public Instance Methods
declare(name)
click to toggle source
# File lib/parser/static_environment.rb, line 55 def declare(name) @variables.add(name.to_sym) self end
declare_anonymous_blockarg()
click to toggle source
Anonymous blockarg
# File lib/parser/static_environment.rb, line 77 def declare_anonymous_blockarg declare(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE) end
declare_anonymous_kwrestarg()
click to toggle source
Anonymous kwresarg
# File lib/parser/static_environment.rb, line 113 def declare_anonymous_kwrestarg declare(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE) end
declare_anonymous_restarg()
click to toggle source
Anonymous restarg
# File lib/parser/static_environment.rb, line 95 def declare_anonymous_restarg declare(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE) end
declare_forward_args()
click to toggle source
Forward args
# File lib/parser/static_environment.rb, line 67 def declare_forward_args declare(FORWARD_ARGS) end
declared?(name)
click to toggle source
# File lib/parser/static_environment.rb, line 61 def declared?(name) @variables.include?(name.to_sym) end
declared_anonymous_blockarg?()
click to toggle source
# File lib/parser/static_environment.rb, line 81 def declared_anonymous_blockarg? declared?(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE) || declared?(ANONYMOUS_BLOCKARG_INHERITED) end
declared_anonymous_blockarg_in_current_scpe?()
click to toggle source
# File lib/parser/static_environment.rb, line 85 def declared_anonymous_blockarg_in_current_scpe? declared?(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE) end
declared_anonymous_kwrestarg?()
click to toggle source
# File lib/parser/static_environment.rb, line 117 def declared_anonymous_kwrestarg? declared?(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE) || declared?(ANONYMOUS_KWRESTARG_INHERITED) end
declared_anonymous_kwrestarg_in_current_scope?()
click to toggle source
# File lib/parser/static_environment.rb, line 121 def declared_anonymous_kwrestarg_in_current_scope? declared?(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE) end
declared_anonymous_restarg?()
click to toggle source
# File lib/parser/static_environment.rb, line 99 def declared_anonymous_restarg? declared?(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE) || declared?(ANONYMOUS_RESTARG_INHERITED) end
declared_anonymous_restarg_in_current_scope?()
click to toggle source
# File lib/parser/static_environment.rb, line 103 def declared_anonymous_restarg_in_current_scope? declared?(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE) end
declared_forward_args?()
click to toggle source
# File lib/parser/static_environment.rb, line 71 def declared_forward_args? declared?(FORWARD_ARGS) end
empty?()
click to toggle source
# File lib/parser/static_environment.rb, line 129 def empty? @stack.empty? end
extend_dynamic()
click to toggle source
# File lib/parser/static_environment.rb, line 33 def extend_dynamic @stack.push(@variables) @variables = @variables.dup if @variables.delete(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE) @variables.add(ANONYMOUS_BLOCKARG_INHERITED) end if @variables.delete(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE) @variables.add(ANONYMOUS_RESTARG_INHERITED) end if @variables.delete(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE) @variables.add(ANONYMOUS_KWRESTARG_INHERITED) end self end
extend_static()
click to toggle source
# File lib/parser/static_environment.rb, line 26 def extend_static @stack.push(@variables) @variables = Set[] self end
parent_has_anonymous_blockarg?()
click to toggle source
# File lib/parser/static_environment.rb, line 89 def parent_has_anonymous_blockarg? @stack.any? { |variables| variables.include?(ANONYMOUS_BLOCKARG_IN_CURRENT_SCOPE) } end
parent_has_anonymous_kwrestarg?()
click to toggle source
# File lib/parser/static_environment.rb, line 125 def parent_has_anonymous_kwrestarg? @stack.any? { |variables| variables.include?(ANONYMOUS_KWRESTARG_IN_CURRENT_SCOPE) } end
parent_has_anonymous_restarg?()
click to toggle source
# File lib/parser/static_environment.rb, line 107 def parent_has_anonymous_restarg? @stack.any? { |variables| variables.include?(ANONYMOUS_RESTARG_IN_CURRENT_SCOPE) } end
reset()
click to toggle source
# File lib/parser/static_environment.rb, line 21 def reset @variables = Set[] @stack = [] end
unextend()
click to toggle source
# File lib/parser/static_environment.rb, line 49 def unextend @variables = @stack.pop self end