From 97955776c48f8ed8108ded5e92ef1a512155fddc Mon Sep 17 00:00:00 2001 From: Erokhin Stanislav Date: Thu, 30 Jan 2014 18:36:15 +0400 Subject: [PATCH] JS backend: simplify DelegatePropertyAccessIntrinsic --- .../translate/reference/VarialbeCallCases.kt | 24 ++++++------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/VarialbeCallCases.kt b/js/js.translator/src/org/jetbrains/k2js/translate/reference/VarialbeCallCases.kt index ef30577ee9b..a78f480506a 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/VarialbeCallCases.kt +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/VarialbeCallCases.kt @@ -75,7 +75,10 @@ class DefaultVariableAccessCase(callInfo: VariableAccessInfo) : VariableAccessCa class DelegatePropertyAccessIntrinsic(callInfo: VariableAccessInfo) : VariableAccessCase(callInfo), DelegateIntrinsic { override fun VariableAccessInfo.canBeApply(): Boolean { - return variableDescriptor is PropertyDescriptor + if(variableDescriptor is PropertyDescriptor) { + return isGetAccess() || (variableDescriptor as PropertyDescriptor).isVar() + } + return false } override fun VariableAccessInfo.getArgs(): List { @@ -88,22 +91,9 @@ class DelegatePropertyAccessIntrinsic(callInfo: VariableAccessInfo) : VariableAc override fun VariableAccessInfo.getDescriptor(): CallableDescriptor { val propertyDescriptor = variableDescriptor as PropertyDescriptor return if (isGetAccess()) { - var getter = propertyDescriptor.getGetter() - if (getter == null) { - val getterImpl = DescriptorFactory.createDefaultGetter(propertyDescriptor) - getterImpl.initialize(propertyDescriptor.getType()) - ((propertyDescriptor as PropertyDescriptorImpl)).initialize(getterImpl, propertyDescriptor.getSetter()) - getter = getterImpl - } - getter!! + propertyDescriptor.getGetter()!! } else { - var setter = propertyDescriptor.getSetter() - if (setter == null) { - val setterImpl = DescriptorFactory.createDefaultSetter(propertyDescriptor) - ((propertyDescriptor as PropertyDescriptorImpl)).initialize(propertyDescriptor.getGetter(), setterImpl) - setter = setterImpl - } - setter!! + propertyDescriptor.getSetter()!! } } } @@ -126,4 +116,4 @@ fun createVariableAccessCases(): CallCaseDispatcher