2007-02-25 | paulb | raw annotate files changeset graph | Introduced instance annotations on program nodes in order to support more complicated class/instance mechanisms, such as the "prolific" multiple instance class introduced here. Changed InvokeBlock plus LoadRef to just InvokeRef, adding subprogram copying in order to avoid specialised copies of methods all sharing the same internal subprograms. Fixed the copying of argument attributes on nodes. Changed list construction to use an internal subprogram, fixing the list initialiser to be like the standard Python list initialiser. Added "re-running" of invocations in order to prevent deep recursion which crashes Python. |