Change NO_EXPLICIT_VISIBILITY_IN_API_MODE diagnostic range to 'declaration modifiers + name'.

Motivation: missing visibility modifier is an error in visibility modifiers list, so we should highlight this list.
Including a name in the range is convenient for using alt+enter (you don't have to move cursor from name to fun/class/val keyword)

 Also change NO_EXPLICIT_RETURN_TYPE_IN_API_MODE diagnostic range to 'declaration name' to match corresponding IDE inspection.

Fix stylistic problems and typos after review
This commit is contained in:
Leonid Startsev
2019-10-30 16:43:45 +03:00
parent 24688f3503
commit 3b100e57f2
24 changed files with 103 additions and 301 deletions
@@ -1,15 +1,22 @@
class <!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>Foo1()<!> {}
// SKIP_TXT
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>class Foo1<!>() {}
public class Foo2() {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun method()<!> {}
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun method<!>() {}
public fun method2() {}
private fun method3() {}
<!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE, NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun implicit()<!> = 10
<!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>public fun implicit2()<!> = 10
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun <!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>implicit<!><!>() = 10
public fun <!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>implicit2<!>() = 10
public fun implicit3(): Int = 10
}
public data class FooData(val i: Int, val s: String)
data class <!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>FooData2(val i: Int, val s: String)<!>
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>data class FooData2<!>(val i: Int, val s: String)
public class WithNested {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>class Nested<!> {}
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>inner class Inner<!> {}
}
@@ -1,45 +0,0 @@
package
public final class Foo1 {
public constructor Foo1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Foo2 {
public constructor Foo2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final fun implicit(): kotlin.Int
public final fun implicit2(): kotlin.Int
public final fun implicit3(): kotlin.Int
public final fun method(): kotlin.Unit
public final fun method2(): kotlin.Unit
private final fun method3(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final data class FooData {
public constructor FooData(/*0*/ i: kotlin.Int, /*1*/ s: kotlin.String)
public final val i: kotlin.Int
public final val s: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.Int
public final operator /*synthesized*/ fun component2(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ i: kotlin.Int = ..., /*1*/ s: kotlin.String = ...): FooData
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
public final data class FooData2 {
public constructor FooData2(/*0*/ i: kotlin.Int, /*1*/ s: kotlin.String)
public final val i: kotlin.Int
public final val s: kotlin.String
public final operator /*synthesized*/ fun component1(): kotlin.Int
public final operator /*synthesized*/ fun component2(): kotlin.String
public final /*synthesized*/ fun copy(/*0*/ i: kotlin.Int = ..., /*1*/ s: kotlin.String = ...): FooData2
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@@ -1,3 +1,13 @@
// SKIP_TXT
public class Bar {
companion <!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>object<!> {}
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>companion object<!> {}
}
public class Bar2 {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>companion object MyCompanion<!> {}
}
public class Bar3 {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>object NestedObject<!> {}
}
@@ -1,15 +0,0 @@
package
public final class Bar {
public constructor Bar()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
public companion object Companion {
private constructor Companion()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
}
@@ -1,10 +1,12 @@
// SKIP_TXT
public class Foo1 () {}
public class Foo2 constructor() {}
public class Foo3 public constructor() {}
public class Foo4 private constructor() {}
public class Foo5 {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>constructor()<!> {}
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>constructor<!>() {}
}
public class Foo6 {
@@ -1,43 +0,0 @@
package
public final class Foo1 {
public constructor Foo1()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Foo2 {
public constructor Foo2()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Foo3 {
public constructor Foo3()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Foo4 {
private constructor Foo4()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Foo5 {
public constructor Foo5()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Foo6 {
public constructor Foo6()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,6 +1,7 @@
// !DIAGNOSTICS: -EXPERIMENTAL_FEATURE_WARNING
// SKIP_TXT
inline class <!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>Value1(<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>val inner: Int<!>)<!>
public inline class Value2(<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>val inner: Int<!>)
inline class <!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>Value3(public val inner: Int)<!>
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>inline class Value1<!>(<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>val inner<!>: Int)
public inline class Value2(<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>val inner<!>: Int)
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>inline class Value3<!>(public val inner: Int)
public inline class Value4(public val inner: Int)
@@ -1,33 +0,0 @@
package
public final inline class Value1 {
public constructor Value1(/*0*/ inner: kotlin.Int)
public final val inner: kotlin.Int
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
public final inline class Value2 {
public constructor Value2(/*0*/ inner: kotlin.Int)
public final val inner: kotlin.Int
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
public final inline class Value3 {
public constructor Value3(/*0*/ inner: kotlin.Int)
public final val inner: kotlin.Int
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
public final inline class Value4 {
public constructor Value4(/*0*/ inner: kotlin.Int)
public final val inner: kotlin.Int
public open override /*1*/ /*synthesized*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*synthesized*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*synthesized*/ fun toString(): kotlin.String
}
@@ -1,9 +1,11 @@
interface <!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>I1<!> {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun i()<!>
// SKIP_TXT
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>interface I1<!> {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun i<!>()
}
public interface I2 {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun i()<!>
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun i<!>()
}
public interface I3 {
@@ -23,8 +25,8 @@ public class Impl: I3 {
}
public class Impl2: I4 {
<!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>override fun i()<!> = 10
<!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>override val v<!> = 10
override fun <!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>i<!>() = 10
override val <!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>v<!> = 10
}
private class PrivateImpl: I4 {
@@ -1,58 +0,0 @@
package
public interface I1 {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract fun i(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface I2 {
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract fun i(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface I3 {
public abstract val v: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract fun i(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface I4 {
public abstract val v: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public abstract fun i(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Impl : I3 {
public constructor Impl()
public open override /*1*/ val v: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun i(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public final class Impl2 : I4 {
public constructor Impl2()
public open override /*1*/ val v: kotlin.Int = 10
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun i(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
private final class PrivateImpl : I4 {
public constructor PrivateImpl()
public open override /*1*/ val v: kotlin.Int = 10
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ fun i(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,3 +1,5 @@
// SKIP_TXT
private class Foo {
fun method() {}
}
@@ -1,18 +0,0 @@
package
public fun f(): kotlin.Unit
private final class Foo {
public constructor Foo()
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public final fun method(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
public interface I {
public abstract fun bar(): kotlin.Unit
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,14 +1,16 @@
public class Foo(<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>val bar: Int<!>, private var bar2: String, internal var bar3: Long, public var bar4: Int) {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>var simple: Int<!> = 10
// SKIP_TXT
public class Foo(<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>val bar<!>: Int, private var bar2: String, internal var bar3: Long, public var bar4: Int) {
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>var simple<!>: Int = 10
public var simple2: Int = 10
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>val withGetter: Int<!>
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>val withGetter<!>: Int
get() = 10
public val withGetter2: Int
get() = 10
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>var getterAndSetter: Int<!> = 10
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>var getterAndSetter<!>: Int = 10
get() = field
set(v) { field = v }
@@ -1,18 +0,0 @@
package
public final class Foo {
public constructor Foo(/*0*/ bar: kotlin.Int, /*1*/ bar2: kotlin.String, /*2*/ bar3: kotlin.Long, /*3*/ bar4: kotlin.Int)
public final val bar: kotlin.Int
private final var bar2: kotlin.String
internal final var bar3: kotlin.Long
public final var bar4: kotlin.Int
public final var getterAndSetter: kotlin.Int
public final var getterAndSetter2: kotlin.Int
public final var simple: kotlin.Int
public final var simple2: kotlin.Int
public final val withGetter: kotlin.Int
public final val withGetter2: kotlin.Int
public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean
public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int
public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String
}
@@ -1,7 +1,9 @@
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun foo()<!> {}
// SKIP_TXT
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun foo<!>() {}
public fun foo2() {}
<!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE, NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun bar()<!> = 10
<!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>public fun bar2()<!> = 10
<!NO_EXPLICIT_VISIBILITY_IN_API_MODE!>fun <!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>bar<!><!>() = 10
public fun <!NO_EXPLICIT_RETURN_TYPE_IN_API_MODE!>bar2<!>() = 10
public fun bar3(): Int = 10
@@ -1,7 +0,0 @@
package
public fun bar(): kotlin.Int
public fun bar2(): kotlin.Int
public fun bar3(): kotlin.Int
public fun foo(): kotlin.Unit
public fun foo2(): kotlin.Unit