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