filesToAnalyzeCompletely removed

This commit is contained in:
Andrey Breslav
2015-01-29 19:21:25 +03:00
parent 456bbb6b96
commit bbb59773aa
29 changed files with 33 additions and 147 deletions
@@ -16,13 +16,9 @@
package org.jetbrains.kotlin.js.analyze;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiFile;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.kotlin.analyzer.AnalysisResult;
import org.jetbrains.kotlin.builtins.KotlinBuiltIns;
import org.jetbrains.kotlin.context.ContextPackage;
@@ -53,18 +49,10 @@ public final class TopDownAnalyzerFacadeForJS {
private TopDownAnalyzerFacadeForJS() {
}
//NOTE: web demo related method
@SuppressWarnings("UnusedDeclaration")
@NotNull
public static BindingContext analyzeFiles(@NotNull Collection<JetFile> files, @NotNull Config config) {
return analyzeFiles(files, Predicates.<PsiFile>alwaysTrue(), config).getBindingContext();
}
//TODO: refactor
@NotNull
public static JsAnalysisResult analyzeFiles(
@NotNull Collection<JetFile> files,
@NotNull Predicate<PsiFile> filesToAnalyzeCompletely,
@NotNull Config config
) {
BindingContext libraryContext = config.getLibraryContext();
@@ -81,7 +69,7 @@ public final class TopDownAnalyzerFacadeForJS {
}
module.seal();
return analyzeFilesWithGivenTrace(files, trace, module, filesToAnalyzeCompletely, config);
return analyzeFilesWithGivenTrace(files, trace, module, config);
}
@NotNull
@@ -89,16 +77,13 @@ public final class TopDownAnalyzerFacadeForJS {
@NotNull Collection<JetFile> files,
@NotNull BindingTrace trace,
@NotNull ModuleDescriptorImpl module,
@NotNull Predicate<PsiFile> filesToAnalyzeCompletely,
@NotNull Config config
) {
Project project = config.getProject();
Predicate<PsiFile> completely = Predicates.and(notLibFiles(config.getLibFiles()), filesToAnalyzeCompletely);
GlobalContextImpl globalContext = ContextPackage.GlobalContext();
TopDownAnalysisParameters topDownAnalysisParameters = TopDownAnalysisParameters.create(
globalContext.getStorageManager(), globalContext.getExceptionTracker(), completely, false, false);
globalContext.getStorageManager(), globalContext.getExceptionTracker(), false, false);
Collection<JetFile> allFiles = config.getLibraryModule() != null ?
files :
@@ -108,7 +93,7 @@ public final class TopDownAnalyzerFacadeForJS {
project, topDownAnalysisParameters, trace, module,
new FileBasedDeclarationProviderFactory(topDownAnalysisParameters.getStorageManager(), allFiles));
try {
injector.getLazyTopDownAnalyzerForTopLevel().analyzeFiles(topDownAnalysisParameters, allFiles,
injector.getLazyTopDownAnalyzerForTopLevel().analyzeFiles(topDownAnalysisParameters, files,
Collections.<PackageFragmentProvider>emptyList());
return JsAnalysisResult.success(trace, module);
}
@@ -124,18 +109,6 @@ public final class TopDownAnalyzerFacadeForJS {
}
}
@NotNull
private static Predicate<PsiFile> notLibFiles(@NotNull final List<JetFile> jsLibFiles) {
return new Predicate<PsiFile>() {
@Override
public boolean apply(@Nullable PsiFile file) {
assert file instanceof JetFile;
@SuppressWarnings("UnnecessaryLocalVariable") boolean notLibFile = !jsLibFiles.contains(file);
return notLibFile;
}
};
}
@NotNull
public static ModuleDescriptorImpl createJsModule(@NotNull String name) {
return new ModuleDescriptorImpl(Name.special(name), DEFAULT_IMPORTS, PlatformToKotlinClassMap.EMPTY);
@@ -16,11 +16,9 @@
package org.jetbrains.kotlin.js.config;
import com.google.common.base.Predicates;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.psi.PsiManager;
import kotlin.Function1;
import kotlin.Unit;
@@ -123,7 +121,6 @@ public class LibrarySourcesConfigWithCaching extends LibrarySourcesConfig {
//noinspection AssignmentToStaticFieldFromInstanceMethod
result = TopDownAnalyzerFacadeForJS.analyzeFiles(
generateLibFiles(),
Predicates.<PsiFile>alwaysFalse(),
createConfigWithoutLibFiles(getProject(), getModuleId(), getTarget())
);
}
@@ -16,7 +16,6 @@
package org.jetbrains.kotlin.js.facade;
import com.google.common.base.Predicates;
import com.google.dart.compiler.backend.js.ast.JsNode;
import com.google.dart.compiler.backend.js.ast.JsProgram;
import com.google.dart.compiler.util.TextOutputImpl;
@@ -24,7 +23,6 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VfsUtilCore;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
import com.intellij.util.Consumer;
import com.intellij.util.Function;
import com.intellij.util.SmartList;
@@ -79,7 +77,7 @@ public final class K2JSTranslator {
@NotNull List<JetFile> files,
@NotNull MainCallParameters mainCallParameters
) throws TranslationException {
JsAnalysisResult analysisResult = TopDownAnalyzerFacadeForJS.analyzeFiles(files, Predicates.<PsiFile>alwaysTrue(), config);
JsAnalysisResult analysisResult = TopDownAnalyzerFacadeForJS.analyzeFiles(files, config);
BindingTrace bindingTrace = analysisResult.getBindingTrace();
TopDownAnalyzerFacadeForJS.checkForErrors(Config.withJsLibAdded(files, config), bindingTrace.getBindingContext());
ModuleDescriptor moduleDescriptor = analysisResult.getModuleDescriptor();