From 45b96a0f4ce17dd55d1d623a8726af118c40db1d Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Tue, 2 Jan 2018 18:34:55 +0300 Subject: [PATCH] cleanup --- .../src/com/intellij/ClassFinder.java | 32 +++++++------------ 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/platform/testFramework/src/com/intellij/ClassFinder.java b/platform/testFramework/src/com/intellij/ClassFinder.java index ff60ef9cac76..906a6ab322e2 100644 --- a/platform/testFramework/src/com/intellij/ClassFinder.java +++ b/platform/testFramework/src/com/intellij/ClassFinder.java @@ -1,17 +1,5 @@ /* - * Copyright 2000-2014 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. + * Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. */ package com.intellij; @@ -19,22 +7,21 @@ package com.intellij; import com.intellij.openapi.util.text.StringUtil; import com.intellij.psi.codeStyle.NameUtil; import com.intellij.util.containers.ContainerUtil; +import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.File; -import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.List; - public class ClassFinder { private final List classNameList = new ArrayList<>(); private final int startPackageName; private final boolean includeUnconventionallyNamedTests; - public ClassFinder(final File classPathRoot, final String rootPackage, boolean includeUnconventionallyNamedTests) throws IOException { + public ClassFinder(final File classPathRoot, final String rootPackage, boolean includeUnconventionallyNamedTests) { this.includeUnconventionallyNamedTests = includeUnconventionallyNamedTests; startPackageName = classPathRoot.getAbsolutePath().length() + 1; String directoryOffset = rootPackage.replace('.', File.separatorChar); @@ -59,10 +46,10 @@ public class ClassFinder { // may cause https://issues.apache.org/jira/browse/GROOVY-5351 if (!Character.isUpperCase(className.charAt(0))) return null; } - + // A test may be named Test*, *Test, *Tests*, *TestCase, *TestSuite, *Suite, etc List words = Arrays.asList(NameUtil.nameToWords(className)); - + if (words.contains("Test") || words.contains("Tests") || words.contains("Suite")) { String fqn = StringUtil.trimEnd(absPath.substring(startPackageName), ".class").replace(File.separatorChar, '.'); if (!Arrays.asList("com.intellij.tests.BootstrapTests", "com.intellij.AllTests").contains(fqn)) { @@ -74,10 +61,13 @@ public class ClassFinder { return null; } - private void findAndStoreTestClasses(final File current) throws IOException { + private void findAndStoreTestClasses(@NotNull File current) { if (current.isDirectory()) { - for (File file : current.listFiles()) { - findAndStoreTestClasses(file); + File[] files = current.listFiles(); + if (files != null) { + for (File file : files) { + findAndStoreTestClasses(file); + } } } else {