added nsup field to the class object to chain back to the upper namespace in the hierarchy.

changed bootstrapping code and compiler code to weave top-level namespace hierarchy more consistantly, mostly related to the System class and its intrinsic namespace dictionary linked via the nsdic field
This commit is contained in:
hyunghwan.chung
2017-05-20 02:27:48 +00:00
parent 8324f64dea
commit 1bdaba968d
12 changed files with 472 additions and 499 deletions

View File

@ -6,26 +6,15 @@ class(#pointer,#limited) Class(Apex)
{
var spec, selfspec, superclass, subclasses, name, modname.
var instvars, classinstvars, classvars, pooldics.
var instmthdic, classmthdic, nsdic, cdic.
var instmthdic, classmthdic, nsup, nsdic, cdic.
var trsize, initv, initv_ci.
method(#class) initialize
{
^self.
}
method(#class) initialize { ^self }
(* most of the following methods can actually become class methods of Apex.
* if the instance varibles can be made accessible from the Apex class. *)
method name
{
^self.name
}
method superclass
{
^self.superclass
}
method name { ^self.name }
method superclass { ^self.superclass }
method specNumInstVars
{
@ -45,8 +34,6 @@ class(#pointer,#limited) Class(Apex)
^false
}*)
method nsdic
{
^self.nsdic
}
method nsup { ^self.nsup }
method nsdic { ^self.nsdic }
}