Unused symbol: handle functions with inline class parameters correctly
#KT-27357 Fixed
This commit is contained in:
+6
@@ -0,0 +1,6 @@
|
||||
inline class InlineClass(val x: Int)
|
||||
|
||||
// Unused
|
||||
fun foo(arg: InlineClass) {
|
||||
arg.x.hashCode()
|
||||
}
|
||||
@@ -78,4 +78,13 @@
|
||||
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused symbol</problem_class>
|
||||
<description>Constructor is never used</description>
|
||||
</problem>
|
||||
|
||||
<problem>
|
||||
<file>functionWithInlineClassParam.kt</file>
|
||||
<line>4</line>
|
||||
<module>light_idea_test_case</module>
|
||||
<entry_point TYPE="file" FQNAME="temp:///src/functionWithInlineClassParam.kt" />
|
||||
<problem_class severity="WARNING" attribute_key="NOT_USED_ELEMENT_ATTRIBUTES">Unused symbol</problem_class>
|
||||
<description>Function "foo" is never used</description>
|
||||
</problem>
|
||||
</problems>
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
// PROBLEM: none
|
||||
|
||||
inline class InlineClass(val x: Int)
|
||||
|
||||
fun <caret>takeInline(inlineClass: InlineClass) = 1
|
||||
|
||||
val call = takeInline(InlineClass(1))
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
// PROBLEM: none
|
||||
|
||||
inline class InlineClass(val x: Int)
|
||||
|
||||
fun InlineClass.<caret>takeInline() = 1
|
||||
|
||||
val call = InlineClass(1).takeInline()
|
||||
@@ -0,0 +1,7 @@
|
||||
// PROBLEM: none
|
||||
|
||||
inline class InlineClass(val x: Int) {
|
||||
fun <caret>takeInline() = 1
|
||||
}
|
||||
|
||||
val call = InlineClass(1).takeInline()
|
||||
Reference in New Issue
Block a user