%SYSTEM.CodeScanner
class %SYSTEM.CodeScanner extends %SYSTEM.Help
Used to scan user code looking for references to deprecated functionality.Method Inventory
Parameters
Methods
Scan this namespace looking for code that may not work correctly due to use of unsupported features. You can pass an options SearchList argument which is a mask of which documents to search for.
Scan all namespaces on this system looking for code that may not work correctly due to use of unsupported features. You can pass an options SearchList argument which is a mask of which documents to search for.
Queries
ObjectScript code in the routine body, Property SqlComputeCode
, and Method and Trigger implementations with Language = objectscript
is scanned. Classes defined with the Deprecated
keyword will not be scanned. The mapped argument controls whether documents mapped from
a non-default database are scanned. By default, only documents in the default database will be scanned.
The query returns:
- Document - The name of the document, including the file extension.
- Location - A line number or class keyword describing where the deprecated reference is located in Document.
- Message - A string describing the deprecated reference at Location in Document.
- A class defined with the
Deprecated
keyword that is:- Referenced in ObjectScript code using
##class()
or$SYSTEM.class.method()
syntax. - In the superclass,
CompileAfter
,DependsOn
, orPropertyClass
list of a class definition. - Defined as the type of an argument in a Method or class Query's argument list.
- Defined as the return type of a Method.
- Defined as the type of a Property or class Query.
- Referenced in ObjectScript code using
- A Method defined with the
Deprecated
keyword that is referenced using:-
##class().method()
syntax. -
$SYSTEM.class.method()
syntax. -
variable.method()
syntax, wherevariable
is a method argument defined with a type or a local variable with a type declared using#Dim
. -
$THIS.method()
syntax, when in a class definition. - Relative dot (
..method()
) syntax, when in a class definition.
-
- A Property defined with the
Deprecated
keyword that is referenced using:-
variable.property
syntax, wherevariable
is a method argument defined with a type or a local variable with a type declared using#Dim
. -
$THIS.property
syntax, when in a class definition. - Instance variable (
i%property
) syntax, when in a class definition.
-
- A Parameter defined with the
Deprecated
keyword that is referenced using:-
##class().#parameter
syntax. -
variable.#parameter
syntax, wherevariable
is a method argument defined with a type or a local variable with a type declared using#Dim
. -
$THIS.#parameter
syntax, when in a class definition. - Relative dot (
..#parameter
) syntax, when in a class definition.
-
- A
$ZUTIL
function listed in the $ZUTIL Replacements documentationOpens in a new tab. - A
$ZOBJ
function that has been replaced with a standard system functionOpens in a new tab. - The #sqlcompile modeOpens in a new tab macro preprocessor directive.
-
$ZF(-1)
or$ZF(-2)
. - Class keyword
LegacyInstanceContext
or a reference to the obsolete%this
variable. - Property keyword
SqlListDelimiter
orSqlListType
. - A Method or Trigger with keyword
CodeMode
set to 'generator'. - A system function that is not supported in user code.
- A short class name that did not match a class in any of the imported packages.
- A short class name that matched classes in multiple imported packages and therefore was ambiguous.
- A Method or class Query argument list that is formatted incorrectly.