Introduce ResolutionFacade to be used by plugin code instead of resolve session

Do not expose ResolveSessionForBodies where possible
Define API of ResolutionFacade, similar to what ResolveSessionForBodies has
JetElement#getLazyResolveSession returns ResolutionFacade
Call sites to be updated later
This commit is contained in:
Pavel V. Talanov
2014-11-18 19:37:05 +03:00
parent 2c9b0448a1
commit df892ba33a
28 changed files with 153 additions and 88 deletions
@@ -24,7 +24,7 @@ import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.psi.JetValueArgumentList;
import org.jetbrains.jet.lexer.JetTokens;
import org.jetbrains.jet.plugin.PluginTestCaseBase;
import org.jetbrains.jet.plugin.project.ResolveSessionForBodies;
import org.jetbrains.jet.plugin.caches.resolve.ResolutionFacade;
public abstract class AbstractFunctionParameterInfoTest extends LightCodeInsightFixtureTestCase {
@Override
@@ -64,7 +64,7 @@ public abstract class AbstractFunctionParameterInfoTest extends LightCodeInsight
for (Object item : mockCreateParameterInfoContext.getItemsToShow()) {
//noinspection unchecked
parameterInfoHandler.updateUI((Pair<? extends FunctionDescriptor, ResolveSessionForBodies>)item, parameterInfoUIContext);
parameterInfoHandler.updateUI((Pair<? extends FunctionDescriptor, ResolutionFacade>)item, parameterInfoUIContext);
}
assertEquals(expectedResultText, parameterInfoUIContext.getResultText());
}
@@ -31,8 +31,8 @@ import org.jetbrains.jet.lang.psi.JetFile;
import org.jetbrains.jet.lang.resolve.name.FqName;
import org.jetbrains.jet.plugin.JetWithJdkAndRuntimeLightProjectDescriptor;
import org.jetbrains.jet.plugin.KotlinCodeInsightTestCase;
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheService;
import org.jetbrains.jet.plugin.project.ResolveSessionForBodies;
import org.jetbrains.jet.plugin.caches.resolve.ResolutionFacade;
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
import org.jetbrains.jet.test.util.RecursiveDescriptorComparator;
import org.junit.Assert;
@@ -64,9 +64,9 @@ public abstract class AbstractLazyResolveByStubTest extends KotlinCodeInsightTes
}
private void performTest(@NotNull String path, boolean checkPrimaryConstructors, boolean checkPropertyAccessors) {
ResolveSessionForBodies resolveSession =
KotlinCacheService.OBJECT$.getInstance(getFile().getProject()).getLazyResolveSession((JetFile) getFile());
ModuleDescriptor module = resolveSession.getModuleDescriptor();
JetFile file = (JetFile) getFile();
ResolutionFacade resolveSession = ResolvePackage.getLazyResolveSession(file);
ModuleDescriptor module = resolveSession.getModuleDescriptorForElement(file);
PackageViewDescriptor packageViewDescriptor = module.getPackage(new FqName("test"));
Assert.assertNotNull(packageViewDescriptor);