Method Definition Error Analysis
When the AutoComplete feature is in use, the Jade editor performs error analysis of the method definition as you modify the method, which makes you aware of issues before you compile the method.
When an error is detected, the text in error is decorated with a red wavy underline symbol. Hovering the mouse over such text displays a bubble help entry with a brief description of the error. This analysis is controlled by the Perform Method Error Analysis check box in the Auto Complete group box on the Editor Options sheet of the Preferences dialog. (This check box is checked, by default.)
The error analysis does not use the compiler and it runs on the client inside the editor.
The analysis detects most issues, including:
-
Syntax errors
-
Invalid local variables and constant definitions
-
Invalid method and parameter options
-
Unknown identifiers
-
Invalid type comparisons and assignments
-
Invalid parameter type passed to a method
-
Invalid method parameter count
-
Invalid use of parameters according to their declared usage; for example, assignment to a constant parameter
-
Invalid calls to an updating method from a non‑updating method
-
Invalid statements; that is, those that do nothing (for example, indx = 0;)
-
Unmatched block endings and break commands; for example, an if instruction without a matching endif instruction and break instruction not in a loop
-
Invalid mixed expression types
-
Unmatched parentheses
-
Invalid type casts
The analysis does not check the following. (This list may grow in future, as other unhandled cases are identified.)
-
Whether the method option is appropriate (except for updating); for example, webService, unitTest, and so on
-
The class lifetime requirements for a create instruction
The impact on you should be minimal, with the exception being that the AutoComplete feature requires access to all of the entities referenced in the current page of logic. This may cause a longer lead time to retrieve these entities from the server if AutoComplete has not seen them before. Once those entities have been retrieved and cached on the client, the operation should not cause any further delays. As this functionality is on by default, if performance is ever an issue, turn off the user preference.
Method analysis is ignored for an external function definition and for a Workspace.
The method analysis is performed:
-
After the editor pane gains focus and the method has been changed or it has compile errors.
-
One second after you have changed a method and have paused typing.
-
After you have changed the method using a selection from the AutoComplete list box.