Generate line numbers for RHS of elvis expression if both LHS and RHS

are at the same line.
 #KT-32689 Fixed
This commit is contained in:
Ilmir Usmanov
2019-07-22 15:24:37 +03:00
parent 1f36f60f43
commit 56b6b957d1
5 changed files with 62 additions and 0 deletions
@@ -3809,6 +3809,11 @@ public class ExpressionCodegen extends KtVisitor<StackValue, StackValue> impleme
v.goTo(end);
v.mark(ifNull);
Integer leftLineNumber = CodegenUtil.getLineNumberForElement(left, false);
Integer rightLineNumber = CodegenUtil.getLineNumberForElement(expression.getRight(), false);
if (rightLineNumber != null && rightLineNumber.equals(leftLineNumber)) {
v.visitLineNumber(rightLineNumber, ifNull);
}
v.pop();
gen(expression.getRight(), exprType, exprKotlinType);
v.mark(end);