Minor. Rename isTrait -> isInterface
This commit is contained in:
@@ -56,7 +56,7 @@ private data class DescriptorBasedFunctionHandle(val descriptor: FunctionDescrip
|
||||
|
||||
override val isAbstract: Boolean =
|
||||
descriptor.getModality() == Modality.ABSTRACT ||
|
||||
DescriptorUtils.isTrait(descriptor.getContainingDeclaration())
|
||||
DescriptorUtils.isInterface(descriptor.getContainingDeclaration())
|
||||
|
||||
override fun getOverridden() = overridden
|
||||
}
|
||||
@@ -74,7 +74,7 @@ public fun findTraitImplementation(descriptor: CallableMemberDescriptor): Callab
|
||||
val implementation = findImplementationFromInterface(descriptor) ?: return null
|
||||
val immediateConcreteSuper = firstSuperMethodFromKotlin(descriptor, implementation) ?: return null
|
||||
|
||||
if (!DescriptorUtils.isTrait(immediateConcreteSuper.getContainingDeclaration())) {
|
||||
if (!DescriptorUtils.isInterface(immediateConcreteSuper.getContainingDeclaration())) {
|
||||
// If this implementation is already generated into the superclass, we need not generate it again, it'll be inherited
|
||||
return null
|
||||
}
|
||||
|
||||
@@ -778,7 +778,7 @@ public class AsmUtil {
|
||||
DeclarationDescriptor propertyContainer = propertyDescriptor.getContainingDeclaration();
|
||||
return !propertyDescriptor.isVar()
|
||||
&& !isExtensionProperty
|
||||
&& isCompanionObject(propertyContainer) && isTrait(propertyContainer.getContainingDeclaration())
|
||||
&& isCompanionObject(propertyContainer) && isInterface(propertyContainer.getContainingDeclaration())
|
||||
&& areBothAccessorDefault(propertyDescriptor)
|
||||
&& getVisibilityForSpecialPropertyBackingField(propertyDescriptor, false) == ACC_PUBLIC;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ public abstract class ClassBodyCodegen extends MemberCodegen<JetClassOrObject> {
|
||||
}
|
||||
}
|
||||
|
||||
if (!DescriptorUtils.isTrait(descriptor)) {
|
||||
if (!DescriptorUtils.isInterface(descriptor)) {
|
||||
for (DeclarationDescriptor memberDescriptor : descriptor.getDefaultType().getMemberScope().getAllDescriptors()) {
|
||||
if (memberDescriptor instanceof FunctionDescriptor) {
|
||||
FunctionDescriptor member = (FunctionDescriptor) memberDescriptor;
|
||||
|
||||
@@ -109,7 +109,7 @@ public class ClosureCodegen extends MemberCodegen<JetElement> {
|
||||
JetType superClassType = null;
|
||||
for (JetType supertype : classDescriptor.getTypeConstructor().getSupertypes()) {
|
||||
ClassifierDescriptor classifier = supertype.getConstructor().getDeclarationDescriptor();
|
||||
if (DescriptorUtils.isTrait(classifier)) {
|
||||
if (DescriptorUtils.isInterface(classifier)) {
|
||||
superInterfaceTypes.add(supertype);
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -142,7 +142,7 @@ public class FunctionCodegen {
|
||||
@NotNull FunctionGenerationStrategy strategy
|
||||
) {
|
||||
OwnerKind contextKind = methodContext.getContextKind();
|
||||
if (isTrait(functionDescriptor.getContainingDeclaration()) &&
|
||||
if (isInterface(functionDescriptor.getContainingDeclaration()) &&
|
||||
functionDescriptor.getVisibility() == Visibilities.PRIVATE &&
|
||||
contextKind != OwnerKind.DEFAULT_IMPLS) {
|
||||
return;
|
||||
@@ -505,7 +505,7 @@ public class FunctionCodegen {
|
||||
public void generateBridges(@NotNull FunctionDescriptor descriptor) {
|
||||
if (descriptor instanceof ConstructorDescriptor) return;
|
||||
if (owner.getContextKind() == OwnerKind.DEFAULT_IMPLS) return;
|
||||
if (isTrait(descriptor.getContainingDeclaration())) return;
|
||||
if (isInterface(descriptor.getContainingDeclaration())) return;
|
||||
|
||||
// equals(Any?), hashCode(), toString() never need bridges
|
||||
if (isMethodOfAny(descriptor)) return;
|
||||
@@ -585,7 +585,7 @@ public class FunctionCodegen {
|
||||
) {
|
||||
DeclarationDescriptor contextClass = owner.getContextDescriptor().getContainingDeclaration();
|
||||
|
||||
if (kind != OwnerKind.DEFAULT_IMPLS && isTrait(contextClass)) {
|
||||
if (kind != OwnerKind.DEFAULT_IMPLS && isInterface(contextClass)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1035,7 +1035,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
}
|
||||
|
||||
private void generatePrimaryConstructor(final DelegationFieldsInfo delegationFieldsInfo) {
|
||||
if (isTrait(descriptor) || isAnnotationClass(descriptor)) return;
|
||||
if (isInterface(descriptor) || isAnnotationClass(descriptor)) return;
|
||||
|
||||
ConstructorDescriptor constructorDescriptor = descriptor.getUnsubstitutedPrimaryConstructor();
|
||||
if (constructorDescriptor == null) return;
|
||||
@@ -1393,7 +1393,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
}
|
||||
|
||||
private void generateTraitMethods() {
|
||||
if (isTrait(descriptor)) return;
|
||||
if (isInterface(descriptor)) return;
|
||||
|
||||
for (Map.Entry<FunctionDescriptor, FunctionDescriptor> entry : CodegenUtil.getTraitMethods(descriptor).entrySet()) {
|
||||
FunctionDescriptor traitFun = entry.getKey();
|
||||
@@ -1412,7 +1412,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen {
|
||||
@Override
|
||||
public void doGenerateBody(@NotNull ExpressionCodegen codegen, @NotNull JvmMethodSignature signature) {
|
||||
DeclarationDescriptor containingDeclaration = traitFun.getContainingDeclaration();
|
||||
if (!DescriptorUtils.isTrait(containingDeclaration)) return;
|
||||
if (!DescriptorUtils.isInterface(containingDeclaration)) return;
|
||||
|
||||
DeclarationDescriptor declarationInheritedFun = inheritedFun.getContainingDeclaration();
|
||||
PsiElement classForInheritedFun = descriptorToDeclaration(declarationInheritedFun);
|
||||
|
||||
@@ -57,7 +57,7 @@ import static org.jetbrains.kotlin.codegen.AsmUtil.*;
|
||||
import static org.jetbrains.kotlin.codegen.JvmCodegenUtil.isJvmInterface;
|
||||
import static org.jetbrains.kotlin.codegen.serialization.JvmSerializationBindings.*;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isCompanionObject;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isTrait;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isInterface;
|
||||
import static org.jetbrains.kotlin.resolve.jvm.AsmTypes.PROPERTY_METADATA_TYPE;
|
||||
import static org.jetbrains.kotlin.resolve.jvm.diagnostics.DiagnosticsPackage.OtherOrigin;
|
||||
import static org.jetbrains.org.objectweb.asm.Opcodes.*;
|
||||
@@ -250,7 +250,7 @@ public class PropertyCodegen {
|
||||
String name = JvmAbi.getSyntheticMethodNameForAnnotatedProperty(descriptor.getName());
|
||||
String desc = receiver == null ? "()V" : "(" + typeMapper.mapType(receiver.getType()) + ")V";
|
||||
|
||||
if (!isTrait(context.getContextDescriptor()) || kind == OwnerKind.DEFAULT_IMPLS) {
|
||||
if (!isInterface(context.getContextDescriptor()) || kind == OwnerKind.DEFAULT_IMPLS) {
|
||||
int flags = ACC_DEPRECATED | ACC_FINAL | ACC_PRIVATE | ACC_STATIC | ACC_SYNTHETIC;
|
||||
MethodVisitor mv = v.newMethod(OtherOrigin(descriptor), flags, name, desc, null, null);
|
||||
AnnotationCodegen.forMethod(mv, typeMapper)
|
||||
|
||||
@@ -595,7 +595,7 @@ public class InlineCodegen extends CallGenerator {
|
||||
CodegenContext parent = getContext(descriptor.getContainingDeclaration(), state);
|
||||
|
||||
if (descriptor instanceof ClassDescriptor) {
|
||||
OwnerKind kind = DescriptorUtils.isTrait(descriptor) ? OwnerKind.DEFAULT_IMPLS : OwnerKind.IMPLEMENTATION;
|
||||
OwnerKind kind = DescriptorUtils.isInterface(descriptor) ? OwnerKind.DEFAULT_IMPLS : OwnerKind.IMPLEMENTATION;
|
||||
return parent.intoClass((ClassDescriptor) descriptor, kind, state);
|
||||
}
|
||||
else if (descriptor instanceof ScriptDescriptor) {
|
||||
|
||||
@@ -61,7 +61,7 @@ import java.util.ListIterator;
|
||||
|
||||
import static kotlin.KotlinPackage.substringAfterLast;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.getFqName;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isTrait;
|
||||
import static org.jetbrains.kotlin.resolve.DescriptorUtils.isInterface;
|
||||
|
||||
public class InlineCodegenUtil {
|
||||
public static final boolean GENERATE_SMAP = true;
|
||||
@@ -193,7 +193,7 @@ public class InlineCodegenUtil {
|
||||
}
|
||||
if (containerDescriptor instanceof ClassDescriptor) {
|
||||
ClassId classId = DescriptorUtilPackage.getClassId((ClassDescriptor) containerDescriptor);
|
||||
if (isTrait(containerDescriptor)) {
|
||||
if (isInterface(containerDescriptor)) {
|
||||
FqName relativeClassName = classId.getRelativeClassName();
|
||||
//TODO test nested trait fun inlining
|
||||
classId = new ClassId(classId.getPackageFqName(), Name.identifier(relativeClassName.shortName().asString() + JvmAbi.DEFAULT_IMPLS_SUFFIX));
|
||||
|
||||
@@ -54,7 +54,7 @@ public class NativeFunChecker : DeclarationChecker {
|
||||
) {
|
||||
if (!descriptor.hasNativeAnnotation()) return
|
||||
|
||||
if (DescriptorUtils.isTrait(descriptor.getContainingDeclaration())) {
|
||||
if (DescriptorUtils.isInterface(descriptor.getContainingDeclaration())) {
|
||||
diagnosticHolder.report(ErrorsJvm.EXTERNAL_DECLARATION_IN_TRAIT.on(declaration))
|
||||
}
|
||||
else if (descriptor is CallableMemberDescriptor &&
|
||||
|
||||
+2
-2
@@ -36,11 +36,11 @@ public class TraitDefaultMethodCallChecker : CallChecker {
|
||||
val targetDescriptor = resolvedCall.getResultingDescriptor().getOriginal()
|
||||
val containerDescriptor = targetDescriptor.getContainingDeclaration()
|
||||
|
||||
if (containerDescriptor is JavaClassDescriptor && DescriptorUtils.isTrait(containerDescriptor)) {
|
||||
if (containerDescriptor is JavaClassDescriptor && DescriptorUtils.isInterface(containerDescriptor)) {
|
||||
//is java interface default method called from trait
|
||||
val classifier = DescriptorUtils.getParentOfType(context.scope.ownerDescriptor, javaClass<ClassifierDescriptor>())
|
||||
|
||||
if (classifier != null && DescriptorUtils.isTrait(classifier)) {
|
||||
if (classifier != null && DescriptorUtils.isInterface(classifier)) {
|
||||
context.trace.report(
|
||||
ErrorsJvm.TRAIT_CANT_CALL_DEFAULT_METHOD_VIA_SUPER.on(
|
||||
PsiTreeUtil.getParentOfType(resolvedCall.getCall().getCallElement(), javaClass<JetExpression>())
|
||||
|
||||
@@ -550,9 +550,9 @@ public class DeclarationsChecker {
|
||||
}
|
||||
}
|
||||
else {
|
||||
assert DescriptorUtils.isTrait(declaration) : "Enum entry should be declared in enum class: " +
|
||||
classDescriptor + " " +
|
||||
classDescriptor.getKind();
|
||||
assert DescriptorUtils.isInterface(declaration) : "Enum entry should be declared in enum class: " +
|
||||
classDescriptor + " " +
|
||||
classDescriptor.getKind();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.jetbrains.kotlin.resolve;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.intellij.psi.PsiElement;
|
||||
@@ -78,7 +77,7 @@ public class ModifiersChecker {
|
||||
DeclarationDescriptor containingDeclaration = classDescriptor.getContainingDeclaration();
|
||||
if (!(containingDeclaration instanceof ClassDescriptor)) return InnerModifierCheckResult.ILLEGAL_POSITION;
|
||||
|
||||
if (DescriptorUtils.isTrait(containingDeclaration)) {
|
||||
if (DescriptorUtils.isInterface(containingDeclaration)) {
|
||||
return InnerModifierCheckResult.IN_TRAIT;
|
||||
}
|
||||
else if (DescriptorUtils.isObject(containingDeclaration)) {
|
||||
|
||||
+1
-1
@@ -279,7 +279,7 @@ public open class LazyClassMemberScope(
|
||||
val classOrObject = ownerInfo.getCorrespondingClassOrObject() ?: return null
|
||||
|
||||
val hasPrimaryConstructor = classOrObject.hasExplicitPrimaryConstructor()
|
||||
if (DescriptorUtils.isTrait(thisDescriptor) && !hasPrimaryConstructor) return null
|
||||
if (DescriptorUtils.isInterface(thisDescriptor) && !hasPrimaryConstructor) return null
|
||||
|
||||
if (DescriptorUtils.canHaveDeclaredConstructors(thisDescriptor) || hasPrimaryConstructor) {
|
||||
val constructor = c.functionDescriptorResolver.resolvePrimaryConstructorDescriptor(
|
||||
|
||||
+1
-1
@@ -421,7 +421,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor {
|
||||
}
|
||||
}
|
||||
if (result != null) {
|
||||
if (DescriptorUtils.isTrait(thisType.getConstructor().getDeclarationDescriptor())) {
|
||||
if (DescriptorUtils.isInterface(thisType.getConstructor().getDeclarationDescriptor())) {
|
||||
if (DescriptorUtils.isClass(result.getConstructor().getDeclarationDescriptor())) {
|
||||
context.trace.report(SUPERCLASS_NOT_ACCESSIBLE_FROM_TRAIT.on(expression));
|
||||
}
|
||||
|
||||
@@ -329,7 +329,7 @@ public class DescriptorUtils {
|
||||
return isKindOf(descriptor, ClassKind.ANNOTATION_CLASS);
|
||||
}
|
||||
|
||||
public static boolean isTrait(@Nullable DeclarationDescriptor descriptor) {
|
||||
public static boolean isInterface(@Nullable DeclarationDescriptor descriptor) {
|
||||
return isKindOf(descriptor, ClassKind.INTERFACE);
|
||||
}
|
||||
|
||||
@@ -538,7 +538,7 @@ public class DescriptorUtils {
|
||||
}
|
||||
|
||||
public static boolean canHaveDeclaredConstructors(@NotNull ClassDescriptor classDescriptor) {
|
||||
return !isSingletonOrAnonymousObject(classDescriptor) && !isTrait(classDescriptor);
|
||||
return !isSingletonOrAnonymousObject(classDescriptor) && !isInterface(classDescriptor);
|
||||
}
|
||||
|
||||
public static boolean hasDefaultConstructor(@NotNull ClassDescriptor classDescriptor) {
|
||||
|
||||
Reference in New Issue
Block a user