KotlinCacheManagerUtil usages replaced by lazy resolve
This commit is contained in:
@@ -1,34 +0,0 @@
|
||||
/*
|
||||
* 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.caches.resolve;
|
||||
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.psi.JetElement;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache;
|
||||
import org.jetbrains.jet.plugin.project.TargetPlatformDetector;
|
||||
|
||||
public class KotlinCacheManagerUtil {
|
||||
private KotlinCacheManagerUtil() {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static BindingContext getDeclarationsBindingContext(@NotNull JetElement element) {
|
||||
return AnalyzerFacadeWithCache.analyzeFileWithCache(element.getContainingJetFile()).getBindingContext();
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,7 @@ import org.jetbrains.jet.lang.psi.JetNamedFunction;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.plugin.JetPluginUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
import org.jetbrains.jet.plugin.libraries.JetSourceNavigationHelper;
|
||||
import org.jetbrains.jet.plugin.stubindex.JetClassShortNameIndex;
|
||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||
@@ -70,7 +70,7 @@ public class KotlinTypeHierarchyProvider extends JavaTypeHierarchyProvider {
|
||||
else if (target instanceof JetNamedFunction) {
|
||||
JetNamedFunction function = (JetNamedFunction) target;
|
||||
String functionName = function.getName();
|
||||
FunctionDescriptor functionDescriptor = KotlinCacheManagerUtil.getDeclarationsBindingContext(function)
|
||||
FunctionDescriptor functionDescriptor = ResolvePackage.getBindingContext(function)
|
||||
.get(BindingContext.FUNCTION, target);
|
||||
if (functionDescriptor != null) {
|
||||
JetType type = functionDescriptor.getReturnType();
|
||||
|
||||
+2
-2
@@ -38,7 +38,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lexer.JetModifierKeywordToken;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
import org.jetbrains.jet.plugin.JetBundle;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -87,7 +87,7 @@ public class ConvertMemberToExtension extends BaseIntentionAction {
|
||||
JetCallableDeclaration member = getTarget(editor, file);
|
||||
assert member != null : "Must be checked by isAvailable";
|
||||
|
||||
BindingContext bindingContext = KotlinCacheManagerUtil.getDeclarationsBindingContext(member);
|
||||
BindingContext bindingContext = ResolvePackage.getBindingContext(member);
|
||||
DeclarationDescriptor memberDescriptor = bindingContext.get(DECLARATION_TO_DESCRIPTOR, member);
|
||||
if (memberDescriptor == null) return;
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ import org.jetbrains.jet.lang.types.checker.JetTypeChecker;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
import org.jetbrains.jet.plugin.JetBundle;
|
||||
import org.jetbrains.jet.plugin.actions.JetAddFunctionToClassifierAction;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
import org.jetbrains.jet.plugin.codeInsight.CodeInsightUtils;
|
||||
|
||||
import java.util.Collections;
|
||||
@@ -52,10 +52,8 @@ public class AddFunctionToSupertypeFix extends JetHintAction<JetNamedFunction> {
|
||||
}
|
||||
|
||||
private static List<FunctionDescriptor> generateFunctionsToAdd(JetNamedFunction functionElement) {
|
||||
BindingContext context = KotlinCacheManagerUtil.getDeclarationsBindingContext(functionElement);
|
||||
|
||||
FunctionDescriptor functionDescriptor = context.get(BindingContext.FUNCTION, functionElement);
|
||||
if (functionDescriptor == null) return Collections.emptyList();
|
||||
FunctionDescriptor functionDescriptor =
|
||||
(FunctionDescriptor) ResolvePackage.getLazyResolveSession(functionElement).resolveToDescriptor(functionElement);
|
||||
|
||||
DeclarationDescriptor containingDeclaration = functionDescriptor.getContainingDeclaration();
|
||||
if (!(containingDeclaration instanceof ClassDescriptor)) return Collections.emptyList();
|
||||
@@ -143,18 +141,18 @@ public class AddFunctionToSupertypeFix extends JetHintAction<JetNamedFunction> {
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void invoke(@NotNull final Project project, final Editor editor, JetFile file) {
|
||||
protected void invoke(@NotNull final Project project, final Editor editor, final JetFile file) {
|
||||
CommandProcessor.getInstance().runUndoTransparentAction(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
createAction(project, editor).execute();
|
||||
createAction(project, editor, file).execute();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@NotNull
|
||||
private JetAddFunctionToClassifierAction createAction(Project project, Editor editor) {
|
||||
BindingContext bindingContext = KotlinCacheManagerUtil.getDeclarationsBindingContext(element);
|
||||
private JetAddFunctionToClassifierAction createAction(Project project, Editor editor, JetFile file) {
|
||||
BindingContext bindingContext = ResolvePackage.getLazyResolveSession(file).getBindingContext();
|
||||
return new JetAddFunctionToClassifierAction(project, editor, bindingContext, functionsToAdd);
|
||||
}
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.lang.types.checker.JetTypeChecker;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
import org.jetbrains.jet.plugin.JetBundle;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
import org.jetbrains.jet.plugin.intentions.SpecifyTypeExplicitlyAction;
|
||||
import org.jetbrains.jet.plugin.project.AnalyzerFacadeWithCache;
|
||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||
@@ -204,7 +204,7 @@ public class ChangeFunctionReturnTypeFix extends JetIntentionAction<JetFunction>
|
||||
|
||||
JetFunction function = QuickFixUtil.getParentElementOfType(diagnostic, JetFunction.class);
|
||||
if (function != null) {
|
||||
BindingContext context = KotlinCacheManagerUtil.getDeclarationsBindingContext(function);
|
||||
BindingContext context = ResolvePackage.getBindingContext(function);
|
||||
JetType matchingReturnType = QuickFixUtil.findLowerBoundOfOverriddenCallablesReturnTypes(context, function);
|
||||
if (matchingReturnType != null) {
|
||||
actions.add(new ChangeFunctionReturnTypeFix(function, matchingReturnType));
|
||||
|
||||
@@ -42,7 +42,7 @@ import org.jetbrains.jet.lang.types.TypeUtils;
|
||||
import org.jetbrains.jet.lang.types.checker.JetTypeChecker;
|
||||
import org.jetbrains.jet.plugin.JetBundle;
|
||||
import org.jetbrains.jet.plugin.actions.JetChangeFunctionSignatureAction;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
import org.jetbrains.jet.plugin.codeInsight.CodeInsightUtils;
|
||||
|
||||
import java.util.*;
|
||||
@@ -108,7 +108,7 @@ public class ChangeMemberFunctionSignatureFix extends JetHintAction<JetNamedFunc
|
||||
*/
|
||||
@NotNull
|
||||
private static List<FunctionDescriptor> computePossibleSignatures(JetNamedFunction functionElement) {
|
||||
BindingContext context = KotlinCacheManagerUtil.getDeclarationsBindingContext(functionElement);
|
||||
BindingContext context = ResolvePackage.getBindingContext(functionElement);
|
||||
FunctionDescriptor functionDescriptor = context.get(BindingContext.FUNCTION, functionElement);
|
||||
if (functionDescriptor == null) return Lists.newArrayList();
|
||||
List<FunctionDescriptor> superFunctions = getPossibleSuperFunctionsDescriptors(functionDescriptor);
|
||||
|
||||
@@ -30,7 +30,7 @@ import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.types.JetType;
|
||||
import org.jetbrains.jet.lang.types.TypeUtils;
|
||||
import org.jetbrains.jet.plugin.JetBundle;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -59,7 +59,7 @@ public class ChangeToConstructorInvocationFix extends JetIntentionAction<JetDele
|
||||
}
|
||||
|
||||
JetTypeReference typeReference = element.getTypeReference();
|
||||
BindingContext context = KotlinCacheManagerUtil.getDeclarationsBindingContext((JetFile) file);
|
||||
BindingContext context = ResolvePackage.getBindingContext(typeReference);
|
||||
JetType supertype = context.get(BindingContext.TYPE, typeReference);
|
||||
if (supertype == null) return false;
|
||||
ClassDescriptor classDescriptor = TypeUtils.getClassDescriptor(supertype);
|
||||
|
||||
@@ -37,7 +37,7 @@ import org.jetbrains.jet.lang.diagnostics.Errors;
|
||||
import org.jetbrains.jet.lang.psi.*;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.plugin.JetBundle;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
import org.jetbrains.jet.renderer.DescriptorRenderer;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -77,7 +77,7 @@ public class MapPlatformClassToKotlinFix extends JetIntentionAction<JetReference
|
||||
|
||||
@Override
|
||||
public void invoke(@NotNull Project project, Editor editor, JetFile file) throws IncorrectOperationException {
|
||||
BindingContext context = KotlinCacheManagerUtil.getDeclarationsBindingContext(file);
|
||||
BindingContext context = ResolvePackage.getBindingContext(file);
|
||||
Iterable<Diagnostic> diagnostics = context.getDiagnostics();
|
||||
List<JetImportDirective> imports = new ArrayList<JetImportDirective>();
|
||||
List<JetUserType> usages = new ArrayList<JetUserType>();
|
||||
@@ -194,7 +194,7 @@ public class MapPlatformClassToKotlinFix extends JetIntentionAction<JetReference
|
||||
PsiFile psiFile = diagnostic.getPsiFile();
|
||||
if (!(psiFile instanceof JetFile)) return null;
|
||||
|
||||
BindingContext context = KotlinCacheManagerUtil.getDeclarationsBindingContext((JetFile) psiFile);
|
||||
BindingContext context = ResolvePackage.getBindingContext((JetFile) psiFile);
|
||||
ClassDescriptor platformClass = resolveToClass(typeExpr, context);
|
||||
if (platformClass == null) return null;
|
||||
|
||||
|
||||
+2
-2
@@ -31,7 +31,7 @@ import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.psi.JetParameter;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.plugin.JetBundle;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
|
||||
public class RenameParameterToMatchOverriddenMethodFix extends JetIntentionAction<JetParameter>{
|
||||
private final JetParameter parameter;
|
||||
@@ -48,7 +48,7 @@ public class RenameParameterToMatchOverriddenMethodFix extends JetIntentionActio
|
||||
return false;
|
||||
}
|
||||
|
||||
BindingContext context = KotlinCacheManagerUtil.getDeclarationsBindingContext(parameter);
|
||||
BindingContext context = ResolvePackage.getBindingContext(parameter);
|
||||
VariableDescriptor parameterDescriptor = context.get(BindingContext.VALUE_PARAMETER, parameter);
|
||||
if (parameterDescriptor == null) {
|
||||
return false;
|
||||
|
||||
+4
-4
@@ -42,7 +42,7 @@ import org.jetbrains.jet.lang.psi.JetDeclaration;
|
||||
import org.jetbrains.jet.lang.psi.JetNamedFunction;
|
||||
import org.jetbrains.jet.lang.resolve.BindingContext;
|
||||
import org.jetbrains.jet.lang.resolve.DescriptorUtils;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.KotlinCacheManagerUtil;
|
||||
import org.jetbrains.jet.plugin.caches.resolve.ResolvePackage;
|
||||
import org.jetbrains.jet.plugin.stubindex.JetAnnotationsIndex;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -70,10 +70,10 @@ public class KotlinAnnotatedElementsSearcher extends AnnotatedElementsSearcher {
|
||||
JetDeclaration parentOfType = PsiTreeUtil.getParentOfType(elt, JetDeclaration.class);
|
||||
if (parentOfType == null) return;
|
||||
|
||||
//TODO LazyResolve
|
||||
BindingContext context = KotlinCacheManagerUtil.getDeclarationsBindingContext(parentOfType);
|
||||
JetAnnotationEntry annotationEntry = (JetAnnotationEntry) elt;
|
||||
|
||||
AnnotationDescriptor annotationDescriptor = context.get(BindingContext.ANNOTATION, (JetAnnotationEntry) elt);
|
||||
BindingContext context = ResolvePackage.getBindingContext(annotationEntry);
|
||||
AnnotationDescriptor annotationDescriptor = context.get(BindingContext.ANNOTATION, annotationEntry);
|
||||
if (annotationDescriptor == null) return;
|
||||
|
||||
ClassifierDescriptor descriptor = annotationDescriptor.getType().getConstructor().getDeclarationDescriptor();
|
||||
|
||||
Reference in New Issue
Block a user