From b2af76120720533b3e257b2964d31982825fbab7 Mon Sep 17 00:00:00 2001 From: "Pavel V. Talanov" Date: Sun, 4 Nov 2012 20:59:35 +0400 Subject: [PATCH] Refactor: Eliminate some usages of ResolverClassData#getClassDescriptor() --- .../resolver/JavaClassObjectResolver.java | 21 ++++++++++--------- .../java/resolver/JavaClassResolver.java | 6 +++--- .../resolver/JavaConstructorResolver.java | 12 +++++------ 3 files changed, 20 insertions(+), 19 deletions(-) diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassObjectResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassObjectResolver.java index 0c586fa6432..3559d654b69 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassObjectResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassObjectResolver.java @@ -116,7 +116,8 @@ public final class JavaClassObjectResolver { classObjectDescriptor.setClassData(classObjectData); classObjectDescriptor.setSupertypes(supertypesResolver.getSupertypes(new PsiClassWrapper(classObjectPsiClass), classObjectData, Collections.emptyList())); - setUpClassObjectDescriptor(containing, fqName, classObjectData, getClassObjectName(containing.getName())); + setUpClassObjectDescriptor(classObjectDescriptor, containing, fqName, classObjectData, getClassObjectName(containing.getName()) + ); return classObjectDescriptor; } @@ -155,28 +156,28 @@ public final class JavaClassObjectResolver { classObjectDescriptor.setClassData(classData); ResolverClassData data = ResolverClassData.createSyntheticClassObjectClassData(psiClass, classObjectDescriptor); - setUpClassObjectDescriptor(containing, fqName, data, getClassObjectName(containing.getName().getName())); + setUpClassObjectDescriptor(classObjectDescriptor, containing, fqName, data, getClassObjectName(containing.getName().getName())); return classObjectDescriptor; } private void setUpClassObjectDescriptor( + @NotNull ClassDescriptorFromJvmBytecode classObjectDescriptor, @NotNull ClassDescriptor containing, @NotNull FqNameBase fqName, @NotNull ResolverClassData data, @NotNull Name classObjectName ) { - ClassDescriptorFromJvmBytecode classDescriptor = data.getClassDescriptor(); - classDescriptor.setName(classObjectName); - classDescriptor.setModality(Modality.FINAL); - classDescriptor.setVisibility(containing.getVisibility()); - classDescriptor.setTypeParameterDescriptors(Collections.emptyList()); - classDescriptor.createTypeConstructor(); + classObjectDescriptor.setName(classObjectName); + classObjectDescriptor.setModality(Modality.FINAL); + classObjectDescriptor.setVisibility(containing.getVisibility()); + classObjectDescriptor.setTypeParameterDescriptors(Collections.emptyList()); + classObjectDescriptor.createTypeConstructor(); JavaClassMembersScope classMembersScope = new JavaClassMembersScope(semanticServices, data); WritableScopeImpl writableScope = - new WritableScopeImpl(classMembersScope, classDescriptor, RedeclarationHandler.THROW_EXCEPTION, fqName.toString()); + new WritableScopeImpl(classMembersScope, classObjectDescriptor, RedeclarationHandler.THROW_EXCEPTION, fqName.toString()); writableScope.changeLockLevel(WritableScope.LockLevel.BOTH); - classDescriptor.setScopeForMemberLookup(writableScope); + classObjectDescriptor.setScopeForMemberLookup(writableScope); } diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java index c36c8f9500c..785c8bfe8b6 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaClassResolver.java @@ -212,11 +212,11 @@ public final class JavaClassResolver { assert (!unresolvedCache.contains(fqName)) : "We can resolve the class, so it can't be 'unresolved' during parent resolution"; - return doCreateClassDescriptor(fqName, psiClass, taskList, containingDeclaration).getClassDescriptor(); + return doCreateClassDescriptor(fqName, psiClass, taskList, containingDeclaration); } @NotNull - private ResolverClassData doCreateClassDescriptor( + private ClassDescriptorFromJvmBytecode doCreateClassDescriptor( @NotNull FqName fqName, @NotNull PsiClass psiClass, @NotNull PostponedTasks taskList, @@ -260,7 +260,7 @@ public final class JavaClassResolver { trace.record(BindingContext.CLASS, psiClass, classDescriptor); - return classData; + return classDescriptor; } private void cache(@NotNull FqNameBase fqName, @Nullable ClassDescriptor classDescriptor) { diff --git a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaConstructorResolver.java b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaConstructorResolver.java index eab171f3686..9f34ac07c2a 100644 --- a/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaConstructorResolver.java +++ b/compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/resolver/JavaConstructorResolver.java @@ -145,7 +145,7 @@ public final class JavaConstructorResolver { } else { for (PsiMethod psiConstructor : psiConstructors) { - ConstructorDescriptor constructor = resolveConstructor(psiClass, classData, isStatic, psiConstructor); + ConstructorDescriptor constructor = resolveConstructor(psiClass, isStatic, psiConstructor, containingClass); if (constructor != null) { constructors.add(constructor); } @@ -162,9 +162,9 @@ public final class JavaConstructorResolver { @Nullable private ConstructorDescriptor resolveConstructor( PsiClass psiClass, - ResolverClassData classData, boolean aStatic, - PsiMethod psiConstructor + PsiMethod psiConstructor, + ClassDescriptorFromJvmBytecode classDescriptor ) { PsiMethodWrapper constructor = new PsiMethodWrapper(psiConstructor); @@ -178,14 +178,14 @@ public final class JavaConstructorResolver { } ConstructorDescriptorImpl constructorDescriptor = new ConstructorDescriptorImpl( - classData.getClassDescriptor(), + classDescriptor, Collections.emptyList(), // TODO false); String context = "constructor of class " + psiClass.getQualifiedName(); JavaDescriptorResolver.ValueParameterDescriptors valueParameterDescriptors = valueParameterResolver.resolveParameterDescriptors( constructorDescriptor, constructor.getParameters(), - TypeVariableResolvers.classTypeVariableResolver(classData.getClassDescriptor(), context)); + TypeVariableResolvers.classTypeVariableResolver(classDescriptor, context)); if (valueParameterDescriptors.getReceiverType() != null) { throw new IllegalStateException(); @@ -202,7 +202,7 @@ public final class JavaConstructorResolver { alternativeMethodSignatureData.getError()); } - constructorDescriptor.initialize(classData.getClassDescriptor().getTypeConstructor().getParameters(), + constructorDescriptor.initialize(classDescriptor.getTypeConstructor().getParameters(), valueParameterDescriptors.getDescriptors(), DescriptorResolverUtils.resolveVisibility(psiConstructor, constructor.getJetConstructorAnnotation()), aStatic);