JS Backend: hack nested object access
This commit is contained in:
committed by
Alexander Udalov
parent
97ad75a9f9
commit
ddda69c0a6
+6
-1
@@ -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.general.Translation.translateAsExpression;
|
||||||
import static org.jetbrains.k2js.translate.utils.BindingUtils.getDescriptorForReferenceExpression;
|
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.getNotNullSimpleNameSelector;
|
||||||
import static org.jetbrains.k2js.translate.utils.PsiUtils.getSelector;
|
import static org.jetbrains.k2js.translate.utils.PsiUtils.getSelector;
|
||||||
|
|
||||||
@@ -72,7 +73,11 @@ public final class QualifiedExpressionTranslator {
|
|||||||
}
|
}
|
||||||
//TODO: never get there
|
//TODO: never get there
|
||||||
if (selector instanceof JetSimpleNameExpression) {
|
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());
|
throw new AssertionError("Unexpected qualified expression: " + selector.getText());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user