Announcements‎ > ‎ release notes

posted Jan 9, 2018, 8:00 AM by Scott Wells

  • 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 ifwhiledo/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.