Refactor: use getOrigin instead of isKotlin()

This commit is contained in:
Pavel V. Talanov
2012-11-04 23:25:44 +04:00
parent 414f5ea2cb
commit 1c70daa499
4 changed files with 17 additions and 9 deletions
@@ -64,7 +64,7 @@ public abstract class ResolverScopeData {
this.origin = determineOrigin(psiClass); this.origin = determineOrigin(psiClass);
//TODO: move check to remove fqName parameter //TODO: move check to remove fqName parameter
if (fqName != null && fqName.lastSegmentIs(Name.identifier(JvmAbi.PACKAGE_CLASS)) && psiClass != null && isKotlin()) { if (fqName != null && fqName.lastSegmentIs(Name.identifier(JvmAbi.PACKAGE_CLASS)) && psiClass != null && getOrigin() == KOTLIN) {
throw new IllegalStateException("Kotlin namespace cannot have last segment " + JvmAbi.PACKAGE_CLASS + ": " + fqName); throw new IllegalStateException("Kotlin namespace cannot have last segment " + JvmAbi.PACKAGE_CLASS + ": " + fqName);
} }
} }
@@ -87,7 +87,7 @@ public abstract class ResolverScopeData {
@NotNull @NotNull
public MembersCache getMembersCache() { public MembersCache getMembersCache() {
if (membersCache == null) { if (membersCache == null) {
membersCache = MembersCache.buildMembersByNameCache(psiClass, psiPackage, staticMembers, isKotlin()); membersCache = MembersCache.buildMembersByNameCache(psiClass, psiPackage, staticMembers, getOrigin() == KOTLIN);
} }
return membersCache; return membersCache;
} }
@@ -102,8 +102,9 @@ public abstract class ResolverScopeData {
return psiPackage; return psiPackage;
} }
public boolean isKotlin() { @NotNull
return origin == KOTLIN; public Origin getOrigin() {
return origin;
} }
public boolean isStaticMembers() { public boolean isStaticMembers() {
@@ -42,6 +42,9 @@ import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;
import static org.jetbrains.jet.lang.resolve.java.data.Origin.JAVA;
import static org.jetbrains.jet.lang.resolve.java.data.Origin.KOTLIN;
public final class JavaFunctionResolver { public final class JavaFunctionResolver {
private JavaTypeTransformer typeTransformer; private JavaTypeTransformer typeTransformer;
@@ -95,7 +98,7 @@ public final class JavaFunctionResolver {
final PsiMethod psiMethod = method.getPsiMethod(); final PsiMethod psiMethod = method.getPsiMethod();
final PsiClass containingClass = psiMethod.getContainingClass(); final PsiClass containingClass = psiMethod.getContainingClass();
if (scopeData.isKotlin()) { if (scopeData.getOrigin() == KOTLIN) {
// TODO: unless maybe class explicitly extends Object // TODO: unless maybe class explicitly extends Object
assert containingClass != null; assert containingClass != null;
String ownerClassName = containingClass.getQualifiedName(); String ownerClassName = containingClass.getQualifiedName();
@@ -158,7 +161,7 @@ public final class JavaFunctionResolver {
BindingContextUtils.recordFunctionDeclarationToDescriptor(trace, psiMethod, functionDescriptorImpl); BindingContextUtils.recordFunctionDeclarationToDescriptor(trace, psiMethod, functionDescriptorImpl);
} }
if (!scopeData.isKotlin()) { if (scopeData.getOrigin() == JAVA) {
trace.record(BindingContext.IS_DECLARED_IN_JAVA, functionDescriptorImpl); trace.record(BindingContext.IS_DECLARED_IN_JAVA, functionDescriptorImpl);
} }
@@ -44,6 +44,8 @@ import org.jetbrains.jet.lang.types.TypeUtils;
import javax.inject.Inject; import javax.inject.Inject;
import java.util.*; import java.util.*;
import static org.jetbrains.jet.lang.resolve.java.data.Origin.JAVA;
public final class JavaPropertyResolver { public final class JavaPropertyResolver {
private JavaSemanticServices semanticServices; private JavaSemanticServices semanticServices;
@@ -241,7 +243,7 @@ public final class JavaPropertyResolver {
recordObjectDeclarationClassIfNeeded(psiData, realOwner, propertyDescriptor, propertyType); recordObjectDeclarationClassIfNeeded(psiData, realOwner, propertyDescriptor, propertyType);
if (!scopeData.isKotlin()) { if (scopeData.getOrigin() == JAVA) {
trace.record(BindingContext.IS_DECLARED_IN_JAVA, propertyDescriptor); trace.record(BindingContext.IS_DECLARED_IN_JAVA, propertyDescriptor);
} }
return propertyDescriptor; return propertyDescriptor;
@@ -419,7 +421,7 @@ public final class JavaPropertyResolver {
} }
private static boolean isPropertyFinal(ResolverScopeData scopeData, PropertyPsiData psiData) { private static boolean isPropertyFinal(ResolverScopeData scopeData, PropertyPsiData psiData) {
if (!scopeData.isKotlin()) { if (scopeData.getOrigin() == JAVA) {
return true; return true;
} }
return psiData.isFinal(); return psiData.isFinal();
@@ -43,6 +43,8 @@ import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import static org.jetbrains.jet.lang.resolve.java.data.Origin.KOTLIN;
public final class JavaSupertypeResolver { public final class JavaSupertypeResolver {
private BindingTrace trace; private BindingTrace trace;
@@ -142,7 +144,7 @@ public final class JavaSupertypeResolver {
@NotNull ClassDescriptor classDescriptor, @NotNull ClassDescriptor classDescriptor,
@NotNull List<JetType> result @NotNull List<JetType> result
) { ) {
if (classData.isKotlin() if (classData.getOrigin() == KOTLIN
|| DescriptorResolverUtils.OBJECT_FQ_NAME.equalsTo(psiClass.getQualifiedName()) || DescriptorResolverUtils.OBJECT_FQ_NAME.equalsTo(psiClass.getQualifiedName())
// TODO: annotations // TODO: annotations
|| classDescriptor.getKind() == ClassKind.ANNOTATION_CLASS) { || classDescriptor.getKind() == ClassKind.ANNOTATION_CLASS) {