From 36d5e580b48d8e833a85b5e7dba3494dd51d5577 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Wed, 22 Jan 2014 13:11:02 +0400 Subject: [PATCH] Refactoring: remove unnecessary constructors (prepare for injectors) --- .../jet/lang/resolve/lazy/ResolveSession.java | 47 ++----------------- ...ractLazyResolveDescriptorRendererTest.java | 6 ++- .../libraries/JetSourceNavigationHelper.java | 6 ++- .../k2js/analyze/AnalyzerFacadeForJS.java | 4 +- 4 files changed, 16 insertions(+), 47 deletions(-) diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ResolveSession.java b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ResolveSession.java index dbb678179cf..659c31cf944 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ResolveSession.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/resolve/lazy/ResolveSession.java @@ -1,5 +1,5 @@ /* - * Copyright 2010-2013 JetBrains s.r.o. + * Copyright 2010-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. @@ -32,7 +32,6 @@ import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; import org.jetbrains.jet.lang.resolve.BindingContext; import org.jetbrains.jet.lang.resolve.BindingTrace; -import org.jetbrains.jet.lang.resolve.BindingTraceContext; import org.jetbrains.jet.lang.resolve.lazy.data.JetClassLikeInfo; import org.jetbrains.jet.lang.resolve.lazy.declarations.DeclarationProviderFactory; import org.jetbrains.jet.lang.resolve.lazy.declarations.PackageMemberDeclarationProvider; @@ -79,59 +78,23 @@ public class ResolveSession implements KotlinCodeAnalyzer { private final MemoizedFunctionToNullable packages; private final PackageFragmentProvider packageFragmentProvider; - public ResolveSession( - @NotNull Project project, - @NotNull LockBasedStorageManagerWithExceptionTracking storageManager, - @NotNull ModuleDescriptorImpl rootDescriptor, - @NotNull DeclarationProviderFactory declarationProviderFactory - ) { - this(project, - storageManager, - storageManager.getTracker(), - rootDescriptor, - declarationProviderFactory, - NO_ALIASES, - Predicates.alwaysFalse(), - new BindingTraceContext()); - } - public ResolveSession( @NotNull Project project, @NotNull LockBasedStorageManagerWithExceptionTracking storageManager, @NotNull ModuleDescriptorImpl rootDescriptor, @NotNull DeclarationProviderFactory declarationProviderFactory, @NotNull BindingTrace delegationTrace - ) { - this(project, - storageManager, - storageManager.getTracker(), - rootDescriptor, - declarationProviderFactory, - NO_ALIASES, - Predicates.alwaysFalse(), - delegationTrace); - } - - @Deprecated // Internal use only - public ResolveSession( - @NotNull Project project, - @NotNull LockBasedStorageManager storageManager, - @NotNull ExceptionTracker exceptionTracker, - @NotNull ModuleDescriptorImpl rootDescriptor, - @NotNull DeclarationProviderFactory declarationProviderFactory, - @NotNull Function classifierAliases, - @NotNull Predicate specialClasses, - @NotNull BindingTrace delegationTrace ) { LockBasedLazyResolveStorageManager lockBasedLazyResolveStorageManager = new LockBasedLazyResolveStorageManager(storageManager); this.storageManager = lockBasedLazyResolveStorageManager; - this.exceptionTracker = exceptionTracker; - this.classifierAliases = classifierAliases; - this.specialClasses = specialClasses; + this.exceptionTracker = storageManager.getTracker(); this.trace = lockBasedLazyResolveStorageManager.createSafeTrace(delegationTrace); this.injector = new InjectorForLazyResolve(project, this, rootDescriptor); this.module = rootDescriptor; + this.classifierAliases = NO_ALIASES; + this.specialClasses = Predicates.alwaysFalse(); + this.packages = storageManager.createMemoizedFunctionWithNullableValues(new MemoizedFunctionToNullable() { @Nullable @Override diff --git a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDescriptorRendererTest.java b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDescriptorRendererTest.java index aa66cc822f3..9e2a6f9b0e6 100644 --- a/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDescriptorRendererTest.java +++ b/compiler/tests/org/jetbrains/jet/lang/resolve/lazy/AbstractLazyResolveDescriptorRendererTest.java @@ -27,12 +27,15 @@ import org.jetbrains.jet.JetTestUtils; import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment; import org.jetbrains.jet.lang.descriptors.*; import org.jetbrains.jet.lang.psi.*; +import org.jetbrains.jet.lang.resolve.BindingTraceContext; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; import org.jetbrains.jet.lang.resolve.lazy.declarations.FileBasedDeclarationProviderFactory; import org.jetbrains.jet.lang.resolve.name.FqName; import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import org.jetbrains.jet.renderer.DescriptorRenderer; import org.jetbrains.jet.storage.LockBasedStorageManagerWithExceptionTracking; +import org.jetbrains.jet.storage.LockBasedLazyResolveStorageManager; +import org.jetbrains.jet.storage.LockBasedStorageManager; import java.io.File; import java.io.IOException; @@ -60,7 +63,8 @@ public abstract class AbstractLazyResolveDescriptorRendererTest extends KotlinTe lazyModule.addFragmentProvider(DependencyKind.BUILT_INS, KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider()); LockBasedStorageManagerWithExceptionTracking storageManager = LockBasedStorageManagerWithExceptionTracking.create(); final ResolveSession resolveSession = new ResolveSession(getProject(), storageManager, lazyModule, - new FileBasedDeclarationProviderFactory(storageManager, files)); + new FileBasedDeclarationProviderFactory(storageManager, files), + new BindingTraceContext()); final List descriptors = new ArrayList(); psiFile.accept(new JetVisitorVoid() { diff --git a/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java b/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java index b43fe9684d9..c36ca411bb2 100644 --- a/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java +++ b/idea/src/org/jetbrains/jet/plugin/libraries/JetSourceNavigationHelper.java @@ -1,5 +1,5 @@ /* - * Copyright 2010-2013 JetBrains s.r.o. + * Copyright 2010-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. @@ -48,6 +48,7 @@ import org.jetbrains.jet.lang.descriptors.ClassDescriptor; import org.jetbrains.jet.lang.descriptors.DependencyKind; import org.jetbrains.jet.lang.descriptors.ModuleDescriptorImpl; import org.jetbrains.jet.lang.psi.*; +import org.jetbrains.jet.lang.resolve.BindingTraceContext; import org.jetbrains.jet.lang.resolve.DescriptorUtils; import org.jetbrains.jet.lang.resolve.java.AnalyzerFacadeForJVM; import org.jetbrains.jet.lang.resolve.java.JvmClassName; @@ -232,7 +233,8 @@ public class JetSourceNavigationHelper { project, storageManager, moduleDescriptor, - providerFactory); + providerFactory, + new BindingTraceContext()); for (JetNamedDeclaration candidate : candidates) { //noinspection unchecked diff --git a/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java b/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java index e9d22498ad4..694e266afc5 100644 --- a/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java +++ b/js/js.translator/src/org/jetbrains/k2js/analyze/AnalyzerFacadeForJS.java @@ -1,5 +1,5 @@ /* - * Copyright 2010-2012 JetBrains s.r.o. + * Copyright 2010-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. @@ -158,7 +158,7 @@ public final class AnalyzerFacadeForJS { storageManager, Config.withJsLibAdded(files, config), Predicates.alwaysFalse()); ModuleDescriptorImpl module = createJsModule(""); module.addFragmentProvider(DependencyKind.BUILT_INS, KotlinBuiltIns.getInstance().getBuiltInsModule().getPackageFragmentProvider()); - return new ResolveSession(config.getProject(), storageManager, module, declarationProviderFactory); + return new ResolveSession(config.getProject(), storageManager, module, declarationProviderFactory, new BindingTraceContext()); } @NotNull