%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
Deprecatedkeyword that is:- Referenced in ObjectScript code using
##class()or$SYSTEM.class.method()syntax. - In the superclass,
CompileAfter,DependsOn, orPropertyClasslist 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
Deprecatedkeyword that is referenced using:-
##class().method()syntax. -
$SYSTEM.class.method()syntax. -
variable.method()syntax, wherevariableis 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
Deprecatedkeyword that is referenced using:-
variable.propertysyntax, wherevariableis a method argument defined with a type or a local variable with a type declared using#Dim. -
$THIS.propertysyntax, when in a class definition. - Instance variable (
i%property) syntax, when in a class definition.
-
- A Parameter defined with the
Deprecatedkeyword that is referenced using:-
##class().#parametersyntax. -
variable.#parametersyntax, wherevariableis a method argument defined with a type or a local variable with a type declared using#Dim. -
$THIS.#parametersyntax, when in a class definition. - Relative dot (
..#parameter) syntax, when in a class definition.
-
- A
$ZUTILfunction listed in the $ZUTIL Replacements documentationOpens in a new tab. - A
$ZOBJfunction 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
LegacyInstanceContextor a reference to the obsolete%thisvariable. - Property keyword
SqlListDelimiterorSqlListType. - A Method or Trigger with keyword
CodeModeset 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.