tree 9e406f4e476f49d2ea007632009087baf263f39b
parent afa684956804337d8af0e52c98cf2c99d35fe707
author Lars Vogel <Lars.Vogel@vogella.com> 1623146318 +0200
committer Alexander Kurtakov <akurtako@redhat.com> 1623848137 -0400

Use JDT static inner class clean up for search plug-ins

This ticket uses and tests the "Use static inner class" cleanup feature:
 - It reviews the feature
 - It reduces the memory consumption as it avoids the pointer to the
outer class

Example:

Before:

public class Outer {

public class InnerClass {
    int i;

    public boolean anotherMethod() {
        return true;
    }
}
}

After:

public class Outer {

public static class InnerClass {
    int i;

    public boolean anotherMethod() {
        return true;
    }
}
}


Change-Id: If2fd5457666e4161e3eafa25893b0ec38d8eb36a
Signed-off-by: Lars Vogel <Lars.Vogel@vogella.com>
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.text/+/181576
Tested-by: Platform Bot <platform-bot@eclipse.org>
Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
