class Parser::MaxNumparamStack
Holds p->max_numparam from parse.y
@api private
Constants
- ORDINARY_PARAMS
Attributes
stack[R]
Public Class Methods
new()
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 13 def initialize @stack = [] end
Public Instance Methods
empty?()
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 17 def empty? @stack.size == 0 end
has_numparams?()
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 29 def has_numparams? top && top > 0 end
has_ordinary_params!()
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 21 def has_ordinary_params! set(ORDINARY_PARAMS) end
has_ordinary_params?()
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 25 def has_ordinary_params? top == ORDINARY_PARAMS end
pop()
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 45 def pop @stack.pop end
push()
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 41 def push @stack.push(0) end
register(numparam)
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 33 def register(numparam) set( [top, numparam].max ) end
top()
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 37 def top @stack.last end
Private Instance Methods
set(value)
click to toggle source
# File lib/parser/max_numparam_stack.rb, line 51 def set(value) @stack[@stack.length - 1] = value end