Replaced PrefixExpression with LabeledExpression
where labeled expression is used Added 'visitLabeledExpression'
This commit is contained in:
+11
-13
@@ -291,25 +291,23 @@ public final class ExpressionVisitor extends TranslatorVisitor<JsNode> {
|
||||
return QualifiedExpressionTranslator.translateQualifiedExpression(expression, context);
|
||||
}
|
||||
|
||||
@Override
|
||||
public JsNode visitLabeledExpression(
|
||||
@NotNull JetLabeledExpression expression, TranslationContext context
|
||||
) {
|
||||
JetExpression baseExpression = expression.getBaseExpression();
|
||||
assert baseExpression != null;
|
||||
return new JsLabel(context.scope().declareName(getReferencedName(expression.getTargetLabel())),
|
||||
convertToStatement(baseExpression.accept(this, context))).source(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
@NotNull
|
||||
public JsNode visitPrefixExpression(
|
||||
@NotNull JetPrefixExpression expression,
|
||||
@NotNull TranslationContext context
|
||||
) {
|
||||
JetSimpleNameExpression operationReference = expression.getOperationReference();
|
||||
IElementType operationToken = operationReference.getReferencedNameElementType();
|
||||
JsNode result;
|
||||
if (operationToken == JetTokens.LABEL_IDENTIFIER) {
|
||||
JetExpression baseExpression = expression.getBaseExpression();
|
||||
assert baseExpression != null;
|
||||
result = new JsLabel(context.scope().declareName(getReferencedName(operationReference)),
|
||||
convertToStatement(baseExpression.accept(this, context)));
|
||||
}
|
||||
else {
|
||||
result = UnaryOperationTranslator.translate(expression, context);
|
||||
}
|
||||
return result.source(expression);
|
||||
return UnaryOperationTranslator.translate(expression, context).source(expression);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user