Refactoring: rename and move KotlinFrameworkDetector to ProjectStructureUtil

This commit is contained in:
Nikolay Krasko
2013-10-25 14:49:21 +04:00
parent e3882e2dfb
commit da8a3c52a0
17 changed files with 88 additions and 40 deletions
@@ -28,7 +28,7 @@ import com.intellij.psi.util.PsiModificationTracker;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.analyzer.AnalyzeExhaust; import org.jetbrains.jet.analyzer.AnalyzeExhaust;
import org.jetbrains.jet.lang.resolve.java.JetFilesProvider; import org.jetbrains.jet.lang.resolve.java.JetFilesProvider;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector; import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import org.jetbrains.jet.plugin.project.TargetPlatform; import org.jetbrains.jet.plugin.project.TargetPlatform;
import org.jetbrains.k2js.analyze.AnalyzerFacadeForJS; import org.jetbrains.k2js.analyze.AnalyzerFacadeForJS;
import org.jetbrains.k2js.config.EcmaVersion; import org.jetbrains.k2js.config.EcmaVersion;
@@ -51,7 +51,7 @@ class JSDeclarationsCacheProvider extends DeclarationsCacheProvider {
synchronized (declarationAnalysisLock) { synchronized (declarationAnalysisLock) {
LibrarySourcesConfig config = new LibrarySourcesConfig( LibrarySourcesConfig config = new LibrarySourcesConfig(
project, "default", project, "default",
KotlinFrameworkDetector.getLibLocationForProject(project), ProjectStructureUtil.getLibLocationForProject(project),
EcmaVersion.defaultVersion(), false); EcmaVersion.defaultVersion(), false);
AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJS.analyzeFiles( AnalyzeExhaust analyzeExhaust = AnalyzerFacadeForJS.analyzeFiles(
@@ -41,7 +41,7 @@ import org.jetbrains.jet.plugin.JetFileType;
import org.jetbrains.jet.plugin.compiler.configuration.Kotlin2JvmCompilerArgumentsHolder; import org.jetbrains.jet.plugin.compiler.configuration.Kotlin2JvmCompilerArgumentsHolder;
import org.jetbrains.jet.plugin.compiler.configuration.KotlinCommonCompilerArgumentsHolder; import org.jetbrains.jet.plugin.compiler.configuration.KotlinCommonCompilerArgumentsHolder;
import org.jetbrains.jet.plugin.compiler.configuration.KotlinCompilerSettings; import org.jetbrains.jet.plugin.compiler.configuration.KotlinCompilerSettings;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector; import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import java.io.File; import java.io.File;
import java.io.IOException; import java.io.IOException;
@@ -54,7 +54,7 @@ public class JetCompiler implements TranslatingCompiler {
return false; return false;
} }
Module module = compileContext.getModuleByFile(virtualFile); Module module = compileContext.getModuleByFile(virtualFile);
if (module != null && KotlinFrameworkDetector.isJsKotlinModule(module)) { if (module != null && ProjectStructureUtil.isJsKotlinModule(module)) {
return false; return false;
} }
return true; return true;
@@ -42,7 +42,7 @@ import org.jetbrains.jet.plugin.JetFileType;
import org.jetbrains.jet.plugin.compiler.configuration.Kotlin2JsCompilerArgumentsHolder; import org.jetbrains.jet.plugin.compiler.configuration.Kotlin2JsCompilerArgumentsHolder;
import org.jetbrains.jet.plugin.compiler.configuration.KotlinCommonCompilerArgumentsHolder; import org.jetbrains.jet.plugin.compiler.configuration.KotlinCommonCompilerArgumentsHolder;
import org.jetbrains.jet.plugin.compiler.configuration.KotlinCompilerSettings; import org.jetbrains.jet.plugin.compiler.configuration.KotlinCompilerSettings;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector; import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
@@ -59,7 +59,7 @@ public final class K2JSCompiler implements TranslatingCompiler {
if (module == null) { if (module == null) {
return false; return false;
} }
return KotlinFrameworkDetector.isJsKotlinModule(module); return ProjectStructureUtil.isJsKotlinModule(module);
} }
@Override @Override
@@ -156,7 +156,7 @@ public final class K2JSCompiler implements TranslatingCompiler {
private static List<String> getLibraryFiles(@NotNull Module module) { private static List<String> getLibraryFiles(@NotNull Module module) {
List<String> result = new ArrayList<String>(); List<String> result = new ArrayList<String>();
List<String> libLocationAndTarget = KotlinFrameworkDetector.getLibLocationForProject(module); List<String> libLocationAndTarget = ProjectStructureUtil.getLibLocationForProject(module);
THashSet<Module> modules = new THashSet<Module>(); THashSet<Module> modules = new THashSet<Module>();
collectModuleDependencies(module, modules); collectModuleDependencies(module, modules);
@@ -32,7 +32,7 @@ import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
import org.jetbrains.jet.plugin.caches.JetFromJavaDescriptorHelper; import org.jetbrains.jet.plugin.caches.JetFromJavaDescriptorHelper;
import org.jetbrains.jet.plugin.caches.JetShortNamesCache; import org.jetbrains.jet.plugin.caches.JetShortNamesCache;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector; import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
public class JetTypesCompletionHelper { public class JetTypesCompletionHelper {
private JetTypesCompletionHelper() { private JetTypesCompletionHelper() {
@@ -51,7 +51,7 @@ public class JetTypesCompletionHelper {
jetCompletionResult.addAllElements(namesCache.getJetClassesDescriptors( jetCompletionResult.addAllElements(namesCache.getJetClassesDescriptors(
jetCompletionResult.getShortNameFilter(), jetCompletionResult.getResolveSession(), GlobalSearchScope.allScope(project))); jetCompletionResult.getShortNameFilter(), jetCompletionResult.getResolveSession(), GlobalSearchScope.allScope(project)));
if (!KotlinFrameworkDetector.isJsKotlinModule((JetFile) parameters.getOriginalFile())) { if (!ProjectStructureUtil.isJsKotlinModule((JetFile) parameters.getOriginalFile())) {
addAdaptedJavaCompletion(parameters, jetCompletionResult); addAdaptedJavaCompletion(parameters, jetCompletionResult);
} }
} }
@@ -27,7 +27,7 @@ import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.DescriptorUtils;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.plugin.completion.JetLookupObject; import org.jetbrains.jet.plugin.completion.JetLookupObject;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector; import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import org.jetbrains.jet.plugin.quickfix.ImportInsertHelper; import org.jetbrains.jet.plugin.quickfix.ImportInsertHelper;
public class JetClassInsertHandler implements InsertHandler<LookupElement> { public class JetClassInsertHandler implements InsertHandler<LookupElement> {
@@ -60,7 +60,7 @@ public class JetClassInsertHandler implements InsertHandler<LookupElement> {
if (targetElement != null) { if (targetElement != null) {
ImportInsertHelper.addImportDirectiveOrChangeToFqName(fqn, jetFile, context.getStartOffset(), targetElement); ImportInsertHelper.addImportDirectiveOrChangeToFqName(fqn, jetFile, context.getStartOffset(), targetElement);
} }
else if (KotlinFrameworkDetector.isJsKotlinModule(jetFile)) { else if (ProjectStructureUtil.isJsKotlinModule(jetFile)) {
ImportInsertHelper.addImportDirectiveIfNeeded(fqn, jetFile); ImportInsertHelper.addImportDirectiveIfNeeded(fqn, jetFile);
} }
} }
@@ -1,3 +1,19 @@
/*
* Copyright 2010-2013 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.
*/
package org.jetbrains.jet.plugin.configuration; package org.jetbrains.jet.plugin.configuration;
import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.application.ApplicationManager;
@@ -6,13 +22,12 @@ import com.intellij.openapi.module.impl.scopes.LibraryScope;
import com.intellij.openapi.project.Project; import com.intellij.openapi.project.Project;
import com.intellij.openapi.roots.OrderRootType; import com.intellij.openapi.roots.OrderRootType;
import com.intellij.openapi.roots.libraries.Library; import com.intellij.openapi.roots.libraries.Library;
import com.intellij.openapi.vfs.VfsUtil;
import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.plugin.framework.JavaRuntimeLibraryDescription; import org.jetbrains.jet.plugin.framework.JavaRuntimeLibraryDescription;
import org.jetbrains.jet.plugin.framework.JavaRuntimePresentationProvider; import org.jetbrains.jet.plugin.framework.JavaRuntimePresentationProvider;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
import org.jetbrains.jet.plugin.framework.ui.CreateJavaLibraryDialogWithModules; import org.jetbrains.jet.plugin.framework.ui.CreateJavaLibraryDialogWithModules;
import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryUtil; import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryUtil;
import org.jetbrains.jet.utils.PathUtil; import org.jetbrains.jet.utils.PathUtil;
@@ -26,7 +41,7 @@ public class KotlinJavaModuleConfigurator extends KotlinWithLibraryConfigurator
@Override @Override
public boolean isConfigured(@NotNull Module module) { public boolean isConfigured(@NotNull Module module) {
return KotlinFrameworkDetector.isJavaKotlinModule(module); return ProjectStructureUtil.isJavaKotlinModule(module);
} }
@NotNull @NotNull
@@ -1,3 +1,19 @@
/*
* Copyright 2010-2013 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.
*/
package org.jetbrains.jet.plugin.configuration; package org.jetbrains.jet.plugin.configuration;
import com.intellij.openapi.module.Module; import com.intellij.openapi.module.Module;
@@ -6,9 +22,9 @@ import com.intellij.openapi.roots.OrderRootType;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.plugin.framework.JSLibraryStdDescription; import org.jetbrains.jet.plugin.framework.JSLibraryStdDescription;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
import org.jetbrains.jet.plugin.framework.ui.CreateJavaScriptLibraryDialogWithModules; import org.jetbrains.jet.plugin.framework.ui.CreateJavaScriptLibraryDialogWithModules;
import org.jetbrains.jet.plugin.framework.ui.FileUIUtils; import org.jetbrains.jet.plugin.framework.ui.FileUIUtils;
import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import org.jetbrains.jet.utils.PathUtil; import org.jetbrains.jet.utils.PathUtil;
import java.io.File; import java.io.File;
@@ -31,7 +47,7 @@ public class KotlinJsModuleConfigurator extends KotlinWithLibraryConfigurator {
@Override @Override
public boolean isConfigured(@NotNull Module module) { public boolean isConfigured(@NotNull Module module) {
if (KotlinFrameworkDetector.isJsKotlinModule(module)) { if (ProjectStructureUtil.isJsKotlinModule(module)) {
String pathFromLibrary = getPathFromLibrary(module.getProject(), OrderRootType.CLASSES); String pathFromLibrary = getPathFromLibrary(module.getProject(), OrderRootType.CLASSES);
return pathFromLibrary != null && getFileInDir(getJarName(), pathFromLibrary).exists(); return pathFromLibrary != null && getFileInDir(getJarName(), pathFromLibrary).exists();
} }
@@ -44,8 +44,8 @@ import org.jetbrains.idea.maven.dom.model.*;
import org.jetbrains.idea.maven.project.MavenProjectsManager; import org.jetbrains.idea.maven.project.MavenProjectsManager;
import org.jetbrains.jet.cli.common.KotlinVersion; import org.jetbrains.jet.cli.common.KotlinVersion;
import org.jetbrains.jet.plugin.JetPluginUtil; import org.jetbrains.jet.plugin.JetPluginUtil;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
import org.jetbrains.jet.plugin.framework.ui.ConfigureDialogWithModulesAndVersion; import org.jetbrains.jet.plugin.framework.ui.ConfigureDialogWithModulesAndVersion;
import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import java.util.List; import java.util.List;
@@ -66,7 +66,7 @@ public class KotlinMavenConfigurator implements KotlinProjectConfigurator {
@Override @Override
public boolean isConfigured(@NotNull Module module) { public boolean isConfigured(@NotNull Module module) {
if (KotlinFrameworkDetector.isJavaKotlinModule(module)) { if (ProjectStructureUtil.isJavaKotlinModule(module)) {
return true; return true;
} }
@@ -33,8 +33,8 @@ import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiTreeUtil;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
import org.jetbrains.jet.plugin.framework.ui.ConfigureDialogWithModulesAndVersion; import org.jetbrains.jet.plugin.framework.ui.ConfigureDialogWithModulesAndVersion;
import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import org.jetbrains.plugins.gradle.util.GradleConstants; import org.jetbrains.plugins.gradle.util.GradleConstants;
import org.jetbrains.plugins.groovy.lang.psi.GroovyFile; import org.jetbrains.plugins.groovy.lang.psi.GroovyFile;
import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory; import org.jetbrains.plugins.groovy.lang.psi.GroovyPsiElementFactory;
@@ -64,7 +64,7 @@ public abstract class KotlinWithGradleConfigurator implements KotlinProjectConfi
@Override @Override
public boolean isConfigured(@NotNull Module module) { public boolean isConfigured(@NotNull Module module) {
if (KotlinFrameworkDetector.isJavaKotlinModule(module)) { if (ProjectStructureUtil.isJavaKotlinModule(module)) {
return true; return true;
} }
@@ -36,7 +36,7 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.plugin.configuration.AbsentSdkAnnotationsNotificationManager; import org.jetbrains.jet.plugin.configuration.AbsentSdkAnnotationsNotificationManager;
import org.jetbrains.jet.plugin.configuration.ConfigureKotlinInProjectUtils; import org.jetbrains.jet.plugin.configuration.ConfigureKotlinInProjectUtils;
import org.jetbrains.jet.plugin.configuration.ui.notifications.NotificationsPackage; import org.jetbrains.jet.plugin.configuration.ui.notifications.NotificationsPackage;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector; import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryUtil; import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryUtil;
import java.util.Collection; import java.util.Collection;
@@ -111,7 +111,7 @@ public class AbsentJdkAnnotationsComponent extends AbstractProjectComponent {
private Collection<Sdk> collectSdksWithoutAnnotations() { private Collection<Sdk> collectSdksWithoutAnnotations() {
Set<Sdk> sdks = Sets.newHashSet(); Set<Sdk> sdks = Sets.newHashSet();
for (Module module : ConfigureKotlinInProjectUtils.getModulesWithKotlinFiles(myProject)) { for (Module module : ConfigureKotlinInProjectUtils.getModulesWithKotlinFiles(myProject)) {
if (KotlinFrameworkDetector.isJavaKotlinModule(module)) { if (ProjectStructureUtil.isJavaKotlinModule(module)) {
Sdk sdk = ModuleRootManager.getInstance(module).getSdk(); Sdk sdk = ModuleRootManager.getInstance(module).getSdk();
if (sdk != null && !isAnnotationsArePresent(sdk)) { if (sdk != null && !isAnnotationsArePresent(sdk)) {
sdks.add(sdk); sdks.add(sdk);
@@ -1,3 +1,19 @@
/*
* Copyright 2010-2013 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.
*/
package org.jetbrains.jet.plugin.debugger; package org.jetbrains.jet.plugin.debugger;
import com.intellij.openapi.module.Module; import com.intellij.openapi.module.Module;
@@ -6,7 +22,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.vfs.VirtualFile; import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.util.PairProcessor; import com.intellij.util.PairProcessor;
import org.jetbrains.jet.plugin.JetFileType; import org.jetbrains.jet.plugin.JetFileType;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector; import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
public class KotlinJavaScriptBreakpointAware implements PairProcessor<VirtualFile, Project> { public class KotlinJavaScriptBreakpointAware implements PairProcessor<VirtualFile, Project> {
@Override @Override
@@ -14,7 +30,7 @@ public class KotlinJavaScriptBreakpointAware implements PairProcessor<VirtualFil
if (file.getFileType() == JetFileType.INSTANCE) { if (file.getFileType() == JetFileType.INSTANCE) {
Module module = ModuleUtilCore.findModuleForFile(file, project); Module module = ModuleUtilCore.findModuleForFile(file, project);
if (module != null) { if (module != null) {
return KotlinFrameworkDetector.isJsKotlinModule(module); return ProjectStructureUtil.isJsKotlinModule(module);
} }
} }
return false; return false;
@@ -18,12 +18,11 @@ package org.jetbrains.jet.plugin.project;
import com.intellij.openapi.project.Project; import com.intellij.openapi.project.Project;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
import org.jetbrains.k2js.config.EcmaVersion; import org.jetbrains.k2js.config.EcmaVersion;
import org.jetbrains.k2js.config.LibrarySourcesConfig; import org.jetbrains.k2js.config.LibrarySourcesConfig;
public final class IDEAConfig extends LibrarySourcesConfig { public final class IDEAConfig extends LibrarySourcesConfig {
public IDEAConfig(@NotNull Project project) { public IDEAConfig(@NotNull Project project) {
super(project, "default", KotlinFrameworkDetector.getLibLocationForProject(project), EcmaVersion.defaultVersion(), false); super(project, "default", ProjectStructureUtil.getLibLocationForProject(project), EcmaVersion.defaultVersion(), false);
} }
} }
@@ -14,7 +14,7 @@
* limitations under the License. * limitations under the License.
*/ */
package org.jetbrains.jet.plugin.framework; package org.jetbrains.jet.plugin.project;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.common.collect.Sets; import com.google.common.collect.Sets;
@@ -41,16 +41,19 @@ import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.plugin.configuration.ConfigureKotlinInProjectUtils; import org.jetbrains.jet.plugin.configuration.ConfigureKotlinInProjectUtils;
import org.jetbrains.jet.plugin.framework.JSLibraryStdPresentationProvider;
import org.jetbrains.jet.plugin.framework.JsHeaderLibraryPresentationProvider;
import org.jetbrains.jet.plugin.framework.LibraryPresentationProviderUtil;
import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryUtil; import org.jetbrains.jet.plugin.versions.KotlinRuntimeLibraryUtil;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
public class KotlinFrameworkDetector { public class ProjectStructureUtil {
private static final Key<CachedValue<Boolean>> IS_KOTLIN_JS_MODULE = Key.create("IS_KOTLIN_JS_MODULE"); private static final Key<CachedValue<Boolean>> IS_KOTLIN_JS_MODULE = Key.create("IS_KOTLIN_JS_MODULE");
private KotlinFrameworkDetector() { private ProjectStructureUtil() {
} }
public static boolean isJsKotlinModule(@NotNull JetFile file) { public static boolean isJsKotlinModule(@NotNull JetFile file) {
@@ -70,7 +73,8 @@ public class KotlinFrameworkDetector {
result = CachedValuesManager.getManager(module.getProject()).createCachedValue(new CachedValueProvider<Boolean>() { result = CachedValuesManager.getManager(module.getProject()).createCachedValue(new CachedValueProvider<Boolean>() {
@Override @Override
public Result<Boolean> compute() { public Result<Boolean> compute() {
return Result.create(getJSStandardLibrary(module) != null, ProjectRootModificationTracker.getInstance(module.getProject())); return Result.create(getJSStandardLibrary(module) != null, ProjectRootModificationTracker
.getInstance(module.getProject()));
} }
}, false); }, false);
@@ -123,7 +127,6 @@ public class KotlinFrameworkDetector {
return Lists.newArrayList(pathsToJSLib); return Lists.newArrayList(pathsToJSLib);
} }
@Nullable @Nullable
private static Library getJSStandardLibrary(final Module module) { private static Library getJSStandardLibrary(final Module module) {
return ApplicationManager.getApplication().runReadAction(new Computable<Library>() { return ApplicationManager.getApplication().runReadAction(new Computable<Library>() {
@@ -23,7 +23,6 @@ import com.intellij.openapi.vfs.VirtualFile;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.jet.analyzer.AnalyzerFacade; import org.jetbrains.jet.analyzer.AnalyzerFacade;
import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
public class TargetPlatformDetector { public class TargetPlatformDetector {
public static final TargetPlatformDetector INSTANCE = new TargetPlatformDetector(); public static final TargetPlatformDetector INSTANCE = new TargetPlatformDetector();
@@ -48,7 +47,7 @@ public class TargetPlatformDetector {
@NotNull @NotNull
public static TargetPlatform getPlatform(@NotNull Module module) { public static TargetPlatform getPlatform(@NotNull Module module) {
if (KotlinFrameworkDetector.isJsKotlinModule(module)) { if (ProjectStructureUtil.isJsKotlinModule(module)) {
return TargetPlatform.JS; return TargetPlatform.JS;
} }
return TargetPlatform.JVM; return TargetPlatform.JVM;
@@ -51,9 +51,9 @@ import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.plugin.JetBundle; import org.jetbrains.jet.plugin.JetBundle;
import org.jetbrains.jet.plugin.actions.JetAddImportAction; import org.jetbrains.jet.plugin.actions.JetAddImportAction;
import org.jetbrains.jet.plugin.caches.JetShortNamesCache; import org.jetbrains.jet.plugin.caches.JetShortNamesCache;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache; import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache;
import org.jetbrains.jet.plugin.project.CancelableResolveSession; import org.jetbrains.jet.plugin.project.CancelableResolveSession;
import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import org.jetbrains.jet.plugin.util.JetPsiHeuristicsUtil; import org.jetbrains.jet.plugin.util.JetPsiHeuristicsUtil;
import java.util.Collection; import java.util.Collection;
@@ -163,7 +163,7 @@ public class AutoImportFix extends JetHintAction<JetSimpleNameExpression> implem
public static Collection<FqName> getClassNames(@NotNull String referenceName, @NotNull JetFile file, @NotNull KotlinCodeAnalyzer analyzer) { public static Collection<FqName> getClassNames(@NotNull String referenceName, @NotNull JetFile file, @NotNull KotlinCodeAnalyzer analyzer) {
Set<FqName> possibleResolveNames = Sets.newHashSet(); Set<FqName> possibleResolveNames = Sets.newHashSet();
if (!KotlinFrameworkDetector.isJsKotlinModule(file)) { if (!ProjectStructureUtil.isJsKotlinModule(file)) {
possibleResolveNames.addAll(getClassesFromCache(referenceName, file)); possibleResolveNames.addAll(getClassesFromCache(referenceName, file));
} }
else { else {
@@ -200,7 +200,7 @@ public class AutoImportFix extends JetHintAction<JetSimpleNameExpression> implem
} }
private static PsiShortNamesCache getShortNamesCache(@NotNull JetFile jetFile) { private static PsiShortNamesCache getShortNamesCache(@NotNull JetFile jetFile) {
if (KotlinFrameworkDetector.isJsKotlinModule(jetFile)) { if (ProjectStructureUtil.isJsKotlinModule(jetFile)) {
return JetShortNamesCache.getKotlinInstance(jetFile.getProject()); return JetShortNamesCache.getKotlinInstance(jetFile.getProject());
} }
@@ -36,8 +36,8 @@ import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.lang.types.JetType; import org.jetbrains.jet.lang.types.JetType;
import org.jetbrains.jet.lang.types.TypeUtils; import org.jetbrains.jet.lang.types.TypeUtils;
import org.jetbrains.jet.plugin.JetPluginUtil; import org.jetbrains.jet.plugin.JetPluginUtil;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector;
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache; import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache;
import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import org.jetbrains.jet.plugin.references.JetPsiReference; import org.jetbrains.jet.plugin.references.JetPsiReference;
import org.jetbrains.jet.util.QualifiedNamesUtil; import org.jetbrains.jet.util.QualifiedNamesUtil;
import org.jetbrains.k2js.analyze.JsConfiguration; import org.jetbrains.k2js.analyze.JsConfiguration;
@@ -164,7 +164,7 @@ public class ImportInsertHelper {
if (isImportedWithKotlinDefault(importPath)) return true; if (isImportedWithKotlinDefault(importPath)) return true;
if (KotlinFrameworkDetector.isJsKotlinModule(jetFile)) { if (ProjectStructureUtil.isJsKotlinModule(jetFile)) {
return isImportedWithJsDefault(importPath); return isImportedWithJsDefault(importPath);
} }
else { else {
@@ -33,7 +33,7 @@ import org.jetbrains.jet.lang.resolve.java.PackageClassUtils;
import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.plugin.JetMainDetector; import org.jetbrains.jet.plugin.JetMainDetector;
import org.jetbrains.jet.plugin.JetPluginUtil; import org.jetbrains.jet.plugin.JetPluginUtil;
import org.jetbrains.jet.plugin.framework.KotlinFrameworkDetector; import org.jetbrains.jet.plugin.project.ProjectStructureUtil;
import java.util.List; import java.util.List;
@@ -58,7 +58,7 @@ public class JetRunConfigurationProducer extends RuntimeConfigurationProducer im
return null; return null;
} }
if (KotlinFrameworkDetector.isJsKotlinModule(module)) { if (ProjectStructureUtil.isJsKotlinModule(module)) {
return null; return null;
} }