Object <- ObjectNameDictionary <- DynamicObjectNameDictionary <- DynamicShadowedDictionary |
|
|
AbortChangesToObject CommitChangesToObject EnterObjectName Init LookUpCommittedObjectName LookUpObjectName MakeValid RemoveNameIfFound Validate |
Class DynamicShadowedDictionary defines no new attributes.
Fields
| Field | Type | |
|---|---|---|
| ObjectNameDictionary: | hashTable: | Object |
| textHeap: | TextHeapWithoutGenerations |
instance DynamicShadowedDictionary tag; hashTable: nilObject; textHeap: nilObject; end instance;
Define Class DynamicShadowedDictionary; inherits from DynamicObjectNameDictionary; inherits from PrivateHandlesGenerationsItself; // public interface overrides Init; overrides MakeValid; overrides LookUpObjectName; overrides EnterObjectName; overrides RemoveNameIfFound; // the dictionary keeps track of generations on its own, override the // committing calls so that the right operations get called at the right // time overrides CommitChangesToObject; overrides AbortChangesToObject; operation LookUpCommittedObjectName(object: Object): Text, noFail; // this call is used by the flattener to make sure we are sending // the committed version of the object name // misc. #ifdef VALIDATE overrides Validate; #endif end class;