Add variance (in / out) modifier inspection #KT-11090 Fixed
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
<problems>
|
||||
<problem>
|
||||
<file>test.kt</file>
|
||||
<line>1</line>
|
||||
<module>light_idea_test_case</module>
|
||||
<entry_point TYPE="file" FQNAME="temp:///src/test.kt" />
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Type parameter can have 'in' or 'out' variance</problem_class>
|
||||
<description>Type parameter can have 'out' variance</description>
|
||||
</problem>
|
||||
<problem>
|
||||
<file>test.kt</file>
|
||||
<line>5</line>
|
||||
<module>light_idea_test_case</module>
|
||||
<entry_point TYPE="file" FQNAME="temp:///src/test.kt" />
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Type parameter can have 'in' or 'out' variance</problem_class>
|
||||
<description>Type parameter can have 'in' variance</description>
|
||||
</problem>
|
||||
<problem>
|
||||
<file>test.kt</file>
|
||||
<line>17</line>
|
||||
<module>light_idea_test_case</module>
|
||||
<entry_point TYPE="file" FQNAME="temp:///src/test.kt" />
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Type parameter can have 'in' or 'out' variance</problem_class>
|
||||
<description>Type parameter can have 'out' variance</description>
|
||||
</problem>
|
||||
<problem>
|
||||
<file>test.kt</file>
|
||||
<line>21</line>
|
||||
<module>light_idea_test_case</module>
|
||||
<entry_point TYPE="file" FQNAME="temp:///src/test.kt" />
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Type parameter can have 'in' or 'out' variance</problem_class>
|
||||
<description>Type parameter can have 'in' variance</description>
|
||||
</problem>
|
||||
<problem>
|
||||
<file>test.kt</file>
|
||||
<line>24</line>
|
||||
<module>light_idea_test_case</module>
|
||||
<entry_point TYPE="file" FQNAME="temp:///src/test.kt" />
|
||||
<problem_class severity="WARNING" attribute_key="WARNING_ATTRIBUTES">Type parameter can have 'in' or 'out' variance</problem_class>
|
||||
<description>Type parameter can have 'in' or 'out' variance</description>
|
||||
</problem>
|
||||
</problems>
|
||||
@@ -0,0 +1 @@
|
||||
// INSPECTION_CLASS: org.jetbrains.kotlin.idea.inspections.AddVarianceModifierInspection
|
||||
@@ -0,0 +1,24 @@
|
||||
interface EffectivelyOut<T> {
|
||||
fun foo(): T
|
||||
val bar: T
|
||||
}
|
||||
interface EffectivelyIn<T> {
|
||||
fun foo(arg: T)
|
||||
}
|
||||
interface Invariant1<T> {
|
||||
var bar: T
|
||||
}
|
||||
interface Invariant2<T> {
|
||||
fun T.foo(): T
|
||||
}
|
||||
interface Invariant3<T : Invariant1<T>> {
|
||||
fun T.foo()
|
||||
}
|
||||
abstract class AbstractOut<T> {
|
||||
abstract val foo: T
|
||||
private var bar = foo
|
||||
}
|
||||
abstract class AbstractIn<T>(private val foo: T) {
|
||||
fun bar(arg: T) = foo == arg
|
||||
}
|
||||
interface Empty<T>
|
||||
Reference in New Issue
Block a user