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);
//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);
}
}
@@ -87,7 +87,7 @@ public abstract class ResolverScopeData {
@NotNull
public MembersCache getMembersCache() {
if (membersCache == null) {
membersCache = MembersCache.buildMembersByNameCache(psiClass, psiPackage, staticMembers, isKotlin());
membersCache = MembersCache.buildMembersByNameCache(psiClass, psiPackage, staticMembers, getOrigin() == KOTLIN);
}
return membersCache;
}
@@ -102,8 +102,9 @@ public abstract class ResolverScopeData {
return psiPackage;
}
public boolean isKotlin() {
return origin == KOTLIN;
@NotNull
public Origin getOrigin() {
return origin;
}
public boolean isStaticMembers() {
@@ -42,6 +42,9 @@ import java.util.HashSet;
import java.util.List;
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 {
private JavaTypeTransformer typeTransformer;
@@ -95,7 +98,7 @@ public final class JavaFunctionResolver {
final PsiMethod psiMethod = method.getPsiMethod();
final PsiClass containingClass = psiMethod.getContainingClass();
if (scopeData.isKotlin()) {
if (scopeData.getOrigin() == KOTLIN) {
// TODO: unless maybe class explicitly extends Object
assert containingClass != null;
String ownerClassName = containingClass.getQualifiedName();
@@ -158,7 +161,7 @@ public final class JavaFunctionResolver {
BindingContextUtils.recordFunctionDeclarationToDescriptor(trace, psiMethod, functionDescriptorImpl);
}
if (!scopeData.isKotlin()) {
if (scopeData.getOrigin() == JAVA) {
trace.record(BindingContext.IS_DECLARED_IN_JAVA, functionDescriptorImpl);
}
@@ -44,6 +44,8 @@ import org.jetbrains.jet.lang.types.TypeUtils;
import javax.inject.Inject;
import java.util.*;
import static org.jetbrains.jet.lang.resolve.java.data.Origin.JAVA;
public final class JavaPropertyResolver {
private JavaSemanticServices semanticServices;
@@ -241,7 +243,7 @@ public final class JavaPropertyResolver {
recordObjectDeclarationClassIfNeeded(psiData, realOwner, propertyDescriptor, propertyType);
if (!scopeData.isKotlin()) {
if (scopeData.getOrigin() == JAVA) {
trace.record(BindingContext.IS_DECLARED_IN_JAVA, propertyDescriptor);
}
return propertyDescriptor;
@@ -419,7 +421,7 @@ public final class JavaPropertyResolver {
}
private static boolean isPropertyFinal(ResolverScopeData scopeData, PropertyPsiData psiData) {
if (!scopeData.isKotlin()) {
if (scopeData.getOrigin() == JAVA) {
return true;
}
return psiData.isFinal();
@@ -43,6 +43,8 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import static org.jetbrains.jet.lang.resolve.java.data.Origin.KOTLIN;
public final class JavaSupertypeResolver {
private BindingTrace trace;
@@ -142,7 +144,7 @@ public final class JavaSupertypeResolver {
@NotNull ClassDescriptor classDescriptor,
@NotNull List<JetType> result
) {
if (classData.isKotlin()
if (classData.getOrigin() == KOTLIN
|| DescriptorResolverUtils.OBJECT_FQ_NAME.equalsTo(psiClass.getQualifiedName())
// TODO: annotations
|| classDescriptor.getKind() == ClassKind.ANNOTATION_CLASS) {