diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java index d02a76f84cf..0090e24d06c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/AsmUtil.java @@ -195,7 +195,7 @@ public class AsmUtil { if (functionDescriptor.getModality() == Modality.FINAL && !(functionDescriptor instanceof ConstructorDescriptor)) { DeclarationDescriptor containingDeclaration = functionDescriptor.getContainingDeclaration(); if (!(containingDeclaration instanceof ClassDescriptor) || - ((ClassDescriptor) containingDeclaration).getKind() != ClassKind.TRAIT) { + ((ClassDescriptor) containingDeclaration).getKind() != ClassKind.INTERFACE) { flags |= ACC_FINAL; } } @@ -264,7 +264,7 @@ public class AsmUtil { private static int innerAccessFlagsForModalityAndKind(@NotNull ClassDescriptor innerClass) { switch (innerClass.getKind()) { - case TRAIT: + case INTERFACE: return ACC_ABSTRACT | ACC_INTERFACE; case ENUM_CLASS: return ACC_FINAL | ACC_ENUM; diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/CollectionStubMethodGenerator.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/CollectionStubMethodGenerator.kt index 215fffa84f3..03730eff4d2 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/CollectionStubMethodGenerator.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/CollectionStubMethodGenerator.kt @@ -216,13 +216,13 @@ class CollectionStubMethodGenerator( private fun generateMethodStub(signature: JvmMethodSignature, synthetic: Boolean) { // TODO: investigate if it makes sense to generate abstract stubs in traits var access = ACC_PUBLIC - if (descriptor.getKind() == ClassKind.TRAIT) access = access or ACC_ABSTRACT + if (descriptor.getKind() == ClassKind.INTERFACE) access = access or ACC_ABSTRACT if (synthetic) access = access or ACC_SYNTHETIC val asmMethod = signature.getAsmMethod() val genericSignature = if (synthetic) null else signature.getGenericsSignature() val mv = v.newMethod(JvmDeclarationOrigin.NO_ORIGIN, access, asmMethod.getName(), asmMethod.getDescriptor(), genericSignature, null) - if (descriptor.getKind() != ClassKind.TRAIT) { + if (descriptor.getKind() != ClassKind.INTERFACE) { mv.visitCode() AsmUtil.genThrow(InstructionAdapter(mv), "java/lang/UnsupportedOperationException", "Mutating immutable collection") FunctionCodegen.endVisit(mv, "built-in stub for $signature", null) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java index 2db46ec524c..4ced0a47419 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java @@ -333,7 +333,7 @@ public class ExpressionCodegen extends JetVisitor implem ClassContext objectContext = context.intoAnonymousClass(descriptor, this, OwnerKind.IMPLEMENTATION); new ImplementationBodyCodegen(declaration, objectContext, classBuilder, state, getParentCodegen()).generate(); - if (declaration instanceof JetClass && ((JetClass) declaration).isTrait()) { + if (declaration instanceof JetClass && ((JetClass) declaration).isInterface()) { Type traitImplType = state.getTypeMapper().mapTraitImpl(descriptor); ClassBuilder traitImplBuilder = state.getFactory().newVisitor(TraitImpl(declaration, descriptor), traitImplType, declaration.getContainingFile()); ClassContext traitImplContext = context.intoAnonymousClass(descriptor, this, OwnerKind.TRAIT_IMPL); diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java index 499329d17eb..3b994d6b0fe 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java @@ -568,7 +568,7 @@ public class FunctionCodegen { if (kind != OwnerKind.TRAIT_IMPL && contextClass instanceof ClassDescriptor && - ((ClassDescriptor) contextClass).getKind() == ClassKind.TRAIT) { + ((ClassDescriptor) contextClass).getKind() == ClassKind.INTERFACE) { return; } @@ -812,7 +812,7 @@ public class FunctionCodegen { } String internalName = typeMapper.mapType(toClass).getInternalName(); - if (toClass.getKind() == ClassKind.TRAIT) { + if (toClass.getKind() == ClassKind.INTERFACE) { iv.invokeinterface(internalName, delegateToMethod.getName(), delegateToMethod.getDescriptor()); } else { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java index 9e8828a77ad..e9dc8a2d2a2 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ImplementationBodyCodegen.java @@ -126,7 +126,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { if (jetClass.hasModifier(JetTokens.ABSTRACT_KEYWORD)) { isAbstract = true; } - if (jetClass.isTrait()) { + if (jetClass.isInterface()) { isAbstract = true; isInterface = true; } @@ -315,7 +315,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { List delegationSpecifiers = myClass.getDelegationSpecifiers(); - if (myClass instanceof JetClass && ((JetClass) myClass).isTrait()) { + if (myClass instanceof JetClass && ((JetClass) myClass).isInterface()) { return; } @@ -437,13 +437,13 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { KotlinBuiltIns builtIns = getBuiltIns(descriptor); if (!isSubclass(descriptor, builtIns.getCollection())) return; - int access = descriptor.getKind() == ClassKind.TRAIT ? + int access = descriptor.getKind() == ClassKind.INTERFACE ? ACC_PUBLIC | ACC_ABSTRACT : ACC_PUBLIC; if (CodegenUtil.getDeclaredFunctionByRawSignature(descriptor, Name.identifier("toArray"), builtIns.getArray()) == null) { MethodVisitor mv = v.newMethod(NO_ORIGIN, access, "toArray", "()[Ljava/lang/Object;", null, null); - if (descriptor.getKind() != ClassKind.TRAIT) { + if (descriptor.getKind() != ClassKind.INTERFACE) { InstructionAdapter iv = new InstructionAdapter(mv); mv.visitCode(); @@ -458,7 +458,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { if (!isGenericToArrayPresent()) { MethodVisitor mv = v.newMethod(NO_ORIGIN, access, "toArray", "([Ljava/lang/Object;)[Ljava/lang/Object;", null, null); - if (descriptor.getKind() != ClassKind.TRAIT) { + if (descriptor.getKind() != ClassKind.INTERFACE) { InstructionAdapter iv = new InstructionAdapter(mv); mv.visitCode(); @@ -1394,7 +1394,7 @@ public class ImplementationBodyCodegen extends ClassBodyCodegen { private boolean ignoreIfTraitOrAnnotation() { if (myClass instanceof JetClass) { JetClass aClass = (JetClass) myClass; - if (aClass.isTrait()) { + if (aClass.isInterface()) { return true; } if (aClass.isAnnotation()) { diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/JvmCodegenUtil.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/JvmCodegenUtil.java index 7fcbc6bfb53..328ef286f21 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/JvmCodegenUtil.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/JvmCodegenUtil.java @@ -59,7 +59,7 @@ public class JvmCodegenUtil { public static boolean isInterface(DeclarationDescriptor descriptor) { if (descriptor instanceof ClassDescriptor) { ClassKind kind = ((ClassDescriptor) descriptor).getKind(); - return kind == ClassKind.TRAIT || kind == ClassKind.ANNOTATION_CLASS; + return kind == ClassKind.INTERFACE || kind == ClassKind.ANNOTATION_CLASS; } return false; } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/MemberCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/MemberCodegen.java index f1a59a0fadf..2084afdac6e 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/MemberCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/MemberCodegen.java @@ -200,7 +200,7 @@ public abstract class MemberCodegen imp return body.getProperties(); } - public boolean isTrait() { + public boolean isInterface() { KotlinClassStub stub = getStub(); if (stub != null) { - return stub.isTrait(); + return stub.isInterface(); } return findChildByType(JetTokens.TRAIT_KEYWORD) != null || diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java index a7e62bc18b1..5534a08893e 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/JetPsiUtil.java @@ -427,7 +427,7 @@ public class JetPsiUtil { } public static boolean isTrait(@NotNull JetClassOrObject classOrObject) { - return classOrObject instanceof JetClass && ((JetClass) classOrObject).isTrait(); + return classOrObject instanceof JetClass && ((JetClass) classOrObject).isInterface(); } @Nullable diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/jetPsiUtil.kt b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/jetPsiUtil.kt index 3537e055824..212c4c150d1 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/jetPsiUtil.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/psiUtil/jetPsiUtil.kt @@ -116,7 +116,7 @@ public fun JetClassOrObject.effectiveDeclarations(): List = getDeclarations() } -public fun JetClass.isAbstract(): Boolean = isTrait() || hasModifier(JetTokens.ABSTRACT_KEYWORD) +public fun JetClass.isAbstract(): Boolean = isInterface() || hasModifier(JetTokens.ABSTRACT_KEYWORD) [suppress("UNCHECKED_CAST")] public fun PsiElement.replaced(newElement: T): T = replace(newElement) as T @@ -201,7 +201,7 @@ public fun StubBasedPsiElementBase : KotlinStubWithFqNam } public trait KotlinClassStub : KotlinClassOrObjectStub { - public fun isTrait(): Boolean + public fun isInterface(): Boolean public fun isEnumEntry(): Boolean } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/JetClassElementType.java b/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/JetClassElementType.java index 2893b106a96..c59c1311ef2 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/JetClassElementType.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/psi/stubs/elements/JetClassElementType.java @@ -60,7 +60,7 @@ public class JetClassElementType extends JetStubElementType superNames = PsiUtilPackage.getSuperNames(psi); return new KotlinClassStubImpl( getStubType(isEnumEntry), parentStub, StringRef.fromString(fqName != null ? fqName.asString() : null), - StringRef.fromString(psi.getName()), Utils.INSTANCE$.wrapStrings(superNames), psi.isTrait(), isEnumEntry, + StringRef.fromString(psi.getName()), Utils.INSTANCE$.wrapStrings(superNames), psi.isInterface(), isEnumEntry, psi.isLocal(), psi.isTopLevel()); } @@ -69,7 +69,7 @@ public class JetClassElementType extends JetStubElementType { private static boolean isNotTrait(@Nullable DeclarationDescriptor descriptor) { if (descriptor instanceof ClassDescriptor) { ClassKind kind = ((ClassDescriptor) descriptor).getKind(); - return kind != ClassKind.TRAIT; + return kind != ClassKind.INTERFACE; } return false; } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java index 80cb218b4b6..726dd77c7c3 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/DescriptorResolver.java @@ -148,7 +148,7 @@ public class DescriptorResolver { private boolean containsClass(Collection result) { for (JetType type : result) { ClassifierDescriptor descriptor = type.getConstructor().getDeclarationDescriptor(); - if (descriptor instanceof ClassDescriptor && ((ClassDescriptor) descriptor).getKind() != ClassKind.TRAIT) { + if (descriptor instanceof ClassDescriptor && ((ClassDescriptor) descriptor).getKind() != ClassKind.INTERFACE) { return true; } } @@ -331,7 +331,7 @@ public class DescriptorResolver { public static Modality getDefaultModality(DeclarationDescriptor containingDescriptor, Visibility visibility, boolean isBodyPresent) { Modality defaultModality; if (containingDescriptor instanceof ClassDescriptor) { - boolean isTrait = ((ClassDescriptor) containingDescriptor).getKind() == ClassKind.TRAIT; + boolean isTrait = ((ClassDescriptor) containingDescriptor).getKind() == ClassKind.INTERFACE; boolean isDefinitelyAbstract = isTrait && !isBodyPresent; Modality basicModality = isTrait && !Visibilities.isPrivate(visibility) ? Modality.OPEN : Modality.FINAL; defaultModality = isDefinitelyAbstract ? Modality.ABSTRACT : basicModality; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.java index e50fd874135..5d2b05c58a8 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/LazyTopDownAnalyzer.java @@ -204,7 +204,7 @@ public class LazyTopDownAnalyzer { if (DescriptorUtils.isSingletonOrAnonymousObject(classDescriptor)) { trace.report(SECONDARY_CONSTRUCTOR_IN_OBJECT.on((JetSecondaryConstructor) jetDeclaration)); } - else if (classDescriptor.getKind() == ClassKind.TRAIT) { + else if (classDescriptor.getKind() == ClassKind.INTERFACE) { trace.report(CONSTRUCTOR_IN_TRAIT.on(jetDeclaration)); } } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassInfo.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassInfo.java index ff3a7317a56..e907956aeeb 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassInfo.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/data/JetClassInfo.java @@ -31,8 +31,8 @@ public class JetClassInfo extends JetClassOrObjectInfo { if (element instanceof JetEnumEntry) { this.kind = ClassKind.ENUM_ENTRY; } - else if (element.isTrait()) { - this.kind = ClassKind.TRAIT; + else if (element.isInterface()) { + this.kind = ClassKind.INTERFACE; } else if (element.isAnnotation()) { this.kind = ClassKind.ANNOTATION_CLASS; diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java index 6635a911515..6756f3a14fd 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/lazy/descriptors/LazyClassDescriptor.java @@ -128,7 +128,7 @@ public class LazyClassDescriptor extends ClassDescriptorBase implements ClassDes this.modality = Modality.FINAL; } else { - Modality defaultModality = kind == ClassKind.TRAIT ? Modality.ABSTRACT : Modality.FINAL; + Modality defaultModality = kind == ClassKind.INTERFACE ? Modality.ABSTRACT : Modality.FINAL; this.modality = resolveModalityFromModifiers(modifierList, defaultModality); } diff --git a/compiler/frontend/src/org/jetbrains/kotlin/types/CastDiagnosticsUtil.java b/compiler/frontend/src/org/jetbrains/kotlin/types/CastDiagnosticsUtil.java index 8942159e9c9..118e38ecd50 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/types/CastDiagnosticsUtil.java +++ b/compiler/frontend/src/org/jetbrains/kotlin/types/CastDiagnosticsUtil.java @@ -103,7 +103,7 @@ public class CastDiagnosticsUtil { private static boolean isTrait(@NotNull JetType type) { ClassifierDescriptor descriptor = type.getConstructor().getDeclarationDescriptor(); - return descriptor instanceof ClassDescriptor && ((ClassDescriptor) descriptor).getKind() == ClassKind.TRAIT; + return descriptor instanceof ClassDescriptor && ((ClassDescriptor) descriptor).getKind() == ClassKind.INTERFACE; } /** diff --git a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.java b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.java index 574be83018a..a4b53376456 100644 --- a/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.java +++ b/compiler/light-classes/src/org/jetbrains/kotlin/asJava/KotlinLightClassForExplicitDeclaration.java @@ -25,7 +25,6 @@ import com.intellij.openapi.util.Pair; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; import com.intellij.psi.PsiPackage; -import com.intellij.psi.impl.PsiManagerImpl; import com.intellij.psi.impl.compiled.ClsFileImpl; import com.intellij.psi.impl.java.stubs.PsiJavaFileStub; import com.intellij.psi.impl.light.LightClass; @@ -500,7 +499,7 @@ public class KotlinLightClassForExplicitDeclaration extends KotlinWrappingLightC public boolean isInterface() { if (!(classOrObject instanceof JetClass)) return false; JetClass jetClass = (JetClass) classOrObject; - return jetClass.isTrait() || jetClass.isAnnotation(); + return jetClass.isInterface() || jetClass.isAnnotation(); } @Override diff --git a/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java b/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java index 73c63c984ff..33c4e68ffad 100644 --- a/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java +++ b/compiler/tests/org/jetbrains/kotlin/test/util/DescriptorValidator.java @@ -235,7 +235,7 @@ public class DescriptorValidator { validateTypeParameters(collector, descriptor.getTypeConstructor().getParameters()); Collection supertypes = descriptor.getTypeConstructor().getSupertypes(); - if (supertypes.isEmpty() && descriptor.getKind() != ClassKind.TRAIT + if (supertypes.isEmpty() && descriptor.getKind() != ClassKind.INTERFACE && !KotlinBuiltIns.isSpecialClassWithNoSupertypes(descriptor)) { report(collector, descriptor, "No supertypes for non-trait"); } diff --git a/compiler/tests/org/jetbrains/kotlin/types/JetDefaultModalityModifiersTest.java b/compiler/tests/org/jetbrains/kotlin/types/JetDefaultModalityModifiersTest.java index d1ef7b9d10e..4a060ba3953 100644 --- a/compiler/tests/org/jetbrains/kotlin/types/JetDefaultModalityModifiersTest.java +++ b/compiler/tests/org/jetbrains/kotlin/types/JetDefaultModalityModifiersTest.java @@ -171,7 +171,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture { } public void testTraitModality(String classDeclaration, Modality expectedModality) { - testClassModality(classDeclaration, ClassKind.TRAIT, expectedModality); + testClassModality(classDeclaration, ClassKind.INTERFACE, expectedModality); } public void testEnumModality(String classDeclaration, Modality expectedModality) { @@ -187,7 +187,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture { } public void testFunctionModalityInTrait(String classWithFunction, Modality expectedModality) { - testFunctionModality(classWithFunction, ClassKind.TRAIT, expectedModality); + testFunctionModality(classWithFunction, ClassKind.INTERFACE, expectedModality); } public void testPropertyModalityInClass(String classWithProperty, Modality expectedModality) { @@ -199,7 +199,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture { } public void testPropertyModalityInTrait(String classWithProperty, Modality expectedModality) { - testPropertyModality(classWithProperty, ClassKind.TRAIT, expectedModality); + testPropertyModality(classWithProperty, ClassKind.INTERFACE, expectedModality); } public void testPropertyAccessorModalityInClass(String classWithPropertyWithAccessor, Modality expectedModality) { @@ -207,7 +207,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture { } public void testPropertyAccessorModalityInTrait(String classWithPropertyWithAccessor, Modality expectedModality) { - testPropertyAccessorModality(classWithPropertyWithAccessor, ClassKind.TRAIT, expectedModality, true); + testPropertyAccessorModality(classWithPropertyWithAccessor, ClassKind.INTERFACE, expectedModality, true); } public void testPropertyAccessorModalityInClass(String classWithPropertyWithAccessor, Modality expectedModality, boolean isGetter) { @@ -215,7 +215,7 @@ public class JetDefaultModalityModifiersTest extends JetLiteFixture { } public void testPropertyAccessorModalityInTrait(String classWithPropertyWithAccessor, Modality expectedModality, boolean isGetter) { - testPropertyAccessorModality(classWithPropertyWithAccessor, ClassKind.TRAIT, expectedModality, isGetter); + testPropertyAccessorModality(classWithPropertyWithAccessor, ClassKind.INTERFACE, expectedModality, isGetter); } } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt index 193ca90b999..3005f1a847b 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/java/lazy/descriptors/LazyJavaClassDescriptor.kt @@ -54,7 +54,7 @@ class LazyJavaClassDescriptor( private val kind = when { jClass.isAnnotationType() -> ClassKind.ANNOTATION_CLASS - jClass.isInterface() -> ClassKind.TRAIT + jClass.isInterface() -> ClassKind.INTERFACE jClass.isEnum() -> ClassKind.ENUM_CLASS else -> ClassKind.CLASS } diff --git a/core/descriptors/src/org/jetbrains/kotlin/descriptors/ClassKind.java b/core/descriptors/src/org/jetbrains/kotlin/descriptors/ClassKind.java index 6d2864ded86..4566e98a962 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/descriptors/ClassKind.java +++ b/core/descriptors/src/org/jetbrains/kotlin/descriptors/ClassKind.java @@ -18,7 +18,7 @@ package org.jetbrains.kotlin.descriptors; public enum ClassKind { CLASS, - TRAIT, + INTERFACE, ENUM_CLASS, ENUM_ENTRY, ANNOTATION_CLASS, diff --git a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.java b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.java index 275bd81f010..edd6e263dea 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.java +++ b/core/descriptors/src/org/jetbrains/kotlin/renderer/DescriptorRendererImpl.java @@ -988,7 +988,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer { if (!startFromName) { renderAnnotations(klass, builder); renderVisibility(klass.getVisibility(), builder); - if (!(klass.getKind() == ClassKind.TRAIT && klass.getModality() == Modality.ABSTRACT + if (!(klass.getKind() == ClassKind.INTERFACE && klass.getModality() == Modality.ABSTRACT || klass.getKind().isSingleton() && klass.getModality() == Modality.FINAL)) { renderModality(klass.getModality(), builder); } @@ -1056,7 +1056,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer { switch (klass.getKind()) { case CLASS: return "class"; - case TRAIT: + case INTERFACE: return "trait"; case ENUM_CLASS: return "enum class"; diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java index 1714a62f5e4..c47f4438131 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/DescriptorUtils.java @@ -303,7 +303,7 @@ public class DescriptorUtils { } public static boolean isTrait(@Nullable DeclarationDescriptor descriptor) { - return isKindOf(descriptor, ClassKind.TRAIT); + return isKindOf(descriptor, ClassKind.INTERFACE); } public static boolean isClass(@Nullable DeclarationDescriptor descriptor) { @@ -332,7 +332,7 @@ public class DescriptorUtils { Collection superclassTypes = classDescriptor.getTypeConstructor().getSupertypes(); for (JetType type : superclassTypes) { ClassDescriptor superClassDescriptor = getClassDescriptorForType(type); - if (superClassDescriptor.getKind() != ClassKind.TRAIT) { + if (superClassDescriptor.getKind() != ClassKind.INTERFACE) { return type; } } @@ -361,7 +361,7 @@ public class DescriptorUtils { if (isAnonymousObject(classDescriptor)) { return Visibilities.INTERNAL; } - assert classKind == ClassKind.CLASS || classKind == ClassKind.TRAIT || classKind == ClassKind.ANNOTATION_CLASS; + assert classKind == ClassKind.CLASS || classKind == ClassKind.INTERFACE || classKind == ClassKind.ANNOTATION_CLASS; return Visibilities.PUBLIC; } diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java b/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java index eabf52491cc..e5d13c2f064 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/Flags.java @@ -90,7 +90,7 @@ public class Flags { switch (kind) { case CLASS: return ProtoBuf.Class.Kind.CLASS; - case TRAIT: + case INTERFACE: return ProtoBuf.Class.Kind.TRAIT; case ENUM_CLASS: return ProtoBuf.Class.Kind.ENUM_CLASS; diff --git a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/protoEnumMapping.kt b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/protoEnumMapping.kt index 5187e317200..3eedccd2fa3 100644 --- a/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/protoEnumMapping.kt +++ b/core/deserialization/src/org/jetbrains/kotlin/serialization/deserialization/protoEnumMapping.kt @@ -48,7 +48,7 @@ fun visibility(visibility: ProtoBuf.Visibility) = when (visibility) { public fun classKind(kind: ProtoBuf.Class.Kind): ClassKind = when (kind) { ProtoBuf.Class.Kind.CLASS -> ClassKind.CLASS - ProtoBuf.Class.Kind.TRAIT -> ClassKind.TRAIT + ProtoBuf.Class.Kind.TRAIT -> ClassKind.INTERFACE ProtoBuf.Class.Kind.ENUM_CLASS -> ClassKind.ENUM_CLASS ProtoBuf.Class.Kind.ENUM_ENTRY -> ClassKind.ENUM_ENTRY ProtoBuf.Class.Kind.ANNOTATION_CLASS -> ClassKind.ANNOTATION_CLASS diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetDescriptorIconProvider.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetDescriptorIconProvider.java index 5a366084b13..d1399209d39 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetDescriptorIconProvider.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetDescriptorIconProvider.java @@ -101,7 +101,7 @@ public final class JetDescriptorIconProvider { } if (descriptor instanceof ClassDescriptor) { switch (((ClassDescriptor) descriptor).getKind()) { - case TRAIT: + case INTERFACE: return JetIcons.TRAIT; case ENUM_CLASS: return JetIcons.ENUM; diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetIconProvider.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetIconProvider.java index fbc62878207..34ccea8e388 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetIconProvider.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/JetIconProvider.java @@ -142,7 +142,7 @@ public class JetIconProvider extends IconProvider implements DumbAware { if (psiElement instanceof JetClass) { JetClass jetClass = (JetClass) psiElement; - if (jetClass.isTrait()) { + if (jetClass.isInterface()) { return JetIcons.TRAIT; } diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinSuppressableWarningProblemGroup.kt b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinSuppressableWarningProblemGroup.kt index 7212b49c771..a53cb5ffbd0 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinSuppressableWarningProblemGroup.kt +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/KotlinSuppressableWarningProblemGroup.kt @@ -83,7 +83,7 @@ private object DeclarationKindDetector : JetVisitor( override fun visitDeclaration(d: JetDeclaration, _: Unit?) = null - override fun visitClass(d: JetClass, _: Unit?) = detect(d, if (d.isTrait()) "trait" else "class") + override fun visitClass(d: JetClass, _: Unit?) = detect(d, if (d.isInterface()) "trait" else "class") override fun visitNamedFunction(d: JetNamedFunction, _: Unit?) = detect(d, "fun") diff --git a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/TypeKindHighlightingVisitor.java b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/TypeKindHighlightingVisitor.java index 5d26c4903ca..a20e6cb0b9a 100644 --- a/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/TypeKindHighlightingVisitor.java +++ b/idea/idea-analysis/src/org/jetbrains/kotlin/idea/highlighter/TypeKindHighlightingVisitor.java @@ -93,7 +93,7 @@ class TypeKindHighlightingVisitor extends AfterAnalysisHighlightingVisitor { @NotNull private static TextAttributesKey textAttributesKeyForClass(@NotNull ClassDescriptor descriptor) { switch (descriptor.getKind()) { - case TRAIT: + case INTERFACE: return JetHighlightingColors.TRAIT; case ANNOTATION_CLASS: return JetHighlightingColors.ANNOTATION; diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/AllClassesCompletion.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/AllClassesCompletion.kt index 6072e8ad42f..862421634f5 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/AllClassesCompletion.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/AllClassesCompletion.kt @@ -82,7 +82,7 @@ class AllClassesCompletion(val parameters: CompletionParameters, if (psiClass!! !is KotlinLightClass) { // Kotlin class should have already been added as kotlin element before val kind = when { psiClass.isAnnotationType() -> ClassKind.ANNOTATION_CLASS - psiClass.isInterface() -> ClassKind.TRAIT + psiClass.isInterface() -> ClassKind.INTERFACE psiClass.isEnum() -> ClassKind.ENUM_CLASS else -> ClassKind.CLASS } diff --git a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt index 630cb57ad0a..249f64b4dcc 100644 --- a/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt +++ b/idea/idea-completion/src/org/jetbrains/kotlin/idea/completion/smart/TypeInstantiationItems.kt @@ -153,7 +153,7 @@ class TypeInstantiationItems( val insertHandler: InsertHandler val typeText = IdeDescriptorRenderers.SOURCE_CODE.renderClassifierName(classifier) + IdeDescriptorRenderers.SOURCE_CODE.renderTypeArguments(typeArgsToUse) if (isAbstract) { - val constructorParenthesis = if (classifier.getKind() != ClassKind.TRAIT) "()" else "" + val constructorParenthesis = if (classifier.getKind() != ClassKind.INTERFACE) "()" else "" itemText += constructorParenthesis itemText = "object: " + itemText + "{...}" lookupString = "object" @@ -242,7 +242,7 @@ class TypeInstantiationItems( } private fun addSamConstructorItem(collection: MutableCollection, `class`: ClassDescriptor, tail: Tail?) { - if (`class`.getKind() == ClassKind.TRAIT) { + if (`class`.getKind() == ClassKind.INTERFACE) { val container = `class`.getContainingDeclaration() val scope = when (container) { is PackageFragmentDescriptor -> container.getMemberScope() diff --git a/idea/src/org/jetbrains/kotlin/idea/actions/JetAddFunctionToClassifierAction.java b/idea/src/org/jetbrains/kotlin/idea/actions/JetAddFunctionToClassifierAction.java index d581cd23e22..b26c66c04a8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/actions/JetAddFunctionToClassifierAction.java +++ b/idea/src/org/jetbrains/kotlin/idea/actions/JetAddFunctionToClassifierAction.java @@ -94,7 +94,7 @@ public class JetAddFunctionToClassifierAction implements QuestionAction { } String functionBody = ""; - if (typeDescriptor.getKind() != ClassKind.TRAIT && functionDescriptor.getModality() != Modality.ABSTRACT) { + if (typeDescriptor.getKind() != ClassKind.INTERFACE && functionDescriptor.getModality() != Modality.ABSTRACT) { functionBody = "{}"; JetType returnType = functionDescriptor.getReturnType(); if (returnType == null || !KotlinBuiltIns.isUnit(returnType)) { diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/JetPositionManager.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/JetPositionManager.kt index aadb2fc84db..17077eaf2a2 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/JetPositionManager.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/JetPositionManager.kt @@ -371,7 +371,7 @@ public class JetPositionManager(private val myDebugProcess: DebugProcess) : Mult return null } - if (jetClass is JetClass && jetClass.isTrait()) { + if (jetClass is JetClass && jetClass.isInterface()) { return typeMapper.mapTraitImpl(classDescriptor).getInternalName() } diff --git a/idea/src/org/jetbrains/kotlin/idea/findUsages/JetElementDescriptionProvider.kt b/idea/src/org/jetbrains/kotlin/idea/findUsages/JetElementDescriptionProvider.kt index cd779fdc29b..5df9b4e6357 100644 --- a/idea/src/org/jetbrains/kotlin/idea/findUsages/JetElementDescriptionProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/findUsages/JetElementDescriptionProvider.kt @@ -36,7 +36,7 @@ public class JetElementDescriptionProvider : ElementDescriptionProvider { val targetElement = element.unwrapped fun elementKind() = when (targetElement) { - is JetClass -> if (targetElement.isTrait()) "trait" else "class" + is JetClass -> if (targetElement.isInterface()) "trait" else "class" is JetObjectDeclaration -> "object" is JetNamedFunction -> "function" is JetSecondaryConstructor -> "constructor" diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt index ff63a521f6b..df30887b629 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/KotlinLineMarkerProvider.kt @@ -136,7 +136,7 @@ private fun collectSuperDeclarationMarkers(declaration: JetDeclaration, result: } private fun collectInheritedClassMarker(element: JetClass, result: MutableCollection>) { - val isTrait = element.isTrait() + val isTrait = element.isInterface() if (!(isTrait || element.hasModifier(JetTokens.OPEN_KEYWORD) || element.hasModifier(JetTokens.ABSTRACT_KEYWORD))) { return } diff --git a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/OverridenPropertyMarker.kt b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/OverridenPropertyMarker.kt index a075fbb79f9..9ae4c4a1353 100644 --- a/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/OverridenPropertyMarker.kt +++ b/idea/src/org/jetbrains/kotlin/idea/highlighter/markers/OverridenPropertyMarker.kt @@ -123,6 +123,6 @@ public fun isImplemented(declaration: JetNamedDeclaration): Boolean { if (parent !is JetClass) return false - return (parent as JetClass).isTrait() && (declaration !is JetDeclarationWithBody || !declaration.hasBody()) && (declaration !is JetWithExpressionInitializer || !declaration.hasInitializer()) + return (parent as JetClass).isInterface() && (declaration !is JetDeclarationWithBody || !declaration.hasBody()) && (declaration !is JetWithExpressionInitializer || !declaration.hasInitializer()) } diff --git a/idea/src/org/jetbrains/kotlin/idea/liveTemplates/macro/JetAnonymousSuperMacro.java b/idea/src/org/jetbrains/kotlin/idea/liveTemplates/macro/JetAnonymousSuperMacro.java index 27f6d7c5aa1..35442e0f725 100644 --- a/idea/src/org/jetbrains/kotlin/idea/liveTemplates/macro/JetAnonymousSuperMacro.java +++ b/idea/src/org/jetbrains/kotlin/idea/liveTemplates/macro/JetAnonymousSuperMacro.java @@ -103,7 +103,7 @@ public class JetAnonymousSuperMacro extends Macro { ClassDescriptor classDescriptor = (ClassDescriptor) descriptor; if (!classDescriptor.getModality().isOverridable()) continue; ClassKind kind = classDescriptor.getKind(); - if (kind == ClassKind.TRAIT || kind == ClassKind.CLASS) { + if (kind == ClassKind.INTERFACE || kind == ClassKind.CLASS) { PsiElement declaration = DescriptorToSourceUtils.descriptorToDeclaration(descriptor); if (declaration != null) { result.add((PsiNamedElement) declaration); diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionToSupertypeFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionToSupertypeFix.java index 2d3112eaa28..ea5a20a9379 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionToSupertypeFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddFunctionToSupertypeFix.java @@ -97,7 +97,7 @@ public class AddFunctionToSupertypeFix extends JetHintAction { ) { // TODO: support for generics. Modality modality = typeDescriptor.getModality(); - if (typeDescriptor.getKind() == ClassKind.TRAIT) { + if (typeDescriptor.getKind() == ClassKind.INTERFACE) { modality = Modality.OPEN; } return functionDescriptor.copy( diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java index 62fa3494005..6b84f3b8811 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/AddOpenModifierToClassDeclarationFix.java @@ -58,7 +58,7 @@ public class AddOpenModifierToClassDeclarationFix extends JetIntentionAction { val body = when { - containingElement is JetClass && containingElement.isTrait() && !config.isExtension -> "" + containingElement is JetClass && containingElement.isInterface() && !config.isExtension -> "" else -> "{}" } if (callableInfo.kind == CallableKind.FUNCTION) { diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/templateExpressions.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/templateExpressions.kt index fa1b9b464e0..1256b9ac617 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/templateExpressions.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/callableBuilder/templateExpressions.kt @@ -111,7 +111,7 @@ private abstract class TypeExpression(public val typeCandidates: List = typeCandidates.map { val descriptor = it.theType.getConstructor().getDeclarationDescriptor() as ClassDescriptor - val text = it.renderedType!! + if (descriptor.getKind() == ClassKind.TRAIT) "" else "()" + val text = it.renderedType!! + if (descriptor.getKind() == ClassKind.INTERFACE) "" else "()" LookupElementBuilder.create(it, text) }.copyToArray() } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/createClassUtils.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/createClassUtils.kt index 569a625c1eb..239d37f140e 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/createClassUtils.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createClass/createClassUtils.kt @@ -107,7 +107,7 @@ private fun JetExpression.getInheritableTypeInfo( when (classKind) { ClassKind.ENUM_ENTRY -> isEnum && containingDeclaration == DescriptorToSourceUtils.descriptorToDeclaration(descriptor) ClassKind.TRAIT -> containingDeclaration !is PsiClass - || (descriptor as? ClassDescriptor)?.getKind() == ClassDescriptorKind.TRAIT + || (descriptor as? ClassDescriptor)?.getKind() == ClassDescriptorKind.INTERFACE else -> canHaveSubtypes } } diff --git a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterActionFactory.kt b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterActionFactory.kt index 5942ceafd9a..ca2b5b3a18c 100644 --- a/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterActionFactory.kt +++ b/idea/src/org/jetbrains/kotlin/idea/quickfix/createFromUsage/createVariable/CreateParameterActionFactory.kt @@ -92,13 +92,13 @@ object CreateParameterActionFactory: JetSingleIntentionActionFactory() { it is JetClassInitializer -> it.getParent()?.getParent() as? JetClass it is JetDelegationSpecifier -> { val klass = it.getStrictParentOfType() - if (klass != null && !klass.isTrait() && klass !is JetEnumEntry) klass else null + if (klass != null && !klass.isInterface() && klass !is JetEnumEntry) klass else null } it is JetClassBody -> { val klass = it.getParent() as? JetClass when { klass is JetEnumEntry -> chooseContainingClass(klass) - klass != null && klass.isTrait() -> null + klass != null && klass.isInterface() -> null else -> klass } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignature.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignature.kt index f37b1c7bfd5..bca150a16c8 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignature.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignature.kt @@ -119,7 +119,7 @@ public class JetChangeSignature(project: Project, private fun preferContainedInClass(descriptorsForSignatureChange: Collection): FunctionDescriptor { for (descriptor in descriptorsForSignatureChange) { val containingDeclaration = descriptor.getContainingDeclaration() - if (containingDeclaration is ClassDescriptor && containingDeclaration.getKind() != ClassKind.TRAIT) { + if (containingDeclaration is ClassDescriptor && containingDeclaration.getKind() != ClassKind.INTERFACE) { return descriptor } } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt index d93079dd8e4..6bfcec29640 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/changeSignature/JetChangeSignatureData.kt @@ -145,7 +145,7 @@ public class JetChangeSignatureData( override fun canChangeVisibility(): Boolean { if (DescriptorUtils.isLocal(baseDescriptor)) return false; val parent = baseDescriptor.getContainingDeclaration() - return !(baseDescriptor is AnonymousFunctionDescriptor || parent is ClassDescriptor && parent.getKind() == ClassKind.TRAIT) + return !(baseDescriptor is AnonymousFunctionDescriptor || parent is ClassDescriptor && parent.getKind() == ClassKind.INTERFACE) } override fun canChangeParameters(): Boolean { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt index f13acfa2df4..2a4989a0356 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/ExtractableCodeDescriptor.kt @@ -347,7 +347,7 @@ enum class ExtractionTarget(val name: String) { companion object { fun checkNotTrait(descriptor: ExtractableCodeDescriptor): Boolean { val parent = descriptor.extractionData.targetSibling.getStrictParentOfType() - return !(parent is JetClass && parent.isTrait()) + return !(parent is JetClass && parent.isInterface()) } fun checkSimpleBody(descriptor: ExtractableCodeDescriptor): Boolean { diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractableAnalysisUtil.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractableAnalysisUtil.kt index 0a331daf9e2..e81e024c927 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractableAnalysisUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/extractionEngine/extractableAnalysisUtil.kt @@ -802,7 +802,7 @@ fun ExtractionData.getDefaultVisibility(): String { if (!isVisibilityApplicable()) return "" val parent = targetSibling.getStrictParentOfType() - if (parent is JetClass && parent.isTrait()) return "" + if (parent is JetClass && parent.isInterface()) return "" return "private" } diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt index cf2c7190895..e11a03d9e71 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/introduce/introduceParameter/KotlinIntroduceParameterHandler.kt @@ -161,7 +161,7 @@ fun selectNewParameterContext( (if (stopAt != null) parent.parents(withItself = false).takeWhile { it != stopAt } else parents) .filter { - ((it is JetClass && !it.isTrait() && it !is JetEnumEntry) || it is JetNamedFunction || it is JetSecondaryConstructor) && + ((it is JetClass && !it.isInterface() && it !is JetEnumEntry) || it is JetNamedFunction || it is JetSecondaryConstructor) && ((it as JetNamedDeclaration).getValueParameterList() != null || it.getNameIdentifier() != null) } .toList() diff --git a/idea/src/org/jetbrains/kotlin/idea/refactoring/jetRefactoringUtil.kt b/idea/src/org/jetbrains/kotlin/idea/refactoring/jetRefactoringUtil.kt index 3ad427cf5ad..631829f2236 100644 --- a/idea/src/org/jetbrains/kotlin/idea/refactoring/jetRefactoringUtil.kt +++ b/idea/src/org/jetbrains/kotlin/idea/refactoring/jetRefactoringUtil.kt @@ -510,7 +510,7 @@ fun createJavaClass(klass: JetClass, targetClass: PsiClass): PsiMember { val factory = PsiElementFactory.SERVICE.getInstance(klass.getProject()) val javaClassToAdd = when (kind) { ClassKind.CLASS -> factory.createClass(klass.getName()) - ClassKind.TRAIT -> factory.createInterface(klass.getName()) + ClassKind.INTERFACE -> factory.createInterface(klass.getName()) ClassKind.ANNOTATION_CLASS -> factory.createAnnotationType(klass.getName()) ClassKind.ENUM_CLASS -> factory.createEnum(klass.getName()) else -> throw AssertionError("Unexpected class kind: ${klass.getElementTextWithContext()}") diff --git a/idea/tests/org/jetbrains/kotlin/idea/stubs/JetStubsTest.java b/idea/tests/org/jetbrains/kotlin/idea/stubs/JetStubsTest.java index b4f95b1a41e..c828c31a3cb 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/stubs/JetStubsTest.java +++ b/idea/tests/org/jetbrains/kotlin/idea/stubs/JetStubsTest.java @@ -50,6 +50,6 @@ public class JetStubsTest extends LightCodeInsightFixtureTestCase { List declarations = ((JetFile) psiFile).getDeclarations(); JetClass jetClass = (JetClass) declarations.get(0); KotlinClassStub stub = JetStubElementTypes.CLASS.createStub(jetClass, null); - assertEquals(true, stub.isTrait()); + assertEquals(true, stub.isInterface()); } } diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/Namer.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/Namer.java index fdf7542f84f..0ad20c54387 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/Namer.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/context/Namer.java @@ -385,7 +385,7 @@ public final class Namer { @NotNull public JsExpression classCreateInvocation(@NotNull ClassDescriptor descriptor) { switch (descriptor.getKind()) { - case TRAIT: + case INTERFACE: return traitCreationMethodReference(); case ENUM_CLASS: return enumClassCreationMethodReference(); diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.java index 3e3c2bc7eba..a916bf86938 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/declaration/ClassTranslator.java @@ -99,7 +99,7 @@ public final class ClassTranslator extends AbstractTranslator { } private boolean isTrait() { - return descriptor.getKind().equals(ClassKind.TRAIT); + return descriptor.getKind().equals(ClassKind.INTERFACE); } @NotNull diff --git a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/JsDescriptorUtils.java b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/JsDescriptorUtils.java index 16e5d6827f4..409867af32f 100644 --- a/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/JsDescriptorUtils.java +++ b/js/js.translator/src/org/jetbrains/kotlin/js/translate/utils/JsDescriptorUtils.java @@ -89,7 +89,7 @@ public final class JsDescriptorUtils { ClassDescriptor classDescriptor = getClassDescriptorForType(type); return !FAKE_CLASSES.contains(getFqNameSafe(classDescriptor).asString()) && - !(classDescriptor.getKind() == ClassKind.TRAIT && isNativeObject(classDescriptor)); + !(classDescriptor.getKind() == ClassKind.INTERFACE && isNativeObject(classDescriptor)); } }); }