Factory method introduced for TopDownAnalysisParameters

This commit is contained in:
Andrey Breslav
2014-04-02 13:20:31 +04:00
parent cdceaec79f
commit c57243035e
10 changed files with 24 additions and 14 deletions
@@ -103,7 +103,7 @@ public class ReplInterpreter {
Project project = jetCoreEnvironment.getProject(); Project project = jetCoreEnvironment.getProject();
trace = new BindingTraceContext(); trace = new BindingTraceContext();
module = AnalyzerFacadeForJVM.createJavaModule("<repl>"); module = AnalyzerFacadeForJVM.createJavaModule("<repl>");
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters( TopDownAnalysisParameters topDownAnalysisParameters = TopDownAnalysisParameters.create(
new LockBasedStorageManager(), new LockBasedStorageManager(),
new ExceptionTracker(), // dummy new ExceptionTracker(), // dummy
Predicates.<PsiFile>alwaysTrue(), Predicates.<PsiFile>alwaysTrue(),
@@ -215,7 +215,7 @@ public enum AnalyzerFacadeForJVM implements AnalyzerFacade {
GlobalContext globalContext, GlobalContext globalContext,
MemberFilter memberFilter MemberFilter memberFilter
) { ) {
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters( TopDownAnalysisParameters topDownAnalysisParameters = TopDownAnalysisParameters.create(
globalContext.getStorageManager(), globalContext.getStorageManager(),
globalContext.getExceptionTracker(), globalContext.getExceptionTracker(),
filesToAnalyzeCompletely, filesToAnalyzeCompletely,
@@ -24,8 +24,6 @@ import org.jetbrains.jet.di.InjectorForBodyResolve;
import org.jetbrains.jet.lang.descriptors.ModuleDescriptor; import org.jetbrains.jet.lang.descriptors.ModuleDescriptor;
import org.jetbrains.jet.lang.resolve.*; import org.jetbrains.jet.lang.resolve.*;
import java.util.List;
public class AnalyzerFacadeForEverything { public class AnalyzerFacadeForEverything {
private AnalyzerFacadeForEverything() { private AnalyzerFacadeForEverything() {
@@ -38,7 +36,7 @@ public class AnalyzerFacadeForEverything {
@NotNull ModuleDescriptor module @NotNull ModuleDescriptor module
) { ) {
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters( TopDownAnalysisParameters topDownAnalysisParameters = TopDownAnalysisParameters.create(
bodiesResolveContext.getStorageManager(), bodiesResolveContext.getStorageManager(),
bodiesResolveContext.getExceptionTracker(), bodiesResolveContext.getExceptionTracker(),
filesToAnalyzeCompletely, filesToAnalyzeCompletely,
@@ -27,6 +27,18 @@ import org.jetbrains.jet.storage.StorageManager;
* Various junk that cannot be placed into context (yet). * Various junk that cannot be placed into context (yet).
*/ */
public class TopDownAnalysisParameters implements GlobalContext { public class TopDownAnalysisParameters implements GlobalContext {
@NotNull
public static TopDownAnalysisParameters create(
@NotNull StorageManager storageManager,
@NotNull ExceptionTracker exceptionTracker,
@NotNull Predicate<PsiFile> analyzeCompletely,
boolean analyzingBootstrapLibrary,
boolean declaredLocally
) {
return new TopDownAnalysisParameters(storageManager, exceptionTracker, analyzeCompletely, analyzingBootstrapLibrary,
declaredLocally);
}
@NotNull @NotNull
private final StorageManager storageManager; private final StorageManager storageManager;
@NotNull @NotNull
@@ -36,7 +48,7 @@ public class TopDownAnalysisParameters implements GlobalContext {
private final boolean analyzingBootstrapLibrary; private final boolean analyzingBootstrapLibrary;
private final boolean declaredLocally; private final boolean declaredLocally;
public TopDownAnalysisParameters( private TopDownAnalysisParameters(
@NotNull StorageManager storageManager, @NotNull StorageManager storageManager,
@NotNull ExceptionTracker exceptionTracker, @NotNull ExceptionTracker exceptionTracker,
@NotNull Predicate<PsiFile> analyzeCompletely, @NotNull Predicate<PsiFile> analyzeCompletely,
@@ -362,7 +362,7 @@ public class TopDownAnalyzer {
PlatformToKotlinClassMap.EMPTY); PlatformToKotlinClassMap.EMPTY);
TopDownAnalysisParameters topDownAnalysisParameters = TopDownAnalysisParameters topDownAnalysisParameters =
new TopDownAnalysisParameters( TopDownAnalysisParameters.create(
globalContext.getStorageManager(), globalContext.getStorageManager(),
globalContext.getExceptionTracker(), globalContext.getExceptionTracker(),
Predicates.equalTo(object.getContainingFile()), Predicates.equalTo(object.getContainingFile()),
@@ -141,7 +141,7 @@ public abstract class AbstractLoadJavaTest extends TestCaseWithTmpdir {
BindingTrace trace = support.getTrace(); BindingTrace trace = support.getTrace();
ModuleDescriptorImpl module = support.getModule(); ModuleDescriptorImpl module = support.getModule();
TopDownAnalysisParameters parameters = new TopDownAnalysisParameters( TopDownAnalysisParameters parameters = TopDownAnalysisParameters.create(
new LockBasedStorageManager(), new LockBasedStorageManager(),
new ExceptionTracker(), // dummy new ExceptionTracker(), // dummy
Predicates.<PsiFile>alwaysFalse(), Predicates.<PsiFile>alwaysFalse(),
@@ -49,7 +49,7 @@ public class LazyResolveTestUtil {
JetTestUtils.newTrace(environment); JetTestUtils.newTrace(environment);
GlobalContextImpl globalContext = ContextPackage.GlobalContext(); GlobalContextImpl globalContext = ContextPackage.GlobalContext();
TopDownAnalysisParameters params = new TopDownAnalysisParameters( TopDownAnalysisParameters params = TopDownAnalysisParameters.create(
globalContext.getStorageManager(), globalContext.getExceptionTracker(), Predicates.<PsiFile>alwaysTrue(), false, false); globalContext.getStorageManager(), globalContext.getExceptionTracker(), Predicates.<PsiFile>alwaysTrue(), false, false);
CliLightClassGenerationSupport support = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject()); CliLightClassGenerationSupport support = CliLightClassGenerationSupport.getInstanceForCli(environment.getProject());
BindingTrace sharedTrace = support.getTrace(); BindingTrace sharedTrace = support.getTrace();
@@ -333,9 +333,9 @@ public class ResolveElementCache {
} }
private static TopDownAnalysisParameters createParameters(@NotNull ResolveSession resolveSession) { private static TopDownAnalysisParameters createParameters(@NotNull ResolveSession resolveSession) {
return new TopDownAnalysisParameters( return TopDownAnalysisParameters.create(
resolveSession.getStorageManager(), resolveSession.getExceptionTracker(), resolveSession.getStorageManager(), resolveSession.getExceptionTracker(),
Predicates.<PsiFile>alwaysTrue(), false, true); Predicates.<PsiFile>alwaysTrue(), false, true);
} }
@NotNull @NotNull
@@ -88,7 +88,7 @@ public class BuiltInsReferenceResolver extends AbstractProjectComponent {
@Override @Override
public void run() { public void run() {
GlobalContextImpl globalContext = ContextPackage.GlobalContext(); GlobalContextImpl globalContext = ContextPackage.GlobalContext();
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters( TopDownAnalysisParameters topDownAnalysisParameters = TopDownAnalysisParameters.create(
globalContext.getStorageManager(), globalContext.getStorageManager(),
globalContext.getExceptionTracker(), globalContext.getExceptionTracker(),
Predicates.<PsiFile>alwaysFalse(), true, false); Predicates.<PsiFile>alwaysFalse(), true, false);
@@ -91,7 +91,7 @@ public final class AnalyzerFacadeForJS {
Predicate<PsiFile> completely = Predicates.and(notLibFiles(config.getLibFiles()), filesToAnalyzeCompletely); Predicate<PsiFile> completely = Predicates.and(notLibFiles(config.getLibFiles()), filesToAnalyzeCompletely);
GlobalContextImpl globalContext = ContextPackage.GlobalContext(); GlobalContextImpl globalContext = ContextPackage.GlobalContext();
TopDownAnalysisParameters topDownAnalysisParameters = new TopDownAnalysisParameters( TopDownAnalysisParameters topDownAnalysisParameters = TopDownAnalysisParameters.create(
globalContext.getStorageManager(), globalContext.getExceptionTracker(), completely, false, false); globalContext.getStorageManager(), globalContext.getExceptionTracker(), completely, false, false);
ModuleDescriptor libraryModule = config.getLibraryModule(); ModuleDescriptor libraryModule = config.getLibraryModule();