KT-14258 Optimize accesses to properties defined into companion
- Use direct access to property defined into companion object when it is possible rather than always use an accessor to access the property. - Use direct access will speedup runtime performance. - Avoid to generate useless accessors for companion properties. Fix of https://youtrack.jetbrains.com/issue/KT-14258
This commit is contained in:
committed by
Alexander Udalov
parent
fd244be9ca
commit
d0ed0c4049
@@ -0,0 +1,19 @@
|
||||
// Checks that accessor are not used because property can be accessed directly.
|
||||
|
||||
interface I {
|
||||
companion object {
|
||||
private var bar = "Companion Field from I"
|
||||
|
||||
fun test(): String {
|
||||
bar = "New value"
|
||||
return bar
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 1 GETSTATIC I\$Companion.bar
|
||||
// 2 PUTSTATIC I\$Companion.bar
|
||||
// 0 INVOKESTATIC I\$Companion.access\$getBar\$p
|
||||
// 0 INVOKESTATIC I\$Companion.access\$setBar\$cp
|
||||
// 0 INVOKESPECIAL I\$Companion.getBar
|
||||
// 0 INVOKESPECIAL I\$Companion.setBar
|
||||
Reference in New Issue
Block a user