Top Method Summary
Options Name Purpose
LOGICAL BeginParse (character) Marks a class as currently being parsed for its super scope Notes : The cycle guard - a class whose parse is already on the call stack is not entered again, so a circular INHERITS chain terminates. @param pcClassKey The qualified class name @return FALSE when the class is already being parsed */
Clear () Empties the cache Notes : The in-progress tracking is deliberately kept - clearing while a nested parse is on the stack must not break the cycle guard. */
EndParse (character) Removes a class from the in-progress tracking Notes : @param pcClassKey The qualified class name */
LOGICAL Has (character) Returns whether a class is in the cache Notes : A hit renews the class in the LRU order. @param pcClassKey The qualified class name @return Logical value indicating a cached class */
LOGICAL IsInheritable (SymbolStore, integer) Returns whether a symbol carries an inheritable access modifier Notes : PUBLIC / PROTECTED / PACKAGE-PROTECTED / PACKAGE-PRIVATE as a direct child of the DEFINE node, like the Java Symbol:isExported for class members. A symbol without a DEFINE node (an implicit buffer) is never inheritable. @param poStore The source symbol store @param piSymbolId The symbol id @return Logical value indicating an inheritable symbol */
RemoveClass (character) Removes a class (with its scopes, symbols and tables) from the cache Notes : @param pcClassKey The qualified class name */
INTEGER Replay (character, SymbolStore) Materializes a fresh copy of a cached skeleton chain in a store Notes : Creates the scope records deepest ancestor first and links them, so the returned scope carries the whole chain - the counterpart of the reference generateSymbolScopeSuper copy-per-use. The caller chains the returned scope as the parent of its root scope. @param pcClassKey The qualified class name @param poStore The target symbol store @return The scope id of the immediate super scope, or 0 when the class is not cached */
ReplayScopeSymbols (character, integer, SymbolStore, integer) Materializes the cached symbols of one skeleton scope Notes : @param pcClassKey The qualified class name @param piScopeSeq The scope sequence in the cached chain @param poStore The target symbol store @param piScopeId The target scope id */
INTEGER ReplayTable (character, integer, SymbolStore, integer) Materializes a cached temp / work table in the target store Notes : A table referenced by more than one buffer of the replayed chain is created once per Replay call. @param pcClassKey The qualified class name @param piTableKey The cached table key (0 for none) @param poStore The target symbol store @param piScopeId The target scope id owning the table @return The store table id in the target store, or 0 */
ResetInstance () Drops the cached session-singleton instance Notes : The next Instance access builds a fresh, empty cache. */
StoreClass (character, SymbolStore, integer) Extracts and stores the skeleton of a parsed super class Notes : Scope 1 holds the inheritable (PUBLIC / PROTECTED / PACKAGE-PROTECTED / PACKAGE-PRIVATE) variables and table buffers of the class's root scope; the further scopes copy the class's own super-scope chain, whose symbols are already-filtered skeletons. Storing beyond MaxClasses evicts the least recently used class. @param pcClassKey The qualified class name @param poStore The symbol store of the completed super-class parse @param piRootScopeId The root scope id of that parse */
StoreScopeSymbols (character, integer, SymbolStore, integer, logical) Copies the inheritable symbols of one scope into the cache Notes : @param pcClassKey The qualified class name @param piScopeSeq The scope sequence in the cached chain @param poStore The source symbol store @param piScopeId The source scope id @param plFilterModifiers Whether only symbols with an inheritable access modifier on their DEFINE node are copied */
INTEGER StoreTable (character, SymbolStore, integer) Copies a temp / work table (with its fields) into the cache Notes : @param pcClassKey The qualified class name @param poStore The source symbol store @param piStoreTableId The source store table id @return The cached table key */

Top Constructor Summary
Options Name Purpose
SuperScopeCache () Constructor for the SuperScopeCache class Notes : Resolves the access-modifier keyword type numbers once. */

Top Property Summary
Options Name Purpose
Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SuperScopeCache Instance
INTEGER MaxClasses


Method Detail
Top

LOGICAL BeginParse (character)

Purpose: Marks a class as currently being parsed for its super scope
Notes : The cycle guard - a class whose parse is already on the call
stack is not entered again, so a circular INHERITS chain
terminates.

Parameters:
pcClassKey CHARACTER
The qualified class name
Returns LOGICAL
FALSE when the class is already being parsed
Top

Clear ()

Purpose: Empties the cache
Notes : The in-progress tracking is deliberately kept - clearing while a
nested parse is on the stack must not break the cycle guard.

Top

EndParse (character)

Purpose: Removes a class from the in-progress tracking
Notes :

