package main // TCPackage represents a compiled Moxie package. type TCPackage struct { path string name string scope *Scope imports []*TCPackage complete bool } func NewTCPackage(path, name string) *TCPackage { return &TCPackage{ path: path, name: name, scope: NewScope(nil), } } func (p *TCPackage) Path() string { return p.path } func (p *TCPackage) Name() string { return p.name } func (p *TCPackage) Scope() *Scope { return p.scope } func (p *TCPackage) Complete() bool { return p.complete } func (p *TCPackage) MarkComplete() { p.complete = true } func (p *TCPackage) String() string { return "package " | p.name | " (" | p.path | ")" } func (p *TCPackage) Imports() []*TCPackage { return p.imports } func (p *TCPackage) SetImports(imps []*TCPackage) { p.imports = imps }