|
Options |
Name |
Purpose |
|
|
|
AddFrameFieldSymbol (integer, integer, logical, logical)
|
Registers a field / widget symbol with a frame's field container
Notes : A symbol already registered with the frame is not added twice -
an enabling statement only upgrades its enabled flag, mirroring
the reference engine's frame stack (SCL-3077)
@param piFrameSymbolId The frame symbol id
@param piSymbolId The registered field / widget symbol id
@param plField Whether the symbol is a field / variable (not a widget)
@param plEnabled Whether the registering statement enables the field
*/
|
|
|
|
AddRefs (integer, integer, integer)
|
Increments the read / write reference counts of a symbol
Notes :
@param piId The symbol id
@param piReads The number of reads to add
@param piWrites The number of writes to add
*/
|
|
|
|
INTEGER AllStoreTableIds ()
|
Returns the ids of all store-local (temp / work) tables
Notes : In creation order - used by the unqualified-field fallback
(SCL-5619)
@return The array of store table ids (indeterminate when none)
*/
|
|
|
|
INTEGER BlockBufferIds (integer)
|
Returns the table-buffer symbol ids scoped to a block
Notes :
@param piBlockId The block id
@return The array of table-buffer symbol ids (indeterminate when none)
*/
|
|
|
|
INTEGER BlockFrameIds (integer)
|
Returns the frame symbol ids scoped to a block
Notes : Like the reference engine's Block.getFrames (): only the frames
scoped to the block itself - initialized by a frame initializing
statement in the block or in a nested DO block, or set as the
block's explicit default frame. A frame defined but never used,
or scoped to a nested REPEAT / FOR block, is not listed
(SCL-5739). The frame symbol may belong to an outer scope: a
frame defined at the root and first used inside an internal
procedure is scoped to the procedure's block (SCL-5740).
@param piBlockId The block id
@return The array of frame symbol ids (indeterminate when none)
*/
|
|
|
|
INTEGER BlockIdForNode (integer)
|
Returns the id of the block whose head is a given AST node
Notes : The inverse of BlockNodeId; used by the IBlockNode:Block
accessor (SCL-5462). Returns 0 when the node does not head a
block
@param piNodeId The AST node id
@return The block id, or 0
*/
|
|
|
|
LOGICAL BlockIsMethodBlock (integer)
|
Returns whether a block is a method-level (routine) block
Notes : A scope root block whose scope has a parent scope - which
includes the compile unit's root block once a super-class scope
is chained, like the Java Block:isMethodBlock (SCL-5482).
@param piId The block id
@return Logical value indicating a method block
*/
|
|
|
|
LOGICAL BlockIsProgramBlock (integer)
|
Returns whether a block is the program block
Notes : A scope root block whose scope has no parent scope, like the
Java Block:isProgramBlock (SCL-5482).
@param piId The block id
@return Logical value indicating the program block
*/
|
|
|
|
LOGICAL BlockIsRootBlock (integer)
|
Returns whether a block is the root block of its scope
Notes :
@param piId The block id
@return Logical value indicating a root block
*/
|
|
|
|
INTEGER BlockNodeId (integer)
|
Returns the AST node id of a block
Notes :
@param piId The block id
@return The block node id, or 0
*/
|
|
|
|
INTEGER BlockParentId (integer)
|
Returns the parent block id of a block
Notes :
@param piId The block id
@return The parent block id, or 0
*/
|
|
|
|
INTEGER BlockScopeId (integer)
|
Returns the owning scope id of a block
Notes :
@param piId The block id
@return The scope id, or 0
*/
|
|
|
|
INTEGER BufferFieldBufferIds (integer)
|
Returns the field-buffer symbol ids created for a table buffer
Notes :
@param piBufferId The table-buffer symbol id
@return The array of field-buffer symbol ids (indeterminate when none)
*/
|
|
|
|
LOGICAL BufferIsDefault (integer)
|
Returns whether a table buffer is the default buffer of its table
Notes :
@param piId The buffer symbol id
@return Logical value indicating the default buffer
*/
|
|
|
|
LOGICAL BufferIsDefaultSchema (integer)
|
Returns whether a table buffer is an unnamed default schema buffer
Notes :
@param piId The buffer symbol id
@return Logical value indicating a default schema buffer
*/
|
|
|
|
CHARACTER BufferName (integer)
|
Returns the buffer name of a table-buffer symbol
Notes :
@param piId The buffer symbol id
@return The buffer name
*/
|
|
|
|
INTEGER BufferSchemaTableId (integer)
|
Returns the schema table id of a database table buffer
Notes :
@param piId The buffer symbol id
@return The schema table id, or 0
*/
|
|
|
|
INTEGER BufferScopeBlockId (integer)
|
Returns the block id of a buffer scope
Notes :
@param piId The buffer-scope id
@return The block id, or 0
*/
|
|
|
|
LOGICAL BufferScopeStrong (integer)
|
Returns whether a buffer scope is a strong scope
Notes :
@param piId The buffer-scope id
@return Logical value indicating a strong scope
*/
|
|
|
|
INTEGER BufferScopeSymbolId (integer)
|
Returns the table-buffer symbol id of a buffer scope
Notes :
@param piId The buffer-scope id
@return The buffer symbol id, or 0
*/
|
|
|
|
LOGICAL BufferScopeWeak (integer)
|
Returns whether a buffer scope is a weak scope
Notes :
@param piId The buffer-scope id
@return Logical value indicating a weak scope
*/
|
|
|
|
INTEGER BufferStoreTableId (integer)
|
Returns the store table id of a table buffer
Notes :
@param piId The buffer symbol id
@return The store table id, or 0
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.ITable BufferTable (integer)
|
Returns the ITable a table buffer resolves to, or the unknown value
Notes : A schema table buffer materializes a SchemaTable from the shared
Schema; a store table buffer materializes an AblTable.
@param piId The table-buffer symbol id
@return The ITable, or the unknown value when unresolved
*/
|
|
|
|
INTEGER BufferTableKind (integer)
|
Returns the table kind constant of a table buffer (DB / temp-table / work-table)
Notes :
@param piId The buffer symbol id
@return The table kind constant, or 0
*/
|
|
|
|
CHARACTER CallExternalName (integer)
|
Returns the external program name of a call
Notes :
@param piId The call id
@return The external program name
*/
|
|
|
|
CHARACTER CallFullName (integer)
|
Returns the full (external + internal) name of a call
Notes :
@param piId The call id
@return The full call name
*/
|
|
|
|
LOGICAL CallInHandle (integer)
|
Returns whether a call runs IN a procedure handle
Notes :
@param piId The call id
@return Logical value indicating an IN-handle call
*/
|
|
|
|
CHARACTER CallInternalName (integer)
|
Returns the internal procedure / method name of a call
Notes :
@param piId The call id
@return The internal name
*/
|
|
|
|
LOGICAL CallLocal (integer)
|
Returns whether a call targets a local (internal) routine
Notes :
@param piId The call id
@return Logical value indicating a local call
*/
|
|
|
|
CHARACTER CallLocalTarget (integer)
|
Returns the local target name of a call
Notes :
@param piId The call id
@return The local target name
*/
|
|
|
|
INTEGER CallParameterIds (integer)
|
Returns the parameter ids of a call (in argument order)
Notes :
@param piCallId The call id
@return The array of parameter ids (indeterminate when none)
*/
|
|
|
|
LOGICAL CallPersistent (integer)
|
Returns whether a call runs PERSISTENT
Notes :
@param piId The call id
@return Logical value indicating a persistent call
*/
|
|
|
|
INTEGER CallPersistentHandleNodeId (integer)
|
Returns the PERSISTENT SET handle AST node id of a call
Notes :
@param piId The call id
@return The handle node id, or 0
*/
|
|
|
|
INTEGER CallPersistentHandleSymbolId (integer)
|
Returns the symbol id of the persistent handle variable of a call
Notes :
@param piId The call id
@return The symbol id, or 0
*/
|
|
|
|
CHARACTER CallRunArgument (integer)
|
Returns the RUN argument text of a call
Notes :
@param piId The call id
@return The RUN argument text
*/
|
|
|
|
Clear ()
|
Empties the store
Notes :
*/
|
|
|
|
CollectScopes (integer)
|
Recursively collects a scope and its descendants (pre-order)
Notes :
@param piScopeId The scope id to visit
*/
|
|
|
|
INTEGER CreateBlock (integer, integer, integer, logical)
|
Creates a block
Notes : The method / program flags are not passed in - they derive from
whether the block's scope has a parent scope, like the Java
Block:isMethodBlock / :isProgramBlock (SCL-5482).
@param piScopeId The owning scope id
@param piParentBlockId The parent block id (0 for a root block)
@param piNodeId The block node id
@param plRootBlock Whether this is a scope root block
@return The new block id
*/
|
|
|
|
INTEGER CreateBufferScope (integer, integer, logical)
|
Creates a buffer scope (a table buffer scoped to a block)
Notes :
@param piBlockId The block id
@param piBufferId The table-buffer symbol id
@param plStrong Whether this is a strong buffer reference
@return The new buffer-scope id
*/
|
|
|
|
INTEGER CreateCall (integer, integer, character, character, character, logical, logical, logical)
|
Creates a call
Notes :
@param piScopeId The owning scope id
@param piNodeId The RUN / call node id
@param pcExternalName The external procedure name
@param pcInternalName The internal procedure name
@param pcRunArgument The RUN argument text
@param plPersistent Whether the call is RUN PERSISTENT
@param plLocal Whether the call is a local (internal) call
@param plInHandle Whether the call is RUN IN handle
@return The new call id
*/
|
|
|
|
INTEGER CreateCallParameter (integer, integer, integer, integer)
|
Creates a parameter of a call
Notes : From the Parameter_list of the call's RUN statement (SCL-5459).
@param piCallId The owning call id
@param piDirectionNodeId The INPUT / OUTPUT / INPUT-OUTPUT node id
@param piSymbolId The resolved argument symbol id (0 for an expression)
@param piProgressTypeNum The node type representing the Progress type (0 when unknown)
@return The new parameter id
*/
|
|
|
|
INTEGER CreateFieldBuffer (integer, integer, character, integer, character, integer, integer, character)
|
Creates a FIELD-BUFFER symbol
Notes :
@param piScopeId The owning scope id
@param piOwningBufferId The table-buffer symbol this field belongs to
@param pcName The field name
@param piProgressTypeNum The Proparse node type (FIELD)
@param pcDataType The ABL data type
@param piExtent The field extent
@param piSchemaFieldId The schema field id (0 when unresolved / store table)
@param pcDatabaseName The database name qualifying a database field in the full name (empty for a temp-table field)
@return The new symbol id
*/
|
|
|
|
INTEGER CreateFrame (integer, character, integer, integer, integer)
|
Creates a FRAME symbol
Notes :
@param piScopeId The owning scope id
@param pcName The frame name
@param piProgressTypeNum The Proparse node type (FRAME)
@param piDefineNodeId The DEFINE statement head node id (0 when implicit)
@param piFrameScopeBlockId The frame scope block id
@return The new symbol id
*/
|
|
|
|
INTEGER CreateScope (integer, integer, character)
|
Creates a symbol scope
Notes :
@param piParentScopeId The parent scope id (0 for the root scope)
@param piNodeId The node that opens the scope
@param pcTypeName The class / routine name (informational)
@return The new scope id
*/
|
|
|
|
INTEGER CreateStoreField (integer, character, character)
|
Creates a field of a store-local table
Notes : From the FIELD clauses of the table's DEFINE TEMP-TABLE /
WORK-TABLE statement (SCL-5459).
@param piStoreTableId The owning store table id
@param pcName The field name
@param pcDataType The field data type (from the AS clause)
@return The new store field id
*/
|
|
|
|
INTEGER CreateStoreTable (integer, character, integer)
|
Creates a store-local table (temp-table / work-table)
Notes :
@param piScopeId The owning scope id
@param pcName The table name
@param piStoreTypeNum The StoreTypeEnum value (TTABLE / WTABLE)
@return The new store table id
*/
|
|
|
|
INTEGER CreateTableBuffer (integer, character, integer, integer, logical, integer, integer, integer)
|
Creates a TABLE-BUFFER symbol
Notes :
@param piScopeId The owning scope id
@param pcName The buffer name
@param piProgressTypeNum The Proparse node type (BUFFER)
@param piDefineNodeId The DEFINE statement head node id (0 when implicit)
@param plDefault Whether this is the default (unnamed) buffer of the table
@param piTableKind The table-reference kind (TableKindSchema / TableKindStore / TableKindNone)
@param piSchemaTableId The schema table id (when TableKindSchema)
@param piStoreTableId The store table id (when TableKindStore)
@return The new symbol id
*/
|
|
|
|
INTEGER CreateVariable (integer, character, integer, integer, character, character, integer)
|
Creates a VARIABLE symbol
Notes :
@param piScopeId The owning scope id
@param pcName The variable name
@param piProgressTypeNum The Proparse node type (VARIABLE)
@param piDefineNodeId The DEFINE statement head node id
@param pcDataType The ABL data type
@param pcClassName The qualified class name, or the unknown value for a
primitive typed variable
@param piExtent The extent (0 = scalar)
@return The new symbol id
*/
|
|
|
|
INTEGER CreateWidget (integer, character, integer, integer)
|
Creates a widget symbol (a field-level widget defined by a
DEFINE BUTTON / IMAGE / RECTANGLE statement)
Notes : A widget participates in a frame's AllFieldsAndWidgets
collection but is not a field (SCL-3077)
@param piScopeId The owning scope id
@param pcName The widget name
@param piProgressTypeNum The token type of the widget kind (BUTTON, ...)
@param piDefineNodeId The DEFINE statement head node id
@return The new symbol id
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.IField FieldBufferField (integer)
|
Returns the IField a field buffer resolves to, or the unknown value
Notes : A schema field materializes a SchemaField from the shared Schema.
@param piId The field-buffer symbol id
@return The IField, or the unknown value when unresolved
*/
|
|
|
|
INTEGER FieldBufferOwningBufferId (integer)
|
Returns the owning table-buffer symbol id of a field buffer
Notes :
@param piId The field-buffer symbol id
@return The owning buffer symbol id, or 0
*/
|
|
|
|
INTEGER FieldBufferSchemaFieldId (integer)
|
Returns the schema field id of a field buffer
Notes :
@param piId The field-buffer symbol id
@return The schema field id, or 0
*/
|
|
|
|
INTEGER FindBufferScope (integer, integer)
|
Returns the buffer scope of a table buffer in a block, or 0
Notes : A buffer has one scope per block; a repeated record reference in
the same block reuses it (SCL-5480).
@param piBlockId The block id
@param piBufferId The table-buffer symbol id
@return The buffer-scope id, or 0 when the buffer is not scoped to the block
*/
|
|
|
|
INTEGER FindDefaultSchemaBuffer (integer, integer)
|
Finds the default table buffer for a schema table id in a scope tree
Notes : Used so a schema-table reference reuses the same default buffer.
@param piScopeId The scope to search from
@param piSchemaTableId The schema table id
@return The table-buffer symbol id, or 0
*/
|
|
|
|
INTEGER FindFieldBuffer (integer, character)
|
Finds a field buffer already created for a table buffer, by name
Notes :
@param piOwningBufferId The owning table-buffer symbol id
@param pcName The field name
@return The field-buffer symbol id, or 0
*/
|
|
|
|
INTEGER FindStoreFieldByName (integer, character)
|
Returns the id of the first field of a store table whose name
begins with the given (possibly abbreviated) name
Notes : Mirrors the reference engine's Table.lookupField prefix
semantics - the fields are visited in name order and the first
prefix match wins, so an exact name beats any longer name it
abbreviates (SCL-5619)
@param piStoreTableId The store table id
@param pcFieldName The field name (may be abbreviated)
@return The store field id, or 0 when the table holds no such field
*/
|
|
|
|
INTEGER FindSymbol (integer, integer, character)
|
Finds a symbol by name and kind, searching a scope and its ancestors
Notes : Returns the nearest matching symbol id, or 0 when none is found.
@param piScopeId The scope to search from
@param piKind The symbol kind
@param pcName The symbol name
@return The symbol id, or 0
*/
|
|
|
|
INTEGER FindSymbolInScope (integer, integer, character)
|
Finds a symbol by name and kind in one scope only
Notes : Unlike FindSymbol the ancestors of the scope are not searched -
used where a statement defines a symbol in its own scope
unless that scope already has one (SCL-5756)
@param piScopeId The scope to search
@param piKind The symbol kind
@param pcName The symbol name
@return The symbol id, or 0
*/
|
|
|
|
INTEGER FrameFieldSymbolIds (integer, logical, logical)
|
Returns the symbol ids registered with a frame's field container
Notes : Backs the IFieldContainer collections of the frame wrapper
(SCL-3077)
@param piFrameSymbolId The frame symbol id
@param plFieldsOnly Whether to return only fields / variables (no widgets)
@param plEnabledOnly Whether to return only enabled fields
@return The array of symbol ids (indeterminate when none)
*/
|
|
|
|
LOGICAL FrameInitialized (integer)
|
Returns whether a frame symbol has been initialized by a frame
initializing statement
Notes : SCL-5739
@param piId The symbol id
@return Logical value indicating whether the frame is initialized
*/
|
|
|
|
INTEGER FrameScopeBlockId (integer)
|
Returns the scoping block id of a frame symbol
Notes :
@param piId The frame symbol id
@return The scoping block id, or 0
*/
|
|
|
|
INTEGER FrameScopeNodeId (integer)
|
Returns the frame scoping node of a frame symbol
Notes : 0 while the frame is neither initialized nor explicitly scoped
(SCL-5739)
@param piId The symbol id
@return The frame scoping node id, or 0
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.IBlock GetBlock (integer)
|
Returns the lazy IBlock wrapper for a block id
Notes :
@param piId The block id
@return The IBlock wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.IBufferScope GetBufferScope (integer)
|
Returns the lazy IBufferScope wrapper for a buffer-scope id
Notes :
@param piId The buffer-scope id
@return The IBufferScope wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.ICall GetCall (integer)
|
Returns the lazy ICall wrapper for a call id
Notes :
@param piId The call id
@return The ICall wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.IFieldBuffer GetFieldBuffer (integer)
|
Returns the lazy IFieldBuffer wrapper for a field-buffer symbol id
Notes :
@param piId The symbol id
@return The IFieldBuffer wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.IFrame GetFrame (integer)
|
Returns the lazy IFrame wrapper for a frame symbol id
Notes :
@param piId The symbol id
@return The IFrame wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.IParameter GetParameter (integer)
|
Returns the lazy IParameter wrapper for a parameter id
Notes :
@param piId The parameter id
@return The IParameter wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.ISymbolScope GetScope (integer)
|
Returns the lazy ISymbolScope wrapper for a scope id
Notes :
@param piId The scope id
@return The ISymbolScope wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.IField GetStoreField (integer)
|
Returns the lazy IField wrapper for a store field id
Notes :
@param piId The store field id
@return The IField wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.ISymbol GetSymbol (integer)
|
Returns the lazy ISymbol wrapper for a symbol id
Notes :
@param piId The symbol id
@return The ISymbol wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.ITableBuffer GetTableBuffer (integer)
|
Returns the lazy ITableBuffer wrapper for a buffer symbol id
Notes :
@param piId The symbol id
@return The ITableBuffer wrapper, or the unknown value
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.IVariable GetVariable (integer)
|
Returns the lazy IVariable wrapper for a variable symbol id
Notes :
@param piId The symbol id
@return The IVariable wrapper, or the unknown value
*/
|
|
|
|
LOGICAL HiddenFromKindFilter (integer)
|
Returns whether the bSymbolScan record is hidden from a
kind-filtered symbol enumeration
Notes : Reads the positioned bSymbolScan buffer of ScopeSymbolIds.
@param piKind The symbol kind filter (0 = all)
@return Logical value indicating a hidden symbol
*/
|
|
|
|
InitializeFrame (integer, integer, integer)
|
Initializes a frame on its first use by a frame initializing
statement
Notes : Mirrors the reference engine's Frame.initialize (): the first
initialization scopes the frame to the given block / frame
scoping node unless an explicit DO / FOR / REPEAT WITH FRAME
scoped it before; later initializations are no-ops (SCL-5739)
@param piSymbolId The frame symbol id
@param piBlockId The (scope root) block the initializing statement belongs to
@param piScopeNodeId The frame scoping node of the initializing statement
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.INode NodeWrapper (integer)
|
Materializes the INode wrapper for a node id (or the unknown value)
Notes : Convenience for the symbol wrappers; returns the unknown value when
the node store is unset or the id is 0.
@param piNodeId The node id
@return The INode wrapper, or the unknown value
*/
|
|
|
|
INTEGER ParameterDirectionNodeId (integer)
|
Returns the direction (INPUT / OUTPUT / INPUT-OUTPUT) AST node id of a parameter
Notes :
@param piId The parameter id
@return The direction node id, or 0
*/
|
|
|
|
INTEGER ParameterProgressTypeNum (integer)
|
Returns the Proparse type number of a parameter
Notes :
@param piId The parameter id
@return The Proparse type number, or 0
*/
|
|
|
|
INTEGER ParameterSymbolId (integer)
|
Returns the symbol id bound to a parameter
Notes :
@param piId The parameter id
@return The parameter symbol id, or 0
*/
|
|
|
|
LOGICAL PositionBlock (integer)
|
Positions the block buffer on a block id (cached)
Notes :
@param piId The block id
@return Logical value indicating whether the block record is available
*/
|
|
|
|
LOGICAL PositionBufferScope (integer)
|
Positions the buffer-scope buffer on a buffer-scope id (cached)
Notes :
@param piId The buffer-scope id
@return Logical value indicating whether the buffer-scope record is available
*/
|
|
|
|
LOGICAL PositionCall (integer)
|
Positions the call buffer on a call id (cached)
Notes :
@param piId The call id
@return Logical value indicating whether the call record is available
*/
|
|
|
|
LOGICAL PositionParameter (integer)
|
Positions the parameter buffer on a parameter id (cached)
Notes :
@param piId The parameter id
@return Logical value indicating whether the parameter record is available
*/
|
|
|
|
LOGICAL PositionScope (integer)
|
Positions the scope buffer on a scope id (cached)
Notes :
@param piId The scope id
@return Logical value indicating whether the scope record is available
*/
|
|
|
|
LOGICAL PositionStoreField (integer)
|
Positions the store-field buffer on a field id (cached)
Notes :
@param piId The store field id
@return Logical value indicating whether the field record is available
*/
|
|
|
|
LOGICAL PositionSymbol (integer)
|
Positions the symbol buffer on a symbol id (cached)
Notes :
@param piId The symbol id
@return Logical value indicating whether the symbol record is available
*/
|
|
|
|
LOGICAL PositionTable (integer)
|
Positions the store-table buffer on a table id (cached)
Notes :
@param piId The store table id
@return Logical value indicating whether the table record is available
*/
|
|
|
|
RecomputeScopeDepth (integer, integer)
|
Sets the depth of a scope and recomputes its descendants
Notes :
@param piScopeId The scope id
@param piDepth The new depth
*/
|
|
|
|
INTEGER ScopeCallIds (integer)
|
Returns the call ids of a scope
Notes :
@param piScopeId The scope id
@return The array of call ids (indeterminate when none)
*/
|
|
|
|
INTEGER ScopeChildIds (integer)
|
Returns the child scope ids of a scope
Notes :
@param piScopeId The scope id
@return The array of child scope ids (indeterminate when none)
*/
|
|
|
|
INTEGER ScopeDepth (integer)
|
Returns the nesting depth of a scope
Notes :
@param piId The scope id
@return The scope depth, or 0
*/
|
|
|
|
INTEGER ScopeDescendantIds (integer, logical)
|
Returns a scope and all its descendant scope ids (pre-order)
Notes : Self is the first element; pass false for plIncludeSelf to drop it.
@param piScopeId The scope id
@param plIncludeSelf Whether to include the scope itself
@return The array of scope ids (indeterminate when none)
*/
|
|
|
|
INTEGER ScopeNodeId (integer)
|
Returns the defining AST node id of a scope
Notes :
@param piId The scope id
@return The scope node id, or 0
*/
|
|
|
|
INTEGER ScopeParentId (integer)
|
Returns the parent scope id of a scope
Notes :
@param piId The scope id
@return The parent scope id, or 0
*/
|
|
|
|
INTEGER ScopeRootBlockId (integer)
|
Returns the root block id of a scope
Notes :
@param piId The scope id
@return The root block id, or 0
*/
|
|
|
|
INTEGER ScopeRootScopeId (integer)
|
Returns the root (program) scope id of a scope
Notes : The nearest root-like ancestor-or-self. The compile unit's root
scope is its own root even when a super-class skeleton scope is
chained as its parent, like the Java SymbolScope:getRootScope
(SCL-5482).
@param piId The scope id
@return The root scope id, or 0
*/
|
|
|
|
INTEGER ScopeSymbolIds (integer, integer)
|
Returns the symbol ids of a scope, optionally filtered by kind
Notes : Pass 0 for piKind to return all symbols. The kind-filtered form
mirrors the Java map-backed collections (SCL-5482): the variables
exclude shadowed (redefined) entries like getVariables, and the
buffers exclude the unnamed default schema buffers like
getBufferSet (those live in the separate unnamedBuffers map of
the reference). The unfiltered form mirrors getAllSymbols, which
includes both.
@param piScopeId The scope id
@param piKind The symbol kind filter (0 = all)
@return The array of symbol ids (indeterminate when none)
*/
|
|
|
|
INTEGER ScopeSymbolIdsDeep (integer)
|
Returns the symbol ids of a scope and all its descendant scopes
Notes :
@param piScopeId The scope id
@return The array of symbol ids (indeterminate when none)
*/
|
|
|
|
CHARACTER ScopeTypeName (integer)
|
Returns the class / routine name of a scope (informational)
Notes :
@param piId The scope id
@return The scope type name
*/
|
|
|
|
SetCallPersistentHandle (integer, integer, integer)
|
Links a RUN ... PERSISTENT SET call to its handle reference node
and the handle variable symbol
Notes :
@param piId The call id
@param piNodeId The Field_ref node id of the SET handle reference
@param piSymbolId The symbol id of the handle variable
*/
|
|
|
|
SetFrameScopeNode (integer, integer, integer)
|
Scopes a frame explicitly to a block header (DO / FOR / REPEAT
WITH FRAME name)
Notes : Mirrors the reference engine's
Frame.setFrameScopeBlockExplicitDefault (): the frame becomes
the default frame of that block without being initialized
(SCL-5739). A frame that is already scoped - initialized by an
earlier FORM / DISPLAY or scoped by an outer block header -
keeps its scope; the block header only makes it the block's
default frame (frames.p t4a, SCL-5748)
@param piSymbolId The frame symbol id
@param piScopeNodeId The block header node
@param piBlockId The (scope root) block the block header belongs to
*/
|
|
|
|
SetScopeParent (integer, integer)
|
Links a scope to a (new) parent scope
Notes : Chains the super-class skeleton scope as the parent of the compile
unit's root scope, like the Java SymbolScopeRoot:assignSuper
(SCL-5482). The scope keeps its root-like nature; its depth (and
the depth of any descendant scopes) is recomputed from the new
parent.
@param piScopeId The scope id
@param piParentScopeId The new parent scope id
*/
|
|
|
|
SetScopeTypeName (integer, character)
|
Sets the class / routine name of a scope (informational)
Notes : The root scope is created before the CLASS statement is seen, so
the tree parser supplies the class name afterwards (SCL-5482).
@param piId The scope id
@param pcTypeName The scope type name
*/
|
|
|
|
SetSymbolNodes (integer, integer, integer)
|
Sets the AS / LIKE / indirect-define nodes of a symbol
Notes : Set by the tree parser after the symbol's clauses are structured.
@param piId The symbol id
@param piAsNodeId The AS node id (0 when none)
@param piLikeNodeId The LIKE node id (0 when none)
*/
|
|
|
|
SetSymbolRunHandle (integer, character)
|
Records the procedure a handle variable was set to
Notes : The FIRST RUN ... PERSISTENT SET wins - a variable set twice
keeps the procedure of the first statement, matching the
reference engine.
@param piId The symbol id
@param pcValue The procedure name
*/
|
|
|
|
CHARACTER StoreFieldDataType (integer)
|
Returns the data type name of a store field
Notes :
@param piId The store field id
@return The data type name
*/
|
|
|
|
INTEGER StoreFieldIds (integer)
|
Returns the field ids of a store-local table (in definition order)
Notes :
@param piStoreTableId The store table id
@return The array of store field ids (indeterminate when none)
*/
|
|
|
|
CHARACTER StoreFieldName (integer)
|
Returns the name of a store field
Notes :
@param piId The store field id
@return The field name
*/
|
|
|
|
INTEGER StoreFieldTableId (integer)
|
Returns the owning store table id of a store field
Notes :
@param piId The store field id
@return The store table id, or 0
*/
|
|
|
|
CHARACTER StoreTableName (integer)
|
Returns the name of a store table
Notes :
@param piId The store table id
@return The table name
*/
|
|
|
|
INTEGER StoreTableStoreType (integer)
|
Returns the store type constant of a store table
Notes :
@param piId The store table id
@return The store type constant, or 0
*/
|
|
|
|
INTEGER SymbolAsNodeId (integer)
|
Returns the AS clause AST node id of a symbol
Notes :
@param piId The symbol id
@return The AS node id, or 0
*/
|
|
|
|
CHARACTER SymbolClassName (integer)
|
Returns the class type name of an object-typed symbol
Notes :
@param piId The symbol id
@return The class type name
*/
|
|
|
|
CHARACTER SymbolDataType (integer)
|
Returns the data type name of a symbol
Notes :
@param piId The symbol id
@return The data type name
*/
|
|
|
|
INTEGER SymbolDefineNodeId (integer)
|
Returns the defining AST node id of a symbol
Notes :
@param piId The symbol id
@return The define node id, or 0
*/
|
|
|
|
LOGICAL SymbolExists (integer)
|
Returns whether a symbol id exists in the store
Notes :
@param piId The symbol id
@return Logical value indicating symbol existence
*/
|
|
|
|
LOGICAL SymbolExported (integer)
|
Returns whether a symbol is exported (DEFINE NEW SHARED)
Notes :
@param piId The symbol id
@return Logical value indicating an exported symbol
*/
|
|
|
|
INTEGER SymbolExtent (integer)
|
Returns the extent dimension of a symbol
Notes :
@param piId The symbol id
@return The extent dimension, or 0
*/
|
|
|
|
CHARACTER SymbolFullName (integer)
|
Returns the fully qualified name of a symbol
Notes :
@param piId The symbol id
@return The fully qualified symbol name
*/
|
|
|
|
LOGICAL SymbolImported (integer)
|
Returns whether a symbol is imported (DEFINE SHARED)
Notes :
@param piId The symbol id
@return Logical value indicating an imported symbol
*/
|
|
|
|
INTEGER SymbolIndirectDefineNodeId (integer)
|
Returns the indirect-define AST node id of a symbol
Notes :
@param piId The symbol id
@return The indirect define node id, or 0
*/
|
|
|
|
INTEGER SymbolKind (integer)
|
Returns the kind constant of a symbol (variable / buffer / frame / ...)
Notes :
@param piId The symbol id
@return The symbol kind constant, or 0
*/
|
|
|
|
INTEGER SymbolLikeNodeId (integer)
|
Returns the LIKE clause AST node id of a symbol
Notes :
@param piId The symbol id
@return The LIKE node id, or 0
*/
|
|
|
|
CHARACTER SymbolName (integer)
|
Returns the name of a symbol
Notes :
@param piId The symbol id
@return The symbol name
*/
|
|
|
|
INTEGER SymbolNumReads (integer)
|
Returns the number of read references of a symbol
Notes :
@param piId The symbol id
@return The read reference count, or 0
*/
|
|
|
|
INTEGER SymbolNumWrites (integer)
|
Returns the number of write references of a symbol
Notes :
@param piId The symbol id
@return The write reference count, or 0
*/
|
|
|
|
INTEGER SymbolProgressTypeNum (integer)
|
Returns the Proparse type number of a symbol
Notes :
@param piId The symbol id
@return The Proparse type number, or 0
*/
|
|
|
|
CHARACTER SymbolRunHandle (integer)
|
Returns the name of the procedure a handle variable was set to
Notes : Set by a RUN ... PERSISTENT SET <variable> statement. The empty
string when the variable is not a persistent-procedure handle.
@param piId The symbol id
@return The procedure name, or the empty string
*/
|
|
|
|
INTEGER SymbolScopeId (integer)
|
Returns the owning scope id of a symbol
Notes :
@param piId The symbol id
@return The scope id, or 0
*/
|