This commit is contained in:
Valentin Kipyatkov
2015-10-26 22:27:56 +03:00
parent 79825fc1e6
commit 91ff27f78c
3 changed files with 7 additions and 7 deletions
@@ -287,7 +287,7 @@ inline fun <T: Any> LexicalScope.findFirstFromImportingScopes(fetch: (ImportingS
return findFirstFromMeAndParent { if (it is ImportingScope) fetch(it) else null } return findFirstFromMeAndParent { if (it is ImportingScope) fetch(it) else null }
} }
fun LexicalScope.addImportScopes(importScopes: List<ImportingScope>): LexicalScope { fun LexicalScope.addImportingScopes(importScopes: List<ImportingScope>): LexicalScope {
if (this is ImportingScope) { if (this is ImportingScope) {
return chainImportingScopes(importScopes, this)!! return chainImportingScopes(importScopes, this)!!
} }
@@ -299,8 +299,8 @@ fun LexicalScope.addImportScopes(importScopes: List<ImportingScope>): LexicalSco
} }
} }
fun LexicalScope.addImportScope(importScope: ImportingScope): LexicalScope fun LexicalScope.addImportingScope(importScope: ImportingScope): LexicalScope
= addImportScopes(listOf(importScope)) = addImportingScopes(listOf(importScope))
fun ImportingScope.withParent(newParent: ImportingScope?): ImportingScope { fun ImportingScope.withParent(newParent: ImportingScope?): ImportingScope {
// TODO: it's a hack for Repl // TODO: it's a hack for Repl
@@ -33,7 +33,7 @@ import org.jetbrains.kotlin.resolve.calls.context.ContextDependency
import org.jetbrains.kotlin.resolve.scopes.ExplicitImportsScope import org.jetbrains.kotlin.resolve.scopes.ExplicitImportsScope
import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver import org.jetbrains.kotlin.resolve.scopes.receivers.ExpressionReceiver
import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue import org.jetbrains.kotlin.resolve.scopes.receivers.ReceiverValue
import org.jetbrains.kotlin.resolve.scopes.utils.addImportScope import org.jetbrains.kotlin.resolve.scopes.utils.addImportingScope
import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.types.TypeUtils
import org.jetbrains.kotlin.util.descriptorsEqualWithSubstitution import org.jetbrains.kotlin.util.descriptorsEqualWithSubstitution
import java.util.* import java.util.*
@@ -192,7 +192,7 @@ public class ShadowedDeclarationsFilter private constructor(
var scope = context.getResolutionScope(bindingContext, resolutionFacade) var scope = context.getResolutionScope(bindingContext, resolutionFacade)
if (descriptorsToImport.isNotEmpty()) { if (descriptorsToImport.isNotEmpty()) {
scope = scope.addImportScope(ExplicitImportsScope(descriptorsToImport)) scope = scope.addImportingScope(ExplicitImportsScope(descriptorsToImport))
} }
val dataFlowInfo = bindingContext.getDataFlowInfo(context) val dataFlowInfo = bindingContext.getDataFlowInfo(context)
@@ -30,7 +30,7 @@ import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo
import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode import org.jetbrains.kotlin.resolve.lazy.BodyResolveMode
import org.jetbrains.kotlin.resolve.lazy.ResolveSession import org.jetbrains.kotlin.resolve.lazy.ResolveSession
import org.jetbrains.kotlin.resolve.scopes.LexicalScope import org.jetbrains.kotlin.resolve.scopes.LexicalScope
import org.jetbrains.kotlin.resolve.scopes.utils.addImportScopes import org.jetbrains.kotlin.resolve.scopes.utils.addImportingScopes
import org.jetbrains.kotlin.types.TypeUtils import org.jetbrains.kotlin.types.TypeUtils
import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices import org.jetbrains.kotlin.types.expressions.ExpressionTypingServices
import org.jetbrains.kotlin.types.expressions.PreliminaryDeclarationVisitor import org.jetbrains.kotlin.types.expressions.PreliminaryDeclarationVisitor
@@ -142,6 +142,6 @@ public class CodeFragmentAnalyzer(
qualifierResolver.processImportReference(it, resolveSession.moduleDescriptor, resolveSession.trace, null) qualifierResolver.processImportReference(it, resolveSession.moduleDescriptor, resolveSession.trace, null)
}.filterNotNull() }.filterNotNull()
return scopeForContextElement.addImportScopes(importScopes) to dataFlowInfo return scopeForContextElement.addImportingScopes(importScopes) to dataFlowInfo
} }
} }