2.1.1.0 release notes

Post date: Mar 16, 2020 3:26:6 PM

2.1.1.0

  • Apex Change Method Signature Refactoring - Added a Change Method Signature refactoring for Apex constructors, methods, and interface methods (collectively called "methods" in this description for simplicity):

    • Allows the user to change most of a method's characteristics including visibility (except interface methods), return type (except constructors), name, and parameters.

    • Method parameters can be added, removed, and reordered, and their types and names can be changed.

    • Default values/expressions can be specified for added method parameters.

    • The user can optionally choose to generate a backward-compatible version of the original signature that delegates to the changed signature to minimize the ripple effect of the change across the code base.

    • When an interface method implementation or method override is selected for this refactoring, the user is prompted whether to refactor the defining base declaration or the selected declaration.

    • When the signature of an implemented interface method or overridden base method is changed, the change is propagated to all implementations/overrides for consistency.

    • Existing ApexDoc comments are updated to reflect method signature changes including addition/removal/reordering of @param tags as appropriate, addition/removal of the @return tag, etc.

    • The requested changes are validated against the affected code to help ensure that conflicts, unresolvable references, etc., are not introduced as a result.

    • Qualifications are added to references of local class members if necessary to avoid ambiguity with renamed or added parameters.

  • Apex Rename Refactoring Improvements

    • When an interface method implementation or method override is selected for this refactoring, the user is prompted whether to refactor the defining base declaration or the selected declaration.

    • Qualifications are added to references of local class members if necessary to avoid ambiguity with renamed parameters or local variables.

  • Other related fixes and improvements.