rename JetClass.isTrait() to isInterface(); rename ClassKind.TRAIT to INTERACE

This commit is contained in:
Dmitry Jemerov
2015-04-27 14:04:19 +02:00
parent ee60ce8369
commit cce1be3892
62 changed files with 95 additions and 96 deletions
@@ -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;
@@ -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)
@@ -333,7 +333,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> 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);
@@ -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 {
@@ -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<JetDelegationSpecifier> 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()) {
@@ -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;
}
@@ -200,7 +200,7 @@ public abstract class MemberCodegen<T extends JetElement/* TODO: & JetDeclaratio
ClassContext classContext = parentContext.intoClass(descriptor, OwnerKind.IMPLEMENTATION, state);
new ImplementationBodyCodegen(aClass, classContext, classBuilder, state, parentCodegen).generate();
if (aClass instanceof JetClass && ((JetClass) aClass).isTrait()) {
if (aClass instanceof JetClass && ((JetClass) aClass).isInterface()) {
Type traitImplType = state.getTypeMapper().mapTraitImpl(descriptor);
ClassBuilder traitImplBuilder = state.getFactory().newVisitor(TraitImpl(aClass, descriptor), traitImplType, aClass.getContainingFile());
ClassContext traitImplContext = parentContext.intoClass(descriptor, OwnerKind.TRAIT_IMPL, state);
@@ -443,7 +443,7 @@ public abstract class StackValue {
// Coerce this/super for traits to support traits with required classes.
// Coerce explicit 'this' for the case when it is smart cast.
// Do not coerce for other classes due to the 'protected' access issues (JVMS 7, 4.9.2 Structural Constraints).
boolean coerceType = descriptor.getKind() == ClassKind.TRAIT || (isExplicit && !isSuper);
boolean coerceType = descriptor.getKind() == ClassKind.INTERFACE || (isExplicit && !isSuper);
return new ThisOuter(codegen, descriptor, isSuper, coerceType);
}
@@ -844,7 +844,7 @@ public class JetTypeMapper {
@NotNull
private static ClassDescriptor getTraitImplThisParameterClass(@NotNull ClassDescriptor traitDescriptor) {
for (ClassDescriptor descriptor : DescriptorUtils.getSuperclassDescriptors(traitDescriptor)) {
if (descriptor.getKind() != ClassKind.TRAIT) {
if (descriptor.getKind() != ClassKind.INTERFACE) {
return descriptor;
}
}
@@ -126,7 +126,7 @@ public class SingleAbstractMethodUtils {
}
private static boolean isSamInterface(@NotNull ClassDescriptor klass) {
if (klass.getKind() != ClassKind.TRAIT) {
if (klass.getKind() != ClassKind.INTERFACE) {
return false;
}
@@ -78,7 +78,7 @@ public class MutableClassDescriptor extends ClassDescriptorBase implements Class
this.scopeForMemberResolution = new WritableScopeImpl(scopeForSupertypeResolution, this, redeclarationHandler, "MemberResolution")
.changeLockLevel(WritableScope.LockLevel.BOTH);
if (kind == ClassKind.TRAIT) {
if (kind == ClassKind.INTERFACE) {
setUpScopeForInitializers(this);
}
@@ -132,10 +132,10 @@ public class JetClass extends JetTypeParameterListOwnerStub<KotlinClassStub> 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 ||
@@ -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
@@ -116,7 +116,7 @@ public fun JetClassOrObject.effectiveDeclarations(): List<JetDeclaration> =
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 <T: PsiElement> PsiElement.replaced(newElement: T): T = replace(newElement) as T
@@ -201,7 +201,7 @@ public fun <T: JetClassOrObject> StubBasedPsiElementBase<out KotlinClassOrObject
public fun SearchScope.contains(element: PsiElement): Boolean = PsiSearchScopeUtil.isInScope(this, element)
public fun JetClass.isInheritable(): Boolean {
return isTrait() || hasModifier(JetTokens.OPEN_KEYWORD) || hasModifier(JetTokens.ABSTRACT_KEYWORD)
return isInterface() || hasModifier(JetTokens.OPEN_KEYWORD) || hasModifier(JetTokens.ABSTRACT_KEYWORD)
}
public fun JetDeclaration.isOverridable(): Boolean {
@@ -213,7 +213,7 @@ public fun JetDeclaration.isOverridable(): Boolean {
if (hasModifier(JetTokens.FINAL_KEYWORD) || hasModifier(JetTokens.PRIVATE_KEYWORD)) return false
return klass.isTrait() ||
return klass.isInterface() ||
hasModifier(JetTokens.ABSTRACT_KEYWORD) || hasModifier(JetTokens.OPEN_KEYWORD) || hasModifier(JetTokens.OVERRIDE_KEYWORD)
}
@@ -42,7 +42,7 @@ public trait KotlinClassOrObjectStub<T : JetClassOrObject> : KotlinStubWithFqNam
}
public trait KotlinClassStub : KotlinClassOrObjectStub<JetClass> {
public fun isTrait(): Boolean
public fun isInterface(): Boolean
public fun isEnumEntry(): Boolean
}
@@ -60,7 +60,7 @@ public class JetClassElementType extends JetStubElementType<KotlinClassStub, Jet
List<String> 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<KotlinClassStub, Jet
dataStream.writeName(stub.getName());
FqName fqName = stub.getFqName();
dataStream.writeName(fqName == null ? null : fqName.asString());
dataStream.writeBoolean(stub.isTrait());
dataStream.writeBoolean(stub.isInterface());
dataStream.writeBoolean(stub.isEnumEntry());
dataStream.writeBoolean(stub.isLocal());
dataStream.writeBoolean(stub.isTopLevel());
@@ -46,7 +46,7 @@ public class KotlinClassStubImpl(
return FqName(stringRef)
}
override fun isTrait() = isTrait
override fun isInterface() = isTrait
override fun isEnumEntry() = isEnumEntry
override fun isLocal() = isLocal
override fun getName() = StringRef.toString(name)
@@ -290,7 +290,7 @@ public class BodyResolver {
@Override
public void visitDelegationByExpressionSpecifier(@NotNull JetDelegatorByExpressionSpecifier specifier) {
if (descriptor.getKind() == ClassKind.TRAIT) {
if (descriptor.getKind() == ClassKind.INTERFACE) {
trace.report(DELEGATION_IN_TRAIT.on(specifier));
}
JetType supertype = trace.getBindingContext().get(BindingContext.TYPE, specifier.getTypeReference());
@@ -299,7 +299,7 @@ public class BodyResolver {
DeclarationDescriptor declarationDescriptor = supertype.getConstructor().getDeclarationDescriptor();
if (declarationDescriptor instanceof ClassDescriptor) {
ClassDescriptor classDescriptor = (ClassDescriptor) declarationDescriptor;
if (classDescriptor.getKind() != ClassKind.TRAIT) {
if (classDescriptor.getKind() != ClassKind.INTERFACE) {
trace.report(DELEGATION_NOT_TO_TRAIT.on(specifier.getTypeReference()));
}
}
@@ -319,13 +319,13 @@ public class BodyResolver {
public void visitDelegationToSuperCallSpecifier(@NotNull JetDelegatorToSuperCall call) {
JetValueArgumentList valueArgumentList = call.getValueArgumentList();
PsiElement elementToMark = valueArgumentList == null ? call : valueArgumentList;
if (descriptor.getKind() == ClassKind.TRAIT) {
if (descriptor.getKind() == ClassKind.INTERFACE) {
trace.report(SUPERTYPE_INITIALIZED_IN_TRAIT.on(elementToMark));
}
JetTypeReference typeReference = call.getTypeReference();
if (typeReference == null) return;
if (primaryConstructor == null) {
if (descriptor.getKind() != ClassKind.TRAIT) {
if (descriptor.getKind() != ClassKind.INTERFACE) {
trace.report(SUPERTYPE_INITIALIZED_WITHOUT_PRIMARY_CONSTRUCTOR.on(call));
}
recordSupertype(typeReference, trace.getBindingContext().get(BindingContext.TYPE, typeReference));
@@ -339,7 +339,7 @@ public class BodyResolver {
recordSupertype(typeReference, supertype);
ClassDescriptor classDescriptor = TypeUtils.getClassDescriptor(supertype);
if (classDescriptor != null) {
if (classDescriptor.getKind() == ClassKind.TRAIT) {
if (classDescriptor.getKind() == ClassKind.INTERFACE) {
trace.report(CONSTRUCTOR_IN_TRAIT.on(elementToMark));
}
// allow only one delegating constructor
@@ -368,7 +368,7 @@ public class BodyResolver {
// A "singleton in supertype" diagnostic will be reported later
return;
}
if (descriptor.getKind() != ClassKind.TRAIT &&
if (descriptor.getKind() != ClassKind.INTERFACE &&
descriptor.getUnsubstitutedPrimaryConstructor() != null &&
!superClass.getConstructors().isEmpty() &&
!ErrorUtils.isError(superClass)
@@ -425,11 +425,11 @@ public class BodyResolver {
ClassDescriptor classDescriptor = TypeUtils.getClassDescriptor(supertype);
if (classDescriptor != null) {
if (classDescriptor.getKind() != ClassKind.TRAIT) {
if (classDescriptor.getKind() != ClassKind.INTERFACE) {
if (supertypeOwner.getKind() == ClassKind.ENUM_CLASS) {
trace.report(CLASS_IN_SUPERTYPE_FOR_ENUM.on(typeReference));
}
else if (supertypeOwner.getKind() == ClassKind.TRAIT &&
else if (supertypeOwner.getKind() == ClassKind.INTERFACE &&
!classAppeared && !TypesPackage.isDynamic(supertype) /* avoid duplicate diagnostics */) {
trace.report(TRAIT_WITH_SUPERCLASS.on(typeReference));
}
@@ -241,7 +241,7 @@ public class DeclarationsChecker {
checkPrimaryConstructor(aClass, classDescriptor);
checkTypeParameters(aClass);
if (aClass.isTrait()) {
if (aClass.isInterface()) {
checkTraitModifiers(aClass);
checkConstructorInTrait(aClass);
}
@@ -380,7 +380,7 @@ public class DeclarationsChecker {
trace.report(ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS.on(property, name != null ? name : "", classDescriptor));
return;
}
if (classDescriptor.getKind() == ClassKind.TRAIT) {
if (classDescriptor.getKind() == ClassKind.INTERFACE) {
trace.report(ABSTRACT_MODIFIER_IN_TRAIT.on(property));
}
}
@@ -416,7 +416,7 @@ public class DeclarationsChecker {
return;
}
DeclarationDescriptor containingDeclaration = propertyDescriptor.getContainingDeclaration();
boolean inTrait = containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor)containingDeclaration).getKind() == ClassKind.TRAIT;
boolean inTrait = containingDeclaration instanceof ClassDescriptor && ((ClassDescriptor)containingDeclaration).getKind() == ClassKind.INTERFACE;
JetExpression initializer = property.getInitializer();
JetPropertyDelegate delegate = property.getDelegate();
boolean backingFieldRequired =
@@ -473,7 +473,7 @@ public class DeclarationsChecker {
checkDeclaredTypeInPublicMember(function, functionDescriptor);
if (containingDescriptor instanceof ClassDescriptor) {
ClassDescriptor classDescriptor = (ClassDescriptor) containingDescriptor;
boolean inTrait = classDescriptor.getKind() == ClassKind.TRAIT;
boolean inTrait = classDescriptor.getKind() == ClassKind.INTERFACE;
if (hasAbstractModifier && !classCanHaveAbstractMembers(classDescriptor)) {
trace.report(ABSTRACT_FUNCTION_IN_NON_ABSTRACT_CLASS.on(function, functionDescriptor.getName().asString(), classDescriptor));
}
@@ -196,7 +196,7 @@ public final class DelegationResolver<T extends CallableMemberDescriptor> {
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;
}
@@ -148,7 +148,7 @@ public class DescriptorResolver {
private boolean containsClass(Collection<JetType> 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;
@@ -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));
}
}
@@ -31,8 +31,8 @@ public class JetClassInfo extends JetClassOrObjectInfo<JetClass> {
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;
@@ -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);
}
@@ -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;
}
/**
@@ -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
@@ -235,7 +235,7 @@ public class DescriptorValidator {
validateTypeParameters(collector, descriptor.getTypeConstructor().getParameters());
Collection<JetType> 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");
}
@@ -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);
}
}