From ddda69c0a6ee98a5a39f5c4c0c1dd7e4e9da2e28 Mon Sep 17 00:00:00 2001 From: Erokhin Stanislav Date: Wed, 20 Nov 2013 16:14:00 +0400 Subject: [PATCH] JS Backend: hack nested object access --- .../translate/reference/QualifiedExpressionTranslator.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/reference/QualifiedExpressionTranslator.java b/js/js.translator/src/org/jetbrains/k2js/translate/reference/QualifiedExpressionTranslator.java index 03f2689f1f7..dea475ff59a 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/reference/QualifiedExpressionTranslator.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/reference/QualifiedExpressionTranslator.java @@ -27,6 +27,7 @@ import org.jetbrains.k2js.translate.utils.ErrorReportingUtils; import static org.jetbrains.k2js.translate.general.Translation.translateAsExpression; import static org.jetbrains.k2js.translate.utils.BindingUtils.getDescriptorForReferenceExpression; +import static org.jetbrains.k2js.translate.utils.JsAstUtils.setQualifier; import static org.jetbrains.k2js.translate.utils.PsiUtils.getNotNullSimpleNameSelector; import static org.jetbrains.k2js.translate.utils.PsiUtils.getSelector; @@ -72,7 +73,11 @@ public final class QualifiedExpressionTranslator { } //TODO: never get there if (selector instanceof JetSimpleNameExpression) { - return ReferenceTranslator.translateSimpleName((JetSimpleNameExpression)selector, context); + JsExpression simpleName = ReferenceTranslator.translateSimpleName((JetSimpleNameExpression) selector, context); + if (receiver != null) { // TODO: hack for nested Object + setQualifier(simpleName, receiver); + } + return simpleName; } throw new AssertionError("Unexpected qualified expression: " + selector.getText()); }