|
|
|
AddAnnotationIfMissing ()
|
Adds the @lowercase. / @uppercase. annotation to the source when
it is missing
|
|
|
|
CorrectKeywordCase (KeywordCaseEnum, logical)
|
Corrects the case of all ABL keywords in the source file
|
|
|
|
LOGICAL IsHandleExpression (INode)
|
Returns whether the node is (part of) a handle-valued expression,
resolving member reference chains to the root of the expression
|
|
|
|
LOGICAL IsMemberReference (INode)
|
Returns whether the node is a member reference, i.e. the name
following an OBJCOLON (SESSION:TEMP-DIRECTORY, oEnum:Label)
|
|
|
|
LOGICAL IsNoArgFunctionKeyword (INode)
|
Returns whether the node is a built-in function keyword that may
be invoked without an argument but is typed as a plain identifier
by Proparse
Notes : The keyword table flags GUID with MAY_BE_REGULAR_FUNC only, so a
bare GUID (without a parenthesized argument) is re-typed to an ID
node inside a Field_ref during the parse and would otherwise keep
its case. Member references (oObject:Guid) never reach this test -
see IsMemberReference - and a qualified field reference
(eTable.GUID) carries the qualified name as its node text, so a
user defined field named GUID is left untouched (SCL-5534)
@param poNode The INode to test
@return TRUE when the node is a no-argument built-in function keyword typed as an identifier
*/
|
|
|
|
LOGICAL IsSystemHandleAttribute (INode)
|
Returns whether the node is the attribute or method name of an ABL
handle reference
|
|
|
|
LOGICAL IsUnknownFunctionKeyword (INode)
|
Returns whether the node is a built-in function keyword that is
unknown to Proparse and typed as a local method reference
Notes : The Proparse keyword table predates DYNAMIC-PROPERTY, so the
lexer types the name as a plain identifier. Inside a class an
unknown identifier followed by an argument list is parsed as a
local method reference (LOCAL_METHOD_REF) - for the getter,
setter and ASSIGN forms alike - so the keyword would otherwise
keep its case. Only the names in cUnknownFunctionKeywords
qualify - a user defined local method never collides with them,
since these keywords contain a hyphen, which is invalid in a
method name (SCL-5558)
@param poNode The INode to test
@return TRUE when the node is a built-in function keyword typed as a local method reference
*/
|
|
|
|
Consultingwerk.Studio.ProparseApi.INode MemberReferenceOwner (INode)
|
Returns the node the member reference is taken from, i.e. the node
left of the OBJCOLON preceding the given node
|
|
|
|
LOGICAL ProcessNode (INode)
|
Processes a single AST node, correcting the case of keyword tokens
|