JS Backend: hack nested object access

This commit is contained in:
Erokhin Stanislav
2013-11-20 16:14:00 +04:00
committed by Alexander Udalov
parent 97ad75a9f9
commit ddda69c0a6
@@ -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());
}