Refactor Resolver*Data
This commit is contained in:
-37
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2012 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.jet.lang.resolve.java.data;
|
||||
|
||||
import com.intellij.psi.PsiClass;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.resolve.java.descriptor.ClassDescriptorFromJvmBytecode;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
|
||||
/**
|
||||
* Class with instance members
|
||||
*/
|
||||
public class ResolverBinaryClassData extends ResolverClassData {
|
||||
|
||||
public ResolverBinaryClassData(
|
||||
@NotNull PsiClass psiClass,
|
||||
@Nullable FqName fqName,
|
||||
@NotNull ClassDescriptorFromJvmBytecode classDescriptor
|
||||
) {
|
||||
super(psiClass, null, fqName, false, classDescriptor);
|
||||
}
|
||||
}
|
||||
+16
-5
@@ -30,11 +30,6 @@ public class ResolverClassData extends ResolverScopeData {
|
||||
|
||||
private final ClassDescriptorFromJvmBytecode classDescriptor;
|
||||
|
||||
public ResolverClassData(boolean negative) {
|
||||
super(negative);
|
||||
this.classDescriptor = null;
|
||||
}
|
||||
|
||||
public ResolverClassData(
|
||||
@Nullable PsiClass psiClass,
|
||||
@Nullable PsiPackage psiPackage,
|
||||
@@ -50,4 +45,20 @@ public class ResolverClassData extends ResolverScopeData {
|
||||
public ClassDescriptorFromJvmBytecode getClassDescriptor() {
|
||||
return classDescriptor;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static ResolverClassData createSyntheticClassObjectClassData(
|
||||
@Nullable PsiClass psiClass,
|
||||
@NotNull ClassDescriptorFromJvmBytecode descriptor
|
||||
) {
|
||||
return new ResolverClassData(psiClass, null, null, true, descriptor);
|
||||
}
|
||||
|
||||
public static ResolverClassData createBinaryClassData(
|
||||
@NotNull PsiClass psiClass,
|
||||
@Nullable FqName fqName,
|
||||
@NotNull ClassDescriptorFromJvmBytecode classDescriptor
|
||||
) {
|
||||
return new ResolverClassData(psiClass, null, fqName, false, classDescriptor);
|
||||
}
|
||||
}
|
||||
|
||||
-12
@@ -95,18 +95,6 @@ public abstract class ResolverScopeData {
|
||||
}
|
||||
}
|
||||
|
||||
public ResolverScopeData(boolean negative) {
|
||||
if (!negative) {
|
||||
throw new IllegalStateException();
|
||||
}
|
||||
this.psiClass = null;
|
||||
this.psiPackage = null;
|
||||
this.fqName = null;
|
||||
this.staticMembers = false;
|
||||
this.kotlin = false;
|
||||
this.classOrNamespaceDescriptor = null;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public PsiElement getPsiPackageOrPsiClass() {
|
||||
if (psiPackage != null) {
|
||||
|
||||
-37
@@ -1,37 +0,0 @@
|
||||
/*
|
||||
* Copyright 2010-2012 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.jet.lang.resolve.java.data;
|
||||
|
||||
import com.intellij.psi.PsiClass;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.lang.resolve.java.descriptor.ClassDescriptorFromJvmBytecode;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
|
||||
/**
|
||||
* @author Pavel Talanov
|
||||
*/
|
||||
public class ResolverSyntheticClassObjectClassData extends ResolverClassData {
|
||||
|
||||
public ResolverSyntheticClassObjectClassData(
|
||||
@Nullable PsiClass psiClass,
|
||||
@Nullable FqName fqName,
|
||||
@NotNull ClassDescriptorFromJvmBytecode descriptor
|
||||
) {
|
||||
super(psiClass, null, fqName, true, descriptor);
|
||||
}
|
||||
}
|
||||
+1
-2
@@ -24,7 +24,6 @@ import org.jetbrains.jet.lang.descriptors.ConstructorDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.DeclarationDescriptor;
|
||||
import org.jetbrains.jet.lang.descriptors.MutableClassDescriptorLite;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverBinaryClassData;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData;
|
||||
import org.jetbrains.jet.lang.resolve.lazy.LazyClassDescriptor;
|
||||
import org.jetbrains.jet.lang.resolve.name.FqName;
|
||||
@@ -52,7 +51,7 @@ public class ClassDescriptorFromJvmBytecode extends MutableClassDescriptorLite {
|
||||
@NotNull JavaDescriptorResolver javaDescriptorResolver) {
|
||||
super(containingDeclaration, kind);
|
||||
this.javaDescriptorResolver = javaDescriptorResolver;
|
||||
this.resolverBinaryClassData = new ResolverBinaryClassData(psiClass, fqName, this);
|
||||
this.resolverBinaryClassData = ResolverClassData.createBinaryClassData(psiClass, fqName, this);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
+1
-3
@@ -29,7 +29,6 @@ import org.jetbrains.jet.lang.resolve.java.JavaDescriptorResolver;
|
||||
import org.jetbrains.jet.lang.resolve.java.JavaSemanticServices;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverClassData;
|
||||
import org.jetbrains.jet.lang.resolve.java.data.ResolverSyntheticClassObjectClassData;
|
||||
import org.jetbrains.jet.lang.resolve.java.descriptor.ClassDescriptorFromJvmBytecode;
|
||||
import org.jetbrains.jet.lang.resolve.java.scope.JavaClassMembersScope;
|
||||
import org.jetbrains.jet.lang.resolve.java.wrapper.PsiClassWrapper;
|
||||
@@ -150,8 +149,7 @@ public final class JavaClassObjectResolver {
|
||||
ClassDescriptorFromJvmBytecode classObjectDescriptor = new ClassDescriptorFromJvmBytecode(
|
||||
containing, ClassKind.CLASS_OBJECT, psiClass, null, javaDescriptorResolver);
|
||||
|
||||
ResolverSyntheticClassObjectClassData
|
||||
data = new ResolverSyntheticClassObjectClassData(psiClass, null, classObjectDescriptor);
|
||||
ResolverClassData data = ResolverClassData.createSyntheticClassObjectClassData(psiClass, classObjectDescriptor);
|
||||
setUpClassObjectDescriptor(containing, fqName, data, getClassObjectName(containing.getName().getName()));
|
||||
|
||||
return classObjectDescriptor;
|
||||
|
||||
Reference in New Issue
Block a user