From 0daa6675bd1ec6aada4d40472ffff286388f57a4 Mon Sep 17 00:00:00 2001 From: Anton Bannykh Date: Wed, 6 Feb 2019 20:07:46 +0300 Subject: [PATCH] JS: comments, review fixes --- .../inline/context/FunctionDefinitionLoader.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/FunctionDefinitionLoader.kt b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/FunctionDefinitionLoader.kt index edaad1a8d91..5ef90d43cb6 100644 --- a/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/FunctionDefinitionLoader.kt +++ b/js/js.inliner/src/org/jetbrains/kotlin/js/inline/context/FunctionDefinitionLoader.kt @@ -92,13 +92,8 @@ class FunctionDefinitionLoader( private fun lookUpFunctionIndirect(call: JsInvocation, fragment: JsProgramFragment): InlineFunctionDefinition? { - /** remove ending `()` */ - val callQualifier: JsExpression = if (isCallInvocation(call)) { - (call.qualifier as JsNameRef).qualifier!! - } else { - call.qualifier - } - + /** Try loading via `descriptor` metadata. + * In case of private inline properties that's the only way... */ call.descriptor?.let { descriptor -> fragmentInfo[fragment]?.let { info -> info.localAccessors[descriptor]?.let { fn -> @@ -109,6 +104,13 @@ class FunctionDefinitionLoader( } } + /** remove ending `()` */ + val callQualifier: JsExpression = if (isCallInvocation(call)) { + (call.qualifier as JsNameRef).qualifier!! + } else { + call.qualifier + } + /** process cases 2, 3 */ val qualifier = callQualifier.transitiveStaticRef return when (qualifier) {