Debug names for type deserializaers
This commit is contained in:
committed by
Alexander Udalov
parent
5492c8875e
commit
a861ac0c10
+4
-3
@@ -41,8 +41,8 @@ public class DescriptorDeserializer {
|
||||
@NotNull ClassResolver classResolver,
|
||||
@NotNull AnnotationDeserializer annotationDeserializer
|
||||
) {
|
||||
return new DescriptorDeserializer(new TypeDeserializer(null, nameResolver, classResolver), containingDeclaration, nameResolver,
|
||||
annotationDeserializer);
|
||||
return new DescriptorDeserializer(new TypeDeserializer(null, nameResolver, classResolver, "Deserializer for " + containingDeclaration),
|
||||
containingDeclaration, nameResolver, annotationDeserializer);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -79,7 +79,8 @@ public class DescriptorDeserializer {
|
||||
|
||||
@NotNull
|
||||
private DescriptorDeserializer createChildDeserializer(@NotNull DeclarationDescriptor descriptor) {
|
||||
return create(new TypeDeserializer(typeDeserializer), descriptor, nameResolver, annotationDeserializer);
|
||||
return create(new TypeDeserializer(typeDeserializer, "Child deserializer for " + descriptor),
|
||||
descriptor, nameResolver, annotationDeserializer);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+13
-4
@@ -37,19 +37,23 @@ public class TypeDeserializer {
|
||||
private final IndexedSymbolTable<TypeParameterDescriptor> typeParameterDescriptors;
|
||||
private final TIntObjectHashMap<ClassDescriptor> classDescriptors = new TIntObjectHashMap<ClassDescriptor>();
|
||||
|
||||
public TypeDeserializer(@NotNull TypeDeserializer parent) {
|
||||
this(parent, parent.nameResolver, parent.classResolver);
|
||||
private final String debugName;
|
||||
|
||||
public TypeDeserializer(@NotNull TypeDeserializer parent, @NotNull String debugName) {
|
||||
this(parent, parent.nameResolver, parent.classResolver, debugName);
|
||||
}
|
||||
|
||||
public TypeDeserializer(
|
||||
@Nullable TypeDeserializer parent,
|
||||
@NotNull NameResolver nameResolver,
|
||||
@NotNull ClassResolver classResolver
|
||||
) {
|
||||
@NotNull ClassResolver classResolver,
|
||||
@NotNull String debugName
|
||||
) {
|
||||
IndexedSymbolTable<TypeParameterDescriptor> parentTypeParameters = parent == null ? null : parent.typeParameterDescriptors;
|
||||
this.typeParameterDescriptors = new IndexedSymbolTable<TypeParameterDescriptor>(parentTypeParameters);
|
||||
this.nameResolver = nameResolver;
|
||||
this.classResolver = classResolver;
|
||||
this.debugName = debugName + (parent == null ? "" : ". Child of " + parent.debugName);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -221,4 +225,9 @@ public class TypeDeserializer {
|
||||
}
|
||||
return ((ClassDescriptor) descriptor).getMemberScope(typeArguments);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return debugName;
|
||||
}
|
||||
}
|
||||
|
||||
+3
-2
@@ -74,7 +74,9 @@ public class DeserializedClassDescriptor extends ClassDescriptorBase implements
|
||||
@Nullable TypeDeserializer outerTypeDeserializer
|
||||
) {
|
||||
this.classProto = classProto;
|
||||
this.typeDeserializer = new TypeDeserializer(outerTypeDeserializer, nameResolver, classResolver);
|
||||
this.name = nameResolver.getName(classProto.getName());
|
||||
|
||||
this.typeDeserializer = new TypeDeserializer(outerTypeDeserializer, nameResolver, classResolver, "Deserializer for class " + name);
|
||||
this.deserializer = DescriptorDeserializer.create(typeDeserializer, this, nameResolver, annotationResolver);
|
||||
|
||||
this.containingDeclaration = containingDeclaration;
|
||||
@@ -83,7 +85,6 @@ public class DeserializedClassDescriptor extends ClassDescriptorBase implements
|
||||
this.innerClassesScope = new InnerClassesScopeWrapper(memberScope);
|
||||
this.thisAsReceiverParameter = new LazyClassReceiverParameterDescriptor();
|
||||
|
||||
this.name = nameResolver.getName(classProto.getName());
|
||||
int flags = classProto.getFlags();
|
||||
this.modality = DescriptorDeserializer.modality(Flags.MODALITY.get(flags));
|
||||
this.visibility = DescriptorDeserializer.visibility(Flags.VISIBILITY.get(flags));
|
||||
|
||||
Reference in New Issue
Block a user