[FIR] Add RedundantModalityModifierChecker

This commit is contained in:
vladislavf7@gmail.com
2020-07-14 16:07:51 +03:00
committed by Mikhail Glukhikh
parent e7c88a4349
commit fb5fb44993
7 changed files with 250 additions and 1 deletions
@@ -0,0 +1,103 @@
FILE: RedundantModalityModifierChecker.kt
public abstract class Base : R|kotlin/Any| {
public constructor(): R|Base| {
super<R|kotlin/Any|>()
}
public final fun foo(): R|kotlin/Unit| {
}
public abstract fun bar(): R|kotlin/Unit|
public open val gav: R|kotlin/Int| = Int(42)
public get(): R|kotlin/Int|
}
public final class FinalDerived : R|Base| {
public constructor(): R|FinalDerived| {
super<R|Base|>()
}
public final override fun bar(): R|kotlin/Unit| {
}
public open override val gav: R|kotlin/Int| = Int(13)
public get(): R|kotlin/Int|
}
public open class OpenDerived : R|Base| {
public constructor(): R|OpenDerived| {
super<R|Base|>()
}
public final override fun bar(): R|kotlin/Unit| {
}
public open override val gav: R|kotlin/Int| = Int(13)
public get(): R|kotlin/Int|
}
public final class Final : R|kotlin/Any| {
public constructor(): R|Final| {
super<R|kotlin/Any|>()
}
}
public abstract interface Interface : R|kotlin/Any| {
public abstract fun foo(): R|kotlin/Unit|
private final fun bar(): R|kotlin/Unit| {
}
public open val gav: R|kotlin/Int|
public get(): R|kotlin/Int| {
^ Int(42)
}
}
public abstract interface Derived : R|Interface| {
public open override fun foo(): R|kotlin/Unit| {
}
public final class Nested : R|kotlin/Any| {
public constructor(): R|Derived.Nested| {
super<R|kotlin/Any|>()
}
}
}
public abstract class AbstractDerived1 : R|Interface| {
public constructor(gav: R|kotlin/Int|): R|AbstractDerived1| {
super<R|kotlin/Any|>()
}
public final override val gav: R|kotlin/Int| = R|<local>/gav|
public get(): R|kotlin/Int|
public open override fun foo(): R|kotlin/Unit| {
}
}
public abstract class AbstractDerived2 : R|Interface| {
public constructor(): R|AbstractDerived2| {
super<R|kotlin/Any|>()
}
public final override fun foo(): R|kotlin/Unit| {
}
public open override val gav: R|kotlin/Int| = Int(13)
public get(): R|kotlin/Int|
}
public abstract interface AbstractInterface : R|kotlin/Any| {
}
public final object FinalObject : R|kotlin/Any| {
private constructor(): R|FinalObject| {
super<R|kotlin/Any|>()
}
}
public open interface OpenInterface : R|kotlin/Any| {
}