Optimize KotlinPropertyAccessorsReferenceSearcher for case of no kt-files
Property names by accessors can be computed without resolving java descriptors #KT-11477 Fixed #KT-16890 Fixed
This commit is contained in:
+7
-5
@@ -59,11 +59,7 @@ interface SyntheticJavaPropertyDescriptor : PropertyDescriptor {
|
||||
|
||||
val originalGetterOrSetter = getterOrSetter.original
|
||||
|
||||
val names = listOfNotNull(
|
||||
propertyNameByGetMethodName(name),
|
||||
propertyNameBySetMethodName(name, withIsPrefix = true),
|
||||
propertyNameBySetMethodName(name, withIsPrefix = false)
|
||||
)
|
||||
val names = propertyNamesByAccessorName(name)
|
||||
|
||||
return names
|
||||
.flatMap {
|
||||
@@ -76,6 +72,12 @@ interface SyntheticJavaPropertyDescriptor : PropertyDescriptor {
|
||||
.firstOrNull { originalGetterOrSetter == it.getMethod || originalGetterOrSetter == it.setMethod }
|
||||
}
|
||||
|
||||
fun propertyNamesByAccessorName(name: Name): List<Name> = listOfNotNull(
|
||||
propertyNameByGetMethodName(name),
|
||||
propertyNameBySetMethodName(name, withIsPrefix = true),
|
||||
propertyNameBySetMethodName(name, withIsPrefix = false)
|
||||
)
|
||||
|
||||
fun findByGetterOrSetter(getterOrSetter: FunctionDescriptor, syntheticScope: SyntheticScope) =
|
||||
findByGetterOrSetter(getterOrSetter,
|
||||
object : SyntheticScopes {
|
||||
|
||||
Reference in New Issue
Block a user