class Pione::Lang::PackageTable

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

Public Class Methods

new() click to toggle source
# File lib/pione/lang/environment.rb, line 160
def initialize
  @table = Hash.new
end

Public Instance Methods

get(ref) click to toggle source
# 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
inspect() click to toggle source
# File lib/pione/lang/environment.rb, line 180
def inspect
  "#%s%s" % [self.class.name.split("::").last, @table]
end
set(ref, val) click to toggle source
# 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