Instances of ChainedScope should always have a debugMessage
This commit is contained in:
@@ -460,7 +460,7 @@ public class TypeHierarchyResolver {
|
|||||||
context.getPackageFragments().put(file, packageFragment);
|
context.getPackageFragments().put(file, packageFragment);
|
||||||
|
|
||||||
PackageViewDescriptor packageView = packageFragment.getContainingDeclaration().getPackage(packageFragment.getFqName());
|
PackageViewDescriptor packageView = packageFragment.getContainingDeclaration().getPackage(packageFragment.getFqName());
|
||||||
ChainedScope rootPlusPackageScope = new ChainedScope(packageView, packageView.getMemberScope(), outerScope);
|
ChainedScope rootPlusPackageScope = new ChainedScope(packageView, "Root scope for " + file, packageView.getMemberScope(), outerScope);
|
||||||
WriteThroughScope packageScope = new WriteThroughScope(rootPlusPackageScope, packageFragment.getMemberScope(),
|
WriteThroughScope packageScope = new WriteThroughScope(rootPlusPackageScope, packageFragment.getMemberScope(),
|
||||||
new TraceBasedRedeclarationHandler(trace), "package in file " + file.getName());
|
new TraceBasedRedeclarationHandler(trace), "package in file " + file.getName());
|
||||||
packageScope.changeLockLevel(WritableScope.LockLevel.BOTH);
|
packageScope.changeLockLevel(WritableScope.LockLevel.BOTH);
|
||||||
|
|||||||
+6
-2
@@ -178,7 +178,9 @@ public class CallExpressionResolver {
|
|||||||
scopes.add(namespace.getMemberScope());
|
scopes.add(namespace.getMemberScope());
|
||||||
}
|
}
|
||||||
|
|
||||||
JetScope scope = new ChainedScope(classifier, scopes.toArray(new JetScope[scopes.size()]));
|
JetScope scope = new ChainedScope(
|
||||||
|
classifier, "Member scope for extended class object type " + classifier, scopes.toArray(new JetScope[scopes.size()])
|
||||||
|
);
|
||||||
return new NamespaceType(referencedName, scope, new ExpressionReceiver(expression, classObjectType));
|
return new NamespaceType(referencedName, scope, new ExpressionReceiver(expression, classObjectType));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -213,7 +215,9 @@ public class CallExpressionResolver {
|
|||||||
JetScope scope;
|
JetScope scope;
|
||||||
ClassifierDescriptor classifier = context.scope.getClassifier(name);
|
ClassifierDescriptor classifier = context.scope.getClassifier(name);
|
||||||
if (classifier instanceof ClassDescriptor) {
|
if (classifier instanceof ClassDescriptor) {
|
||||||
scope = new ChainedScope(namespace, namespace.getMemberScope(), getStaticNestedClassesScope((ClassDescriptor) classifier));
|
scope = new ChainedScope(
|
||||||
|
namespace, "Namespace type member scope for " + expression.getText(), namespace.getMemberScope(), getStaticNestedClassesScope((ClassDescriptor) classifier)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
scope = namespace.getMemberScope();
|
scope = namespace.getMemberScope();
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
|
|||||||
}
|
}
|
||||||
typeParameters.changeLockLevel(WritableScope.LockLevel.READING);
|
typeParameters.changeLockLevel(WritableScope.LockLevel.READING);
|
||||||
return new ChainedScope(module,
|
return new ChainedScope(module,
|
||||||
|
"TypeSubstitutorTest::getContextScope()",
|
||||||
topLevelDeclarations,
|
topLevelDeclarations,
|
||||||
typeParameters,
|
typeParameters,
|
||||||
contextClass.getDefaultType().getMemberScope(),
|
contextClass.getDefaultType().getMemberScope(),
|
||||||
|
|||||||
+1
-1
@@ -32,7 +32,7 @@ public class JavaFullPackageScope extends ChainedScope implements JavaPackageFra
|
|||||||
@NotNull JetScope kotlinPackageScope,
|
@NotNull JetScope kotlinPackageScope,
|
||||||
@NotNull JavaPurePackageScope purePackageScope
|
@NotNull JavaPurePackageScope purePackageScope
|
||||||
) {
|
) {
|
||||||
super(packageFragment, kotlinPackageScope, purePackageScope);
|
super(packageFragment, "JavaFullPackageScope", kotlinPackageScope, purePackageScope);
|
||||||
this.purePackageScope = purePackageScope;
|
this.purePackageScope = purePackageScope;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -37,10 +37,6 @@ public class ChainedScope implements JetScope {
|
|||||||
private Collection<DeclarationDescriptor> allDescriptors;
|
private Collection<DeclarationDescriptor> allDescriptors;
|
||||||
private List<ReceiverParameterDescriptor> implicitReceiverHierarchy;
|
private List<ReceiverParameterDescriptor> implicitReceiverHierarchy;
|
||||||
|
|
||||||
public ChainedScope(DeclarationDescriptor containingDeclaration, JetScope... scopes) {
|
|
||||||
this(containingDeclaration, "Untitled chained scope", scopes);
|
|
||||||
}
|
|
||||||
|
|
||||||
public ChainedScope(DeclarationDescriptor containingDeclaration, String debugName, JetScope... scopes) {
|
public ChainedScope(DeclarationDescriptor containingDeclaration, String debugName, JetScope... scopes) {
|
||||||
this.containingDeclaration = containingDeclaration;
|
this.containingDeclaration = containingDeclaration;
|
||||||
scopeChain = scopes.clone();
|
scopeChain = scopes.clone();
|
||||||
|
|||||||
@@ -215,7 +215,7 @@ public class TypeUtils {
|
|||||||
constructor,
|
constructor,
|
||||||
allNullable,
|
allNullable,
|
||||||
Collections.<TypeProjection>emptyList(),
|
Collections.<TypeProjection>emptyList(),
|
||||||
new ChainedScope(null, scopes)); // TODO : check intersectibility, don't use a chanied scope
|
new ChainedScope(null, "member scope for intersection type " + constructor, scopes)); // TODO : check intersectibility, don't use a chanied scope
|
||||||
}
|
}
|
||||||
|
|
||||||
private static class TypeUnifier {
|
private static class TypeUnifier {
|
||||||
|
|||||||
Reference in New Issue
Block a user