When the AutoComplete feature is in use, the JADE editor can now perform 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
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 the future as other unhandled cases as 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.
.Note that with these changes, the following enhancements have been made to the AutoComplete feature.
userFormat references in logic are now handled
The list box prompt in some areas of a method declaration (for example, constant values) that were previously not handled are now always displayed
Package references (for example, parameter types) are now handled
AutoComplete can now determine the type of an expression and can now offer the correct list box alternatives; for example:
(amethodCall() * 56 + 1)
Use of ([..]) expressions for Dictionary and ExternalDictionary types that actually mean a call to the getAtKey method display the signature required for the getAtKey call and highlight the current parameter that is being edited.
Use of ([..]) expressions for Array and ExternalArray types that actually mean a call to the at method display the signature required for the at call and highlight the current parameter being edited.