Modifier and Type | Field and Description |
---|---|
private java.util.Map<java.lang.String,java.lang.Boolean> |
clsWithDtor
Indicate if a class has a destructor or not.
|
private java.util.Deque<java.util.Set<java.lang.Object>> |
definitions
Variable definitions which are top-level block members.
|
private java.util.Map<java.lang.Object,java.util.Set<java.lang.Object>> |
extProgDefinitions
Map of variable definitions which are class members.
|
private java.util.Map<java.lang.Class<? extends _BaseObject_>,LegacyClass> |
legacyClasses
The map of instantiated
LegacyClass objects. |
private java.util.Map<_BaseObject_,ObjectResource> |
objects
Map of legacy objects to their pseudo-resource.
|
private java.util.Deque<java.util.Set<_BaseObject_>> |
pendingAssigned
The set of newly created objects which wait to be assigned.
|
private java.util.Deque<java.util.Set<_BaseObject_>> |
pendingInitialized
The set of newly created objects which wait to be initialized.
|
private java.util.Set<java.lang.Class<? extends _BaseObject_>> |
pendingLoadedClasses
The set of classes pending to be loaded.
|
private java.util.Set<java.lang.Object> |
pendingObjects
Pending object definitions which need to be registered in the next scope.
|
private ProcedureManager.ProcedureHelper |
pm
Helper to use the ProcedureManager without any context local lookups.
|
private java.util.Map<java.lang.Object,java.lang.Class<? extends _BaseObject_>> |
referents2static
Bogus referents associated with a static class.
|
private java.util.Map<java.lang.Class<? extends _BaseObject_>,java.lang.Object> |
staticReferents
Bogus referents associated with a static class.
|
private TransactionManager.TransactionHelper |
tm
Helper to use the TM without any context local lookups.
|
Constructor and Description |
---|
WorkArea()
Initialize by registering this instance for scope notifications.
|
Modifier and Type | Method and Description |
---|---|
private void |
decrement(java.util.Set<java.lang.Object> defs)
Decrement the references for all this objects.
|
private boolean |
hasDestructor(java.lang.Class<? extends _BaseObject_> cls,
java.lang.String dname)
Check if a destructor with the given name is defined in the specified class.
|
void |
scopeDeleted()
Provides a notification that an external scope is about to be deleted.
|
void |
scopeFinished()
Provides a notification that a scope is about to be exited.
|
void |
scopeStart()
Provides a notification that a new scope is about to be entered.
|
private final ProcedureManager.ProcedureHelper pm
private final TransactionManager.TransactionHelper tm
private java.util.Set<java.lang.Class<? extends _BaseObject_>> pendingLoadedClasses
private java.util.Map<_BaseObject_,ObjectResource> objects
private java.util.Set<java.lang.Object> pendingObjects
private java.util.Deque<java.util.Set<java.lang.Object>> definitions
private java.util.Map<java.lang.Object,java.util.Set<java.lang.Object>> extProgDefinitions
private java.util.Map<java.lang.Class<? extends _BaseObject_>,java.lang.Object> staticReferents
private java.util.Map<java.lang.Object,java.lang.Class<? extends _BaseObject_>> referents2static
private java.util.Deque<java.util.Set<_BaseObject_>> pendingAssigned
private java.util.Deque<java.util.Set<_BaseObject_>> pendingInitialized
private java.util.Map<java.lang.String,java.lang.Boolean> clsWithDtor
private java.util.Map<java.lang.Class<? extends _BaseObject_>,LegacyClass> legacyClasses
LegacyClass
objects.public WorkArea()
public void scopeStart()
Used to create new collections where to register the variable definitions for that block.
scopeStart
in interface Scopeable
public void scopeFinished()
All variable definitions defined in this block will have the reference counter decremented for the wrapped object.
scopeFinished
in interface Scopeable
public void scopeDeleted()
All variables defined at this external program will have the reference counter decremented.
scopeDeleted
in interface Scopeable
private boolean hasDestructor(java.lang.Class<? extends _BaseObject_> cls, java.lang.String dname)
cls
- The class name.dname
- The destructor name.private void decrement(java.util.Set<java.lang.Object> defs)
defs
- Scalar or array object variables.