From cf3615d2798970a3c020b25393d01896cce60a4e Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Tue, 8 Aug 2017 20:01:27 +0300 Subject: [PATCH] Kotlin Facet: Fix element ordering in compiler arguments XML Do not rely on method list as it's ordered differently --- .../jetbrains/kotlin/config/facetSerialization.kt | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt b/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt index d6d4cd90c22..1e0f72fe5e3 100644 --- a/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt +++ b/idea/idea-jps-common/src/org/jetbrains/kotlin/config/facetSerialization.kt @@ -24,8 +24,6 @@ import org.jdom.DataConversionException import org.jdom.Element import org.jetbrains.kotlin.cli.common.arguments.* import org.jetbrains.kotlin.load.java.JvmAbi -import org.jetbrains.kotlin.load.java.propertyNameByGetMethodName -import org.jetbrains.kotlin.name.Name import java.lang.reflect.Modifier import kotlin.reflect.KClass import kotlin.reflect.full.superclasses @@ -179,13 +177,13 @@ private fun Class<*>.computeNormalPropertyOrdering(): Map { val result = LinkedHashMap() var count = 0 generateSequence(this) { it.superclass }.forEach { clazz -> - for (method in clazz.declaredMethods) { - if (method.modifiers and Modifier.STATIC != 0) continue + for (field in clazz.declaredFields) { + if (field.modifiers and Modifier.STATIC != 0) continue - val name = method.name - if (!JvmAbi.isGetterName(name)) continue - - val propertyName = propertyNameByGetMethodName(Name.identifier(name))?.asString() ?: continue + var propertyName = field.name + if (propertyName.endsWith(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX)) { + propertyName = propertyName.dropLast(JvmAbi.DELEGATED_PROPERTY_NAME_SUFFIX.length) + } result[propertyName] = count++ }