Removed asLexicalScope from ScopeUtils.kt
This commit is contained in:
@@ -140,15 +140,6 @@ public fun LexicalScope.asKtScope(): KtScope {
|
|||||||
@JvmOverloads
|
@JvmOverloads
|
||||||
public fun KtScope.memberScopeAsImportingScope(parentScope: ImportingScope? = null): ImportingScope = MemberScopeToImportingScopeAdapter(parentScope, this)
|
public fun KtScope.memberScopeAsImportingScope(parentScope: ImportingScope? = null): ImportingScope = MemberScopeToImportingScopeAdapter(parentScope, this)
|
||||||
|
|
||||||
@Deprecated("Remove this method after scope refactoring")
|
|
||||||
public fun KtScope.asLexicalScope(): LexicalScope
|
|
||||||
= if (this is LexicalToKtScopeAdapter) {
|
|
||||||
lexicalScope
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
memberScopeAsImportingScope()
|
|
||||||
}
|
|
||||||
|
|
||||||
private class LexicalToKtScopeAdapter(lexicalScope: LexicalScope): KtScope {
|
private class LexicalToKtScopeAdapter(lexicalScope: LexicalScope): KtScope {
|
||||||
val lexicalScope = lexicalScope.takeSnapshot()
|
val lexicalScope = lexicalScope.takeSnapshot()
|
||||||
|
|
||||||
|
|||||||
@@ -33,7 +33,6 @@ import org.jetbrains.kotlin.resolve.scopes.KtScope;
|
|||||||
import org.jetbrains.kotlin.resolve.scopes.RedeclarationHandler;
|
import org.jetbrains.kotlin.resolve.scopes.RedeclarationHandler;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.WritableScope;
|
import org.jetbrains.kotlin.resolve.scopes.WritableScope;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.WritableScopeImpl;
|
import org.jetbrains.kotlin.resolve.scopes.WritableScopeImpl;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.utils.ScopeUtilsKt;
|
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||||
import org.jetbrains.kotlin.test.JetLiteFixture;
|
import org.jetbrains.kotlin.test.JetLiteFixture;
|
||||||
import org.jetbrains.kotlin.test.JetTestUtils;
|
import org.jetbrains.kotlin.test.JetTestUtils;
|
||||||
@@ -127,7 +126,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
|||||||
List<KtDeclaration> declarations = aClass.getDeclarations();
|
List<KtDeclaration> declarations = aClass.getDeclarations();
|
||||||
KtNamedFunction function = (KtNamedFunction) declarations.get(0);
|
KtNamedFunction function = (KtNamedFunction) declarations.get(0);
|
||||||
SimpleFunctionDescriptor functionDescriptor =
|
SimpleFunctionDescriptor functionDescriptor =
|
||||||
functionDescriptorResolver.resolveFunctionDescriptor(classDescriptor, ScopeUtilsKt.asLexicalScope(scope), function,
|
functionDescriptorResolver.resolveFunctionDescriptor(classDescriptor, TypeTestUtilsKt.asLexicalScope(scope), function,
|
||||||
JetTestUtils.DUMMY_TRACE, DataFlowInfo.EMPTY);
|
JetTestUtils.DUMMY_TRACE, DataFlowInfo.EMPTY);
|
||||||
|
|
||||||
assertEquals(expectedFunctionModality, functionDescriptor.getModality());
|
assertEquals(expectedFunctionModality, functionDescriptor.getModality());
|
||||||
@@ -140,7 +139,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
|||||||
List<KtDeclaration> declarations = aClass.getDeclarations();
|
List<KtDeclaration> declarations = aClass.getDeclarations();
|
||||||
KtProperty property = (KtProperty) declarations.get(0);
|
KtProperty property = (KtProperty) declarations.get(0);
|
||||||
PropertyDescriptor propertyDescriptor = descriptorResolver.resolvePropertyDescriptor(
|
PropertyDescriptor propertyDescriptor = descriptorResolver.resolvePropertyDescriptor(
|
||||||
classDescriptor, ScopeUtilsKt.asLexicalScope(scope), property, JetTestUtils.DUMMY_TRACE, DataFlowInfo.EMPTY);
|
classDescriptor, TypeTestUtilsKt.asLexicalScope(scope), property, JetTestUtils.DUMMY_TRACE, DataFlowInfo.EMPTY);
|
||||||
|
|
||||||
assertEquals(expectedPropertyModality, propertyDescriptor.getModality());
|
assertEquals(expectedPropertyModality, propertyDescriptor.getModality());
|
||||||
}
|
}
|
||||||
@@ -153,7 +152,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture {
|
|||||||
List<KtDeclaration> declarations = aClass.getDeclarations();
|
List<KtDeclaration> declarations = aClass.getDeclarations();
|
||||||
KtProperty property = (KtProperty) declarations.get(0);
|
KtProperty property = (KtProperty) declarations.get(0);
|
||||||
PropertyDescriptor propertyDescriptor = descriptorResolver.resolvePropertyDescriptor(
|
PropertyDescriptor propertyDescriptor = descriptorResolver.resolvePropertyDescriptor(
|
||||||
classDescriptor, ScopeUtilsKt.asLexicalScope(scope), property, JetTestUtils.DUMMY_TRACE, DataFlowInfo.EMPTY);
|
classDescriptor, TypeTestUtilsKt.asLexicalScope(scope), property, JetTestUtils.DUMMY_TRACE, DataFlowInfo.EMPTY);
|
||||||
PropertyAccessorDescriptor propertyAccessor = isGetter
|
PropertyAccessorDescriptor propertyAccessor = isGetter
|
||||||
? propertyDescriptor.getGetter()
|
? propertyDescriptor.getGetter()
|
||||||
: propertyDescriptor.getSetter();
|
: propertyDescriptor.getSetter();
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ import org.jetbrains.kotlin.resolve.FunctionDescriptorResolver;
|
|||||||
import org.jetbrains.kotlin.resolve.OverridingUtil;
|
import org.jetbrains.kotlin.resolve.OverridingUtil;
|
||||||
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo;
|
import org.jetbrains.kotlin.resolve.calls.smartcasts.DataFlowInfo;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
|
import org.jetbrains.kotlin.resolve.scopes.LexicalScope;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.utils.ScopeUtilsKt;
|
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||||
import org.jetbrains.kotlin.test.JetLiteFixture;
|
import org.jetbrains.kotlin.test.JetLiteFixture;
|
||||||
import org.jetbrains.kotlin.test.JetTestUtils;
|
import org.jetbrains.kotlin.test.JetTestUtils;
|
||||||
@@ -163,7 +162,7 @@ public class JetOverridingTest extends JetLiteFixture {
|
|||||||
|
|
||||||
private FunctionDescriptor makeFunction(String funDecl) {
|
private FunctionDescriptor makeFunction(String funDecl) {
|
||||||
KtNamedFunction function = KtPsiFactoryKt.KtPsiFactory(getProject()).createFunction(funDecl);
|
KtNamedFunction function = KtPsiFactoryKt.KtPsiFactory(getProject()).createFunction(funDecl);
|
||||||
LexicalScope scope = ScopeUtilsKt.asLexicalScope(root.getBuiltIns().getBuiltInsPackageScope());
|
LexicalScope scope = TypeTestUtilsKt.asLexicalScope(root.getBuiltIns().getBuiltInsPackageScope());
|
||||||
return functionDescriptorResolver.resolveFunctionDescriptor(root, scope, function,
|
return functionDescriptorResolver.resolveFunctionDescriptor(root, scope, function,
|
||||||
JetTestUtils.DUMMY_TRACE, DataFlowInfo.EMPTY);
|
JetTestUtils.DUMMY_TRACE, DataFlowInfo.EMPTY);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -547,14 +547,14 @@ public class JetTypeCheckerTest extends JetLiteFixture {
|
|||||||
private void assertType(String expression, KotlinType expectedType) {
|
private void assertType(String expression, KotlinType expectedType) {
|
||||||
Project project = getProject();
|
Project project = getProject();
|
||||||
KtExpression ktExpression = KtPsiFactoryKt.KtPsiFactory(project).createExpression(expression);
|
KtExpression ktExpression = KtPsiFactoryKt.KtPsiFactory(project).createExpression(expression);
|
||||||
KotlinType type = expressionTypingServices.getType(ScopeUtilsKt.asLexicalScope(scopeWithImports), ktExpression, TypeUtils.NO_EXPECTED_TYPE, DataFlowInfo.EMPTY, JetTestUtils.DUMMY_TRACE);
|
KotlinType type = expressionTypingServices.getType(TypeTestUtilsKt.asLexicalScope(scopeWithImports), ktExpression, TypeUtils.NO_EXPECTED_TYPE, DataFlowInfo.EMPTY, JetTestUtils.DUMMY_TRACE);
|
||||||
assertTrue(type + " != " + expectedType, type.equals(expectedType));
|
assertTrue(type + " != " + expectedType, type.equals(expectedType));
|
||||||
}
|
}
|
||||||
|
|
||||||
private void assertErrorType(String expression) {
|
private void assertErrorType(String expression) {
|
||||||
Project project = getProject();
|
Project project = getProject();
|
||||||
KtExpression ktExpression = KtPsiFactoryKt.KtPsiFactory(project).createExpression(expression);
|
KtExpression ktExpression = KtPsiFactoryKt.KtPsiFactory(project).createExpression(expression);
|
||||||
KotlinType type = expressionTypingServices.safeGetType(ScopeUtilsKt.asLexicalScope(scopeWithImports), ktExpression, TypeUtils.NO_EXPECTED_TYPE, DataFlowInfo.EMPTY, JetTestUtils.DUMMY_TRACE);
|
KotlinType type = expressionTypingServices.safeGetType(TypeTestUtilsKt.asLexicalScope(scopeWithImports), ktExpression, TypeUtils.NO_EXPECTED_TYPE, DataFlowInfo.EMPTY, JetTestUtils.DUMMY_TRACE);
|
||||||
assertTrue("Error type expected but " + type + " returned", type.isError());
|
assertTrue("Error type expected but " + type + " returned", type.isError());
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -587,7 +587,7 @@ public class JetTypeCheckerTest extends JetLiteFixture {
|
|||||||
Project project = getProject();
|
Project project = getProject();
|
||||||
KtExpression ktExpression = KtPsiFactoryKt.KtPsiFactory(project).createExpression(expression);
|
KtExpression ktExpression = KtPsiFactoryKt.KtPsiFactory(project).createExpression(expression);
|
||||||
KotlinType type = expressionTypingServices.getType(
|
KotlinType type = expressionTypingServices.getType(
|
||||||
ScopeUtilsKt.asLexicalScope(addImports(scope)), ktExpression, TypeUtils.NO_EXPECTED_TYPE, DataFlowInfo.EMPTY, new BindingTraceContext());
|
TypeTestUtilsKt.asLexicalScope(addImports(scope)), ktExpression, TypeUtils.NO_EXPECTED_TYPE, DataFlowInfo.EMPTY, new BindingTraceContext());
|
||||||
KotlinType expectedType = expectedTypeStr == null ? null : makeType(expectedTypeStr);
|
KotlinType expectedType = expectedTypeStr == null ? null : makeType(expectedTypeStr);
|
||||||
assertEquals(expectedType, type);
|
assertEquals(expectedType, type);
|
||||||
}
|
}
|
||||||
@@ -635,6 +635,6 @@ public class JetTypeCheckerTest extends JetLiteFixture {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private KotlinType makeType(KtScope scope, String typeStr) {
|
private KotlinType makeType(KtScope scope, String typeStr) {
|
||||||
return typeResolver.resolveType(ScopeUtilsKt.asLexicalScope(scope), KtPsiFactoryKt.KtPsiFactory(getProject()).createType(typeStr), JetTestUtils.DUMMY_TRACE, true);
|
return typeResolver.resolveType(TypeTestUtilsKt.asLexicalScope(scope), KtPsiFactoryKt.KtPsiFactory(getProject()).createType(typeStr), JetTestUtils.DUMMY_TRACE, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
|||||||
KtTypeReference jetTypeReference = KtPsiFactoryKt.KtPsiFactory(getProject()).createType(typeStr);
|
KtTypeReference jetTypeReference = KtPsiFactoryKt.KtPsiFactory(getProject()).createType(typeStr);
|
||||||
AnalyzingUtils.checkForSyntacticErrors(jetTypeReference);
|
AnalyzingUtils.checkForSyntacticErrors(jetTypeReference);
|
||||||
BindingTrace trace = new BindingTraceContext();
|
BindingTrace trace = new BindingTraceContext();
|
||||||
KotlinType type = container.getTypeResolver().resolveType(ScopeUtilsKt.asLexicalScope(scope), jetTypeReference, trace, true);
|
KotlinType type = container.getTypeResolver().resolveType(TypeTestUtilsKt.asLexicalScope(scope), jetTypeReference, trace, true);
|
||||||
if (!trace.getBindingContext().getDiagnostics().isEmpty()) {
|
if (!trace.getBindingContext().getDiagnostics().isEmpty()) {
|
||||||
fail("Errors:\n" + StringUtil.join(
|
fail("Errors:\n" + StringUtil.join(
|
||||||
trace.getBindingContext().getDiagnostics(),
|
trace.getBindingContext().getDiagnostics(),
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ import org.jetbrains.kotlin.resolve.scopes.KtScope;
|
|||||||
import org.jetbrains.kotlin.resolve.scopes.RedeclarationHandler;
|
import org.jetbrains.kotlin.resolve.scopes.RedeclarationHandler;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.WritableScope;
|
import org.jetbrains.kotlin.resolve.scopes.WritableScope;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.WritableScopeImpl;
|
import org.jetbrains.kotlin.resolve.scopes.WritableScopeImpl;
|
||||||
import org.jetbrains.kotlin.resolve.scopes.utils.ScopeUtilsKt;
|
|
||||||
import org.jetbrains.kotlin.test.ConfigurationKind;
|
import org.jetbrains.kotlin.test.ConfigurationKind;
|
||||||
import org.jetbrains.kotlin.test.JetLiteFixture;
|
import org.jetbrains.kotlin.test.JetLiteFixture;
|
||||||
import org.jetbrains.kotlin.test.JetTestUtils;
|
import org.jetbrains.kotlin.test.JetTestUtils;
|
||||||
@@ -213,7 +212,7 @@ public class TypeUnifierTest extends JetLiteFixture {
|
|||||||
|
|
||||||
KtTypeReference typeReference = projection.getTypeReference();
|
KtTypeReference typeReference = projection.getTypeReference();
|
||||||
assert typeReference != null;
|
assert typeReference != null;
|
||||||
KotlinType type = typeResolver.resolveType(ScopeUtilsKt.asLexicalScope(withX), typeReference, JetTestUtils.DUMMY_TRACE, true);
|
KotlinType type = typeResolver.resolveType(TypeTestUtilsKt.asLexicalScope(withX), typeReference, JetTestUtils.DUMMY_TRACE, true);
|
||||||
|
|
||||||
return new TypeProjectionImpl(getProjectionKind(typeStr, projection), type);
|
return new TypeProjectionImpl(getProjectionKind(typeStr, projection), type);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2015 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.kotlin.types
|
||||||
|
|
||||||
|
import org.jetbrains.kotlin.descriptors.DeclarationDescriptor
|
||||||
|
import org.jetbrains.kotlin.resolve.scopes.BaseLexicalScope
|
||||||
|
import org.jetbrains.kotlin.resolve.scopes.KtScope
|
||||||
|
import org.jetbrains.kotlin.resolve.scopes.LexicalScope
|
||||||
|
import org.jetbrains.kotlin.resolve.scopes.utils.memberScopeAsImportingScope
|
||||||
|
import org.jetbrains.kotlin.utils.Printer
|
||||||
|
|
||||||
|
public fun KtScope.asLexicalScope(): LexicalScope {
|
||||||
|
val importingScope = memberScopeAsImportingScope()
|
||||||
|
return object : BaseLexicalScope(importingScope) {
|
||||||
|
override val ownerDescriptor: DeclarationDescriptor
|
||||||
|
get() = importingScope.ownerDescriptor
|
||||||
|
|
||||||
|
override fun printStructure(p: Printer) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user