Class: Pione::Lang::PackageTable

Inherits:
Object
  • Object
show all
Defined in:
lib/pione/lang/environment.rb

Overview

PackageTable is a table for pairs of child package id and the definition.

Instance Method Summary collapse

Constructor Details

#initializePackageTable

Returns a new instance of PackageTable.



160
161
162
# File 'lib/pione/lang/environment.rb', line 160

def initialize
  @table = Hash.new
end

Instance Method Details

#get(ref) ⇒ Object



164
165
166
167
168
169
170
# File 'lib/pione/lang/environment.rb', line 164

def get(ref)
  if val = @table[ref.package_id]
    return val
  else
    raise UnboundError.new(ref)
  end
end

#inspectObject



180
181
182
# File 'lib/pione/lang/environment.rb', line 180

def inspect
  "#%s%s" % [self.class.name.split("::").last, @table]
end

#set(ref, val) ⇒ Object



172
173
174
175
176
177
178
# File 'lib/pione/lang/environment.rb', line 172

def set(ref, val)
  unless @table.has_key?(ref.package_id)
    @table[ref.package_id] = val
  else
    raise RebindError.new(ref)
  end
end