diff --git a/java/java-tests/testSrc/com/intellij/util/indexing/IndexTest.java b/java/java-tests/testSrc/com/intellij/util/indexing/IndexTest.java index 805296732a00..713b2740d157 100644 --- a/java/java-tests/testSrc/com/intellij/util/indexing/IndexTest.java +++ b/java/java-tests/testSrc/com/intellij/util/indexing/IndexTest.java @@ -528,7 +528,8 @@ public class IndexTest extends JavaCodeInsightFixtureTestCase { FileDocumentManager.getInstance().saveAllDocuments(); PsiDocumentManager.getInstance(getProject()).commitAllDocuments(); - //noinspection GroovyUnusedAssignment + //Let's help GC, even in interpreter mode + //noinspection UnusedAssignment psiFile = null; GCWatcher.tracking(getPsiManager().getFileManager().getCachedPsiFile(vFile)) .ensureCollected(() -> UIUtil.dispatchAllInvocationEvents()); diff --git a/jps/jps-builders-6/src/org/jetbrains/jps/javac/JavacMain.java b/jps/jps-builders-6/src/org/jetbrains/jps/javac/JavacMain.java index a97714db183e..2c914a9e2925 100644 --- a/jps/jps-builders-6/src/org/jetbrains/jps/javac/JavacMain.java +++ b/jps/jps-builders-6/src/org/jetbrains/jps/javac/JavacMain.java @@ -693,7 +693,7 @@ public final class JavacMain { static { Method getterMethod = null; - Method clearMethod = null; + Method clearMethod; try { //trying JDK 6 clearMethod = Class.forName("com.sun.tools.javac.zip.ZipFileIndex").getDeclaredMethod("clearCache"); diff --git a/jps/jps-builders/src/org/jetbrains/jps/javac/ExternalJavacManager.java b/jps/jps-builders/src/org/jetbrains/jps/javac/ExternalJavacManager.java index 9b71f708a7d2..2d8ffd9f3f6e 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/javac/ExternalJavacManager.java +++ b/jps/jps-builders/src/org/jetbrains/jps/javac/ExternalJavacManager.java @@ -34,7 +34,7 @@ import org.jetbrains.jps.cmdline.ClasspathBootstrap; import org.jetbrains.jps.incremental.GlobalContextKey; import org.jetbrains.jps.javac.rpc.JavacRemoteProto; -import javax.tools.Diagnostic; +import javax.tools.*; import java.io.File; import java.net.InetAddress; import java.net.UnknownHostException; @@ -599,7 +599,7 @@ public class ExternalJavacManager extends ProcessAdapter { } private Channel lookupChannel(UUID processId) { - Channel channel = null; + Channel channel; synchronized (myConnections) { channel = myConnections.get(processId); debug(channel, ch-> "lookupChannel: channel for " + processId + " is " + ch); diff --git a/jps/model-api/src/org/jetbrains/jps/model/java/JavaResourceRootProperties.java b/jps/model-api/src/org/jetbrains/jps/model/java/JavaResourceRootProperties.java index 4266be3daedd..ba8d389b3c9c 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/java/JavaResourceRootProperties.java +++ b/jps/model-api/src/org/jetbrains/jps/model/java/JavaResourceRootProperties.java @@ -8,7 +8,7 @@ import org.jetbrains.jps.model.ex.JpsElementBase; import java.util.Objects; public class JavaResourceRootProperties extends JpsElementBase { - private String myRelativeOutputPath = ""; + private String myRelativeOutputPath; private boolean myForGeneratedSources; public JavaResourceRootProperties(@NotNull String relativeOutputPath, boolean forGeneratedSources) { diff --git a/jps/model-api/src/org/jetbrains/jps/model/java/JavaSourceRootProperties.java b/jps/model-api/src/org/jetbrains/jps/model/java/JavaSourceRootProperties.java index 22e6087cc0c1..e4b718489fd8 100644 --- a/jps/model-api/src/org/jetbrains/jps/model/java/JavaSourceRootProperties.java +++ b/jps/model-api/src/org/jetbrains/jps/model/java/JavaSourceRootProperties.java @@ -8,7 +8,7 @@ import org.jetbrains.jps.model.ex.JpsElementBase; import java.util.Objects; public class JavaSourceRootProperties extends JpsElementBase { - private String myPackagePrefix = ""; + private String myPackagePrefix; private boolean myForGeneratedSources; @ApiStatus.Internal diff --git a/platform/lang-api/src/com/intellij/lexer/StoppableLexerAdapter.java b/platform/lang-api/src/com/intellij/lexer/StoppableLexerAdapter.java index 565178ce7433..b8936926077f 100644 --- a/platform/lang-api/src/com/intellij/lexer/StoppableLexerAdapter.java +++ b/platform/lang-api/src/com/intellij/lexer/StoppableLexerAdapter.java @@ -15,7 +15,7 @@ public class StoppableLexerAdapter extends DelegateLexer { } private final StoppingCondition myCondition; - private boolean myStopped = false; + private boolean myStopped; public StoppableLexerAdapter(final StoppingCondition condition, final Lexer original) { super(original); diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorSplitter.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorSplitter.java index 7ebea214cf9e..a9873356a079 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorSplitter.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/TestEditorSplitter.java @@ -17,7 +17,7 @@ import java.util.Objects; public final class TestEditorSplitter { private final HashMap myTabGroups = new HashMap<>(); private static final String Default = "Default"; - private String myActiveTabGroupName = Default; + private String myActiveTabGroupName; public TestEditorSplitter() { myTabGroups.put(Default, new TestEditorTabGroup(Default)); diff --git a/platform/lang-impl/src/com/intellij/psi/codeStyle/extractor/ExtractCodeStyleAction.java b/platform/lang-impl/src/com/intellij/psi/codeStyle/extractor/ExtractCodeStyleAction.java index 398e82dddb41..5186fd4f998d 100644 --- a/platform/lang-impl/src/com/intellij/psi/codeStyle/extractor/ExtractCodeStyleAction.java +++ b/platform/lang-impl/src/com/intellij/psi/codeStyle/extractor/ExtractCodeStyleAction.java @@ -116,7 +116,6 @@ public final class ExtractCodeStyleAction extends AnAction implements DumbAware public void hyperlinkUpdate(HyperlinkEvent e) { if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED) { boolean apply = "apply".equals(e.getDescription()); - ExtractedSettingsDialog myDialog = null; if (!apply) { final List values = calculatedValues.getValues(); Language language = file.getLanguage(); @@ -126,7 +125,7 @@ public final class ExtractCodeStyleAction extends AnAction implements DumbAware if (target.equals(language)) { //this is our language nameProvider.addSettings(provider); - myDialog = new ExtractedSettingsDialog(project, nameProvider, values); + ExtractedSettingsDialog myDialog = new ExtractedSettingsDialog(project, nameProvider, values); apply = myDialog.showAndGet(); break; } diff --git a/platform/lang-impl/src/com/intellij/refactoring/ui/DocCommentPanel.java b/platform/lang-impl/src/com/intellij/refactoring/ui/DocCommentPanel.java index fe146cdf745b..dc13a858d434 100644 --- a/platform/lang-impl/src/com/intellij/refactoring/ui/DocCommentPanel.java +++ b/platform/lang-impl/src/com/intellij/refactoring/ui/DocCommentPanel.java @@ -13,9 +13,9 @@ import javax.swing.border.TitledBorder; import java.awt.*; public final class DocCommentPanel extends JPanel { - private JRadioButton myRbJavaDocAsIs = null; - private JRadioButton myRbJavaDocMove = null; - private JRadioButton myRbJavaDocCopy = null; + private final JRadioButton myRbJavaDocAsIs; + private final JRadioButton myRbJavaDocMove; + private final JRadioButton myRbJavaDocCopy; private final TitledBorder myBorder; public DocCommentPanel(@NlsContexts.BorderTitle String title) { diff --git a/platform/libraries/cglib/src/net/sf/cglib/core/AbstractClassGenerator.java b/platform/libraries/cglib/src/net/sf/cglib/core/AbstractClassGenerator.java index 372a76269fb1..f536fb8fc7d6 100644 --- a/platform/libraries/cglib/src/net/sf/cglib/core/AbstractClassGenerator.java +++ b/platform/libraries/cglib/src/net/sf/cglib/core/AbstractClassGenerator.java @@ -188,19 +188,19 @@ implements ClassGenerator protected Object create(Object key) { try { - Class gen = null; + Class gen = null; synchronized (source) { ClassLoader loader = getClassLoader(); - Map cache2 = null; - cache2 = (Map)source.cache.get(loader); + Map cache2; + cache2 = (Map)source.cache.get(loader); if (cache2 == null) { cache2 = new HashMap<>(); cache2.put(NAME_KEY, new HashSet<>()); source.cache.put(loader, cache2); } else if (useCache) { Reference ref = (Reference)cache2.get(key); - gen = ref == null ? null : (Class) ref.get(); + gen = ref == null ? null : (Class) ref.get(); } if (gen == null) { AbstractClassGenerator save = CURRENT.get(); diff --git a/platform/platform-api/src/com/intellij/util/ui/TimedDeadzone.java b/platform/platform-api/src/com/intellij/util/ui/TimedDeadzone.java index e87e0cd4282c..2a87a9381d6d 100644 --- a/platform/platform-api/src/com/intellij/util/ui/TimedDeadzone.java +++ b/platform/platform-api/src/com/intellij/util/ui/TimedDeadzone.java @@ -9,7 +9,7 @@ public final class TimedDeadzone { public static final Length DEFAULT = new Length(150); public static final Length NULL = new Length(-1); - private Length myLength = NULL; + private Length myLength; private boolean myMouseWithin; private long myTimeEntered = -1; diff --git a/platform/platform-tests/testSrc/com/intellij/codeInsight/actions/TestFileStructure.java b/platform/platform-tests/testSrc/com/intellij/codeInsight/actions/TestFileStructure.java index 1ac827cfb0dd..6068f403d7e0 100644 --- a/platform/platform-tests/testSrc/com/intellij/codeInsight/actions/TestFileStructure.java +++ b/platform/platform-tests/testSrc/com/intellij/codeInsight/actions/TestFileStructure.java @@ -51,7 +51,7 @@ public class TestFileStructure { @NotNull public PsiFile addTestFile(@NotNull String name, @NotNull String content) { - PsiFile createdFile = null; + PsiFile createdFile; try { createdFile = createFile(myModule, myCurrentLevelDirectory.getVirtualFile(), name, content); } diff --git a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/RangeMarkerTest.java b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/RangeMarkerTest.java index f57223ead40d..51636a8d3acc 100644 --- a/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/RangeMarkerTest.java +++ b/platform/platform-tests/testSrc/com/intellij/openapi/editor/impl/RangeMarkerTest.java @@ -1470,6 +1470,8 @@ public class RangeMarkerTest extends LightPlatformTestCase { if (t.isTimedOut() && d != null) { int hashCode = System.identityHashCode(d); Class aClass = d.getClass(); + //Help GC, even in interpreter mode + //noinspection UnusedAssignment d = null; LeakHunter.checkLeak(LeakHunter.allRoots(), aClass, leakedDoc -> System.identityHashCode(leakedDoc) == hashCode); fail("Unable to gc the document"); diff --git a/platform/platform-tests/testSrc/com/intellij/util/containers/ContainerUtilCollectionsTest.java b/platform/platform-tests/testSrc/com/intellij/util/containers/ContainerUtilCollectionsTest.java index 944f0f48bd6b..a2e54afb28fa 100644 --- a/platform/platform-tests/testSrc/com/intellij/util/containers/ContainerUtilCollectionsTest.java +++ b/platform/platform-tests/testSrc/com/intellij/util/containers/ContainerUtilCollectionsTest.java @@ -212,6 +212,8 @@ public class ContainerUtilCollectionsTest extends Assert { Reference ref = new SoftReference<>(value); map.put(1, value); assertEquals(1, map.size()); + //Help GC, even in interpreter mode + //noinspection UnusedAssignment value = null; do { diff --git a/platform/util/base/src/com/intellij/util/containers/ConcurrentWeakKeySoftValueHashMap.java b/platform/util/base/src/com/intellij/util/containers/ConcurrentWeakKeySoftValueHashMap.java index b1df47f2e42d..5d9ba2f9f750 100644 --- a/platform/util/base/src/com/intellij/util/containers/ConcurrentWeakKeySoftValueHashMap.java +++ b/platform/util/base/src/com/intellij/util/containers/ConcurrentWeakKeySoftValueHashMap.java @@ -343,7 +343,7 @@ public class ConcurrentWeakKeySoftValueHashMap implements ConcurrentMap oldKeyReference = createHardKey(key); - ValueReference oldValueReference = null; + ValueReference oldValueReference; try { oldValueReference = createValueReference(oldValue, myValueQueue); ValueReference newValueReference = createValueReference(newValue, myValueQueue); diff --git a/platform/util/src/com/intellij/execution/configurations/CommandLineTokenizer.java b/platform/util/src/com/intellij/execution/configurations/CommandLineTokenizer.java index fbbc83e18137..ce5d2886da57 100644 --- a/platform/util/src/com/intellij/execution/configurations/CommandLineTokenizer.java +++ b/platform/util/src/com/intellij/execution/configurations/CommandLineTokenizer.java @@ -13,10 +13,9 @@ import java.util.StringTokenizer; public final class CommandLineTokenizer extends StringTokenizer { private static final String DEFAULT_DELIMITERS = " \t\n\r\f"; - // keep source level 1.4 - private final List myTokens = new ArrayList(); + private final List myTokens = new ArrayList<>(); private int myCurrentToken = 0; - private boolean myHandleEscapedWhitespaces = false; + private final boolean myHandleEscapedWhitespaces; public CommandLineTokenizer(String str) { this(str, false); @@ -35,11 +34,11 @@ public final class CommandLineTokenizer extends StringTokenizer { @Override public String nextToken() { - return (String) myTokens.get(myCurrentToken++); + return myTokens.get(myCurrentToken++); } public String peekNextToken() { - return (String) myTokens.get(myCurrentToken); + return myTokens.get(myCurrentToken); } @Override diff --git a/platform/util/src/com/intellij/util/io/CompressedAppendableFile.java b/platform/util/src/com/intellij/util/io/CompressedAppendableFile.java index 299b7c5d5f14..d694c17865c4 100644 --- a/platform/util/src/com/intellij/util/io/CompressedAppendableFile.java +++ b/platform/util/src/com/intellij/util/io/CompressedAppendableFile.java @@ -317,7 +317,7 @@ public class CompressedAppendableFile { private void saveNextChunkIfNeeded() throws IOException { if (myBufferPosition == myNextChunkBuffer.length) { - int dataWrittenCount = 0; + int dataWrittenCount; try (DataOutputStream stream = getChunkAppendStream()) { compress(stream, myNextChunkBuffer); dataWrittenCount = stream.getWrittenBytesCount(); diff --git a/plugins/maven/src/main/java/org/jetbrains/idea/maven/indices/MavenIndices.java b/plugins/maven/src/main/java/org/jetbrains/idea/maven/indices/MavenIndices.java index 604e5e75b248..7190c5c06756 100644 --- a/plugins/maven/src/main/java/org/jetbrains/idea/maven/indices/MavenIndices.java +++ b/plugins/maven/src/main/java/org/jetbrains/idea/maven/indices/MavenIndices.java @@ -82,7 +82,7 @@ public class MavenIndices implements Disposable { @NotNull private static List readCurrentIndexFileProperty(@NotNull Path indicesDir) { - Path[] indices = null; + Path[] indices; try { indices = Files.list(indicesDir).toArray(Path[]::new); }