tree 31427ac7fd6956905d4d3a2c1be73a58981ffa34
parent cd864dc7b2e50bda38a52946c4759245697b306d
author Fabrice Tiercelin <fabrice.tiercelin@yahoo.fr> 1621167430 +0200
committer Fabrice Tiercelin <fabrice.tiercelin@yahoo.fr> 1621222100 -0400

Bug 573325 - [cleanup & saveaction] Handle methods on Primitive/Wrapper

Convert a wrapper into a primitive, even if some methods need to be
changed:

Given:
        Double alwaysInitializedVar = new Double("0");

        if (alwaysInitializedVar.doubleValue() > 0.0) {
            System.out.println(alwaysInitializedVar.toString() + 1);
        }

        return alwaysInitializedVar.compareTo(d);

When:
Applying the rule "Primitive rather than wrapper"...

Then:
        double alwaysInitializedVar = Double.parseDouble("0");

        if (alwaysInitializedVar > 0.0) {
            System.out.println(Double.toString(alwaysInitializedVar) +
1);
        }

        return Double.compare(alwaysInitializedVar, d);

Change-Id: I240fa2a9afb61257eed10b9673b54d036a1ad717
Signed-off-by: Fabrice Tiercelin <fabrice.tiercelin@yahoo.fr>
Reviewed-on: https://git.eclipse.org/r/c/jdt/eclipse.jdt.ui/+/180151
