188.8.131.52 release notes
Post date: Feb 10, 2020 3:38:12 PM
New Apex code inspections and associated code intentions (i.e., quick fixes) to further minimize the need for potentially expensive metadata deployments to determine whether the source code will compile successfully or not:
Issue 1220 - Added a new Apex code inspection and associated code intentions to verify agreement between various modifiers and annotations. There are too many rules to list explicitly, but here are a few examples:
An abstract method must have the abstract modifier and be in a class that also has that modifier. It must also have no method body. Illuminated Cloud now detects violations of these rules and provides quick fixes to change the method and enclosing class to meet the contract, or to change the method not to be (partially) abstract.
An Apex REST service method must have one of the Http* annotations and be in a class with the RestResource annotation. It must also have global visibility and be designated as a class method via the static modifier. Illuminated Cloud also detects violations of these rules and provides quick fixes to add the required class-level annotation, promote the method visibility, and add the static modifier.
There are many other variations of modifier/annotation agreement issues that are now detected and can be fixed by Illuminated Cloud. Please see the demonstration video for a more exhaustive list.
Added a new Apex code inspection and associated code intentions to perform control flow analysis on method, constructor, and property accessor exit points. Illuminated Cloud can now detect and assist with resolution of the following types of issues:
Methods with no designated return value type (void) which attempt to return values. Illuminated Cloud offers quick fixes to change the method return type to match the type(s) of the returned expression, remove the return statement, or remove the returned expression while retaining the return statement to preserve the control flow logic. Note that constructors and property write accessors are treated as methods with no designated return value, though Illuminated Cloud will not offer a quick fix to change the return type of those declaration types.
Methods with a designated return value type which never return a value, or which have logic branches which ultimately do not return values and do not result in thrown exceptions returning control to the caller. Illuminated Cloud offers quick fixes to change the method return type to void, add a return value to a return statement with no value, or add a return statement with a returned value. Note that property read accessors are treated as methods with the same return value type as the property; Illuminated Cloud will not offer a quick fix to change properties to void.
As with the code intention above, the demonstration video provides a more complete examination of Illuminated Cloud's Apex control flow analysis capabilities.
NOTE: When violations of the rules managed by these new code inspections are flagged by Illuminated Cloud, use the Quick Fix keyboard shortcut—Alt+Enter on Windows/Linux or Opt+Enter on Mac—to display and use the available quick fixes.
Fixed an issue with deployment of static resource bundles under the main source root via the Metadata API where the corresponding meta.xml file was not being added to the deployment payload.
Prospective fix for a deadlock observed by a user when reporting deployment errors.
Other related fixes and improvements.