Class: Rubycc::Front::InitializerResolver::Cursor

Inherits:
Object
  • Object
show all
Defined in:
lib/rubycc/front/initializer_resolver.rb

Overview

A forward cursor over one brace level's items. Brace elision hands the same cursor to a subobject's fill so it continues where the parent left off; an explicit nested brace gets a fresh cursor over its own items.

Instance Method Summary collapse

Constructor Details

#initialize(items) ⇒ Cursor

Returns a new instance of Cursor.



66
67
68
69
# File 'lib/rubycc/front/initializer_resolver.rb', line 66

def initialize(items)
  @items = items
  @pos = 0
end

Instance Method Details

#advanceObject



79
80
81
82
83
# File 'lib/rubycc/front/initializer_resolver.rb', line 79

def advance
  item = @items[@pos]
  @pos += 1
  item
end

#eof?Boolean

Returns:

  • (Boolean)


71
72
73
# File 'lib/rubycc/front/initializer_resolver.rb', line 71

def eof?
  @pos >= @items.size
end

#peekObject



75
76
77
# File 'lib/rubycc/front/initializer_resolver.rb', line 75

def peek
  @items[@pos]
end