Parameters:
pcClassKey CHARACTER
The qualified class name
Top

LOGICAL Has (character)

Purpose: Returns whether a class is in the cache
Notes : A hit renews the class in the LRU order.

Parameters:
pcClassKey CHARACTER
The qualified class name
Returns LOGICAL
Logical value indicating a cached class
Top

LOGICAL IsInheritable (SymbolStore, integer)

Purpose: Returns whether a symbol carries an inheritable access modifier
Notes : PUBLIC / PROTECTED / PACKAGE-PROTECTED / PACKAGE-PRIVATE as a
direct child of the DEFINE node, like the Java Symbol:isExported
for class members. A symbol without a DEFINE node (an implicit
buffer) is never inheritable.

Parameters:
poStore Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SymbolStore
The source symbol store
piSymbolId INTEGER
The symbol id
Returns LOGICAL
Logical value indicating an inheritable symbol
Top

RemoveClass (character)

Purpose: Removes a class (with its scopes, symbols and tables) from the cache
Notes :

Parameters:
pcClassKey CHARACTER
The qualified class name
Top

INTEGER Replay (character, SymbolStore)

Purpose: Materializes a fresh copy of a cached skeleton chain in a store
Notes : Creates the scope records deepest ancestor first and links them,
so the returned scope carries the whole chain - the counterpart
of the reference generateSymbolScopeSuper copy-per-use. The
caller chains the returned scope as the parent of its root
scope.
is not cached

Parameters:
pcClassKey CHARACTER
The qualified class name
poStore Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SymbolStore
The target symbol store
Returns INTEGER
The scope id of the immediate super scope, or 0 when the class
Top

ReplayScopeSymbols (character, integer, SymbolStore, integer)

Purpose: Materializes the cached symbols of one skeleton scope
Notes :

Parameters:
pcClassKey CHARACTER
The qualified class name
piScopeSeq INTEGER
The scope sequence in the cached chain
poStore Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SymbolStore
The target symbol store
piScopeId INTEGER
The target scope id
Top

INTEGER ReplayTable (character, integer, SymbolStore, integer)

Purpose: Materializes a cached temp / work table in the target store
Notes : A table referenced by more than one buffer of the replayed chain
is created once per Replay call.

Parameters:
pcClassKey CHARACTER
The qualified class name
piTableKey INTEGER
The cached table key (0 for none)
poStore Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SymbolStore
The target symbol store
piScopeId INTEGER
The target scope id owning the table
Returns INTEGER
The store table id in the target store, or 0
Top

ResetInstance ()

Purpose: Drops the cached session-singleton instance
Notes : The next Instance access builds a fresh, empty cache.

Top

StoreClass (character, SymbolStore, integer)

Purpose: Extracts and stores the skeleton of a parsed super class
Notes : Scope 1 holds the inheritable (PUBLIC / PROTECTED /
PACKAGE-PROTECTED / PACKAGE-PRIVATE) variables and table buffers
of the class's root scope; the further scopes copy the class's
own super-scope chain, whose symbols are already-filtered
skeletons. Storing beyond MaxClasses evicts the least recently
used class.

Parameters:
pcClassKey CHARACTER
The qualified class name
poStore Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SymbolStore
The symbol store of the completed super-class parse
piRootScopeId INTEGER
The root scope id of that parse
Top

StoreScopeSymbols (character, integer, SymbolStore, integer, logical)

Purpose: Copies the inheritable symbols of one scope into the cache
Notes :
modifier on their DEFINE node are copied

Parameters:
pcClassKey CHARACTER
The qualified class name
piScopeSeq INTEGER
The scope sequence in the cached chain
poStore Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SymbolStore
The source symbol store
piScopeId INTEGER
The source scope id
plFilterModifiers LOGICAL
Whether only symbols with an inheritable access
Top

INTEGER StoreTable (character, SymbolStore, integer)

Purpose: Copies a temp / work table (with its fields) into the cache
Notes :

Parameters:
pcClassKey CHARACTER
The qualified class name
poStore Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SymbolStore
The source symbol store
piStoreTableId INTEGER
The source store table id
Returns INTEGER
The cached table key


Constructor Detail
Top

SuperScopeCache ()

Purpose: Constructor for the SuperScopeCache class
Notes : Resolves the access-modifier keyword type numbers once.



Property Detail
Top

Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SuperScopeCache Instance


Returns Consultingwerk.Studio.ProparseApi.Implementation.ProparseAbl.TreeParser.SuperScopeCache
Top

INTEGER MaxClasses


Returns INTEGER


©2006-2026 Consultingwerk Ltd.         info@consultingwerk.de         http://www.consultingwerk.de       19.09.2026 10:18:27