Instances of ChainedScope should always have a debugMessage

This commit is contained in:
Andrey Breslav
2013-12-26 14:21:56 +04:00
parent 9353bfc449
commit debacf0554
6 changed files with 10 additions and 9 deletions
@@ -460,7 +460,7 @@ public class TypeHierarchyResolver {
context.getPackageFragments().put(file, packageFragment);
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(),
new TraceBasedRedeclarationHandler(trace), "package in file " + file.getName());
packageScope.changeLockLevel(WritableScope.LockLevel.BOTH);
@@ -178,7 +178,9 @@ public class CallExpressionResolver {
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));
}
@@ -213,7 +215,9 @@ public class CallExpressionResolver {
JetScope scope;
ClassifierDescriptor classifier = context.scope.getClassifier(name);
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 {
scope = namespace.getMemberScope();
@@ -93,6 +93,7 @@ public class TypeSubstitutorTest extends KotlinTestWithEnvironment {
}
typeParameters.changeLockLevel(WritableScope.LockLevel.READING);
return new ChainedScope(module,
"TypeSubstitutorTest::getContextScope()",
topLevelDeclarations,
typeParameters,
contextClass.getDefaultType().getMemberScope(),
@@ -32,7 +32,7 @@ public class JavaFullPackageScope extends ChainedScope implements JavaPackageFra
@NotNull JetScope kotlinPackageScope,
@NotNull JavaPurePackageScope purePackageScope
) {
super(packageFragment, kotlinPackageScope, purePackageScope);
super(packageFragment, "JavaFullPackageScope", kotlinPackageScope, purePackageScope);
this.purePackageScope = purePackageScope;
}
@@ -37,10 +37,6 @@ public class ChainedScope implements JetScope {
private Collection<DeclarationDescriptor> allDescriptors;
private List<ReceiverParameterDescriptor> implicitReceiverHierarchy;
public ChainedScope(DeclarationDescriptor containingDeclaration, JetScope... scopes) {
this(containingDeclaration, "Untitled chained scope", scopes);
}
public ChainedScope(DeclarationDescriptor containingDeclaration, String debugName, JetScope... scopes) {
this.containingDeclaration = containingDeclaration;
scopeChain = scopes.clone();
@@ -215,7 +215,7 @@ public class TypeUtils {
constructor,
allNullable,
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 {