Replace explicit ScriptDescriptor in resolver with appropriate superclass
This commit is contained in:
@@ -23,7 +23,6 @@ import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.psi.*;
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo;
|
||||
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyScriptDescriptor;
|
||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
|
||||
|
||||
import java.util.Collection;
|
||||
@@ -40,7 +39,7 @@ public interface BodiesResolveContext {
|
||||
@Mutable
|
||||
Map<KtSecondaryConstructor, ClassConstructorDescriptor> getSecondaryConstructors();
|
||||
@Mutable
|
||||
Map<KtScript, LazyScriptDescriptor> getScripts();
|
||||
Map<KtScript, ClassDescriptorWithResolutionScopes> getScripts();
|
||||
|
||||
@Mutable
|
||||
Map<KtProperty, PropertyDescriptor> getProperties();
|
||||
|
||||
@@ -24,7 +24,6 @@ import org.jetbrains.kotlin.descriptors.*;
|
||||
import org.jetbrains.kotlin.psi.*;
|
||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo;
|
||||
import org.jetbrains.kotlin.resolve.lazy.DeclarationScopeProvider;
|
||||
import org.jetbrains.kotlin.resolve.lazy.descriptors.LazyScriptDescriptor;
|
||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
|
||||
|
||||
import java.io.PrintStream;
|
||||
@@ -46,7 +45,7 @@ public class TopDownAnalysisContext implements BodiesResolveContext {
|
||||
private final Map<KtDestructuringDeclarationEntry, PropertyDescriptor> destructuringDeclarationEntries = Maps.newLinkedHashMap();
|
||||
private Map<KtCallableDeclaration, CallableMemberDescriptor> members = null;
|
||||
|
||||
private final Map<KtScript, LazyScriptDescriptor> scripts = Maps.newLinkedHashMap();
|
||||
private final Map<KtScript, ClassDescriptorWithResolutionScopes> scripts = Maps.newLinkedHashMap();
|
||||
|
||||
private final TopDownAnalysisMode topDownAnalysisMode;
|
||||
private final DeclarationScopeProvider declarationScopeProvider;
|
||||
@@ -114,7 +113,7 @@ public class TopDownAnalysisContext implements BodiesResolveContext {
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public Map<KtScript, LazyScriptDescriptor> getScripts() {
|
||||
public Map<KtScript, ClassDescriptorWithResolutionScopes> getScripts() {
|
||||
return scripts;
|
||||
}
|
||||
|
||||
|
||||
@@ -61,8 +61,8 @@ open class LazyDeclarationResolver @Deprecated("") constructor(
|
||||
open fun getClassDescriptor(classOrObject: KtClassOrObject, location: LookupLocation): ClassDescriptor =
|
||||
findClassDescriptor(classOrObject, location)
|
||||
|
||||
fun getScriptDescriptor(script: KtScript, location: LookupLocation): ScriptDescriptor =
|
||||
findClassDescriptor(script, location) as ScriptDescriptor
|
||||
fun getScriptDescriptor(script: KtScript, location: LookupLocation): ClassDescriptorWithResolutionScopes =
|
||||
findClassDescriptor(script, location) as ClassDescriptorWithResolutionScopes
|
||||
|
||||
private fun findClassDescriptorIfAny(
|
||||
classObjectOrScript: KtNamedDeclaration,
|
||||
|
||||
@@ -294,7 +294,7 @@ public class ResolveSession implements KotlinCodeAnalyzer, LazyClassContext {
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public ScriptDescriptor getScriptDescriptor(@NotNull KtScript script) {
|
||||
public ClassDescriptorWithResolutionScopes getScriptDescriptor(@NotNull KtScript script) {
|
||||
return lazyDeclarationResolver.getScriptDescriptor(script, NoLookupLocation.FOR_SCRIPT);
|
||||
}
|
||||
|
||||
|
||||
+3
-3
@@ -18,7 +18,6 @@ package org.jetbrains.kotlin.resolve.lazy.descriptors
|
||||
|
||||
import com.intellij.openapi.vfs.StandardFileSystems
|
||||
import com.intellij.openapi.vfs.VirtualFileManager
|
||||
import com.intellij.openapi.vfs.local.CoreLocalFileSystem
|
||||
import com.intellij.psi.PsiElement
|
||||
import com.intellij.psi.PsiManager
|
||||
import org.jetbrains.kotlin.descriptors.*
|
||||
@@ -26,7 +25,8 @@ import org.jetbrains.kotlin.descriptors.annotations.Annotations
|
||||
import org.jetbrains.kotlin.descriptors.annotations.FilteredAnnotations
|
||||
import org.jetbrains.kotlin.diagnostics.DiagnosticFactory1
|
||||
import org.jetbrains.kotlin.diagnostics.Errors
|
||||
import org.jetbrains.kotlin.diagnostics.Errors.*
|
||||
import org.jetbrains.kotlin.diagnostics.Errors.MISSING_IMPORTED_SCRIPT_FILE
|
||||
import org.jetbrains.kotlin.diagnostics.Errors.MISSING_IMPORTED_SCRIPT_PSI
|
||||
import org.jetbrains.kotlin.name.ClassId
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import org.jetbrains.kotlin.psi.*
|
||||
@@ -170,7 +170,7 @@ class LazyScriptDescriptor(
|
||||
// TODO: check if this is the behavior we want to have - see #KT-28916
|
||||
val ktScript = (psiFile as? KtFile)?.declarations?.firstIsInstanceOrNull<KtScript>()
|
||||
?: return null
|
||||
return resolveSession.getScriptDescriptor(ktScript)
|
||||
return resolveSession.getScriptDescriptor(ktScript) as ScriptDescriptor
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user