2.0.0.6 release notes

Post date: Jan 09, 2018 4:0:23 PM

2.0.0.6

  • Major enhancements to the Illegal assignment code inspection. It should now inspect most expressions and statements which could result in a type mismatch including:

    • Invocation arguments against receiving formal parameters.

    • Arithmetic expressions.

    • Relational expressions.

    • Logical expressions including ternary expression conditions.

    • Unary expressions.

    • Bitwise expressions.

    • Loop variables against iterated collections in enhanced for statements.

    • Conditions in if, while, do/while, and classic statements.

    • Returned values against method declared return type.

    • Exceptions in throw statements and catch clauses.

    • DML operations.

    • System.runAs() statements.

  • Fixed an issue with detection of declarations which are only ever used from test classes in the Unused declaration code inspection.

  • Eliminated several false negatives from the Unused declaration code inspection including:

    • Constructors for Visualforce and Lightning Apex controller and extension controller classes.

    • Private no-arg constructors with no bodies (often used to control access to utility classes and simple singletons).

    • @TestVisible-annotated symbols referenced only from test classes.

  • Issue 813 - Parameter info now works in explicit constructor invocations such as this() and super().

  • Issue 838 - Fixed an issue where an incorrect reference was generate when multiple inner classes exist with the same name.

  • Issue 840 - Prospective fix for issue which could result in invalid references and therefore code inspection false negatives.

  • Issue 842 - Partial fix to suppress code inspection false negatives for Apex managed sharing references.

  • Issue 844 - Fixed a recent regression which could cause inheritance hierarchies to be computed incorrectly.

  • Fixed an issue with references to Visualforce controller methods named get*.

  • NOTE: - These changes require OST regeneration. However, only the system classes need to be updated. This lighter-weight OST generation happens automatically if you click Resolve in the warning about the OST being out-of-date. The resulting OST update should take only a few seconds followed by reindexing.