Don't generate setters for trivial private property setters
This change will prevent the compiler for generating Java bytecode for private property setters that are trivial. Since Kotlin uses direct field access for private properties, it will result in the private setter never been used and since it cannot be accessed by any other class without reflection, the setter cannot be covered by code coverage tools. See https://youtrack.jetbrains.com/issue/KT-20344 for the related YouTrack issue.
This commit is contained in:
committed by
Alexander Udalov
parent
b1e82c78da
commit
05f6ed40f1
@@ -40,13 +40,11 @@
|
||||
{"visibility": "internal", "declaration": "final fun <set-internalVar>(<set-?>: kotlin.String): kotlin.Unit", "name": "setInternalVar$test_module", "desc": "(Ljava/lang/String;)V"},
|
||||
{"visibility": "internal", "declaration": "final lateinit var internalVarPrivateSet: kotlin.String", "name": "internalVarPrivateSet", "desc": "Ljava/lang/String;"},
|
||||
{"visibility": "internal", "declaration": "final fun <get-internalVarPrivateSet>(): kotlin.String", "name": "getInternalVarPrivateSet$test_module", "desc": "()Ljava/lang/String;"},
|
||||
{"visibility": "private", "declaration": "final fun <set-internalVarPrivateSet>(<set-?>: kotlin.String): kotlin.Unit", "name": "setInternalVarPrivateSet", "desc": "(Ljava/lang/String;)V"},
|
||||
{"visibility": "protected", "declaration": "final lateinit var protectedVar: kotlin.String", "name": "protectedVar", "desc": "Ljava/lang/String;"},
|
||||
{"visibility": "protected", "declaration": "final fun <get-protectedVar>(): kotlin.String", "name": "getProtectedVar", "desc": "()Ljava/lang/String;"},
|
||||
{"visibility": "protected", "declaration": "final fun <set-protectedVar>(<set-?>: kotlin.String): kotlin.Unit", "name": "setProtectedVar", "desc": "(Ljava/lang/String;)V"},
|
||||
{"visibility": "protected", "declaration": "final lateinit var protectedVarPrivateSet: kotlin.String", "name": "protectedVarPrivateSet", "desc": "Ljava/lang/String;"},
|
||||
{"visibility": "protected", "declaration": "final fun <get-protectedVarPrivateSet>(): kotlin.String", "name": "getProtectedVarPrivateSet", "desc": "()Ljava/lang/String;"},
|
||||
{"visibility": "private", "declaration": "final fun <set-protectedVarPrivateSet>(<set-?>: kotlin.String): kotlin.Unit", "name": "setProtectedVarPrivateSet", "desc": "(Ljava/lang/String;)V"},
|
||||
{"visibility": "private", "declaration": "final lateinit var privateVar: kotlin.Any", "name": "privateVar", "desc": "Ljava/lang/Object;"},
|
||||
{"visibility": "public", "declaration": "constructor ClassWithLateinit()", "name": "<init>", "desc": "()V"}
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user