Get rid of FIELD_IDENTIFIER: stubs with '$' removed
This commit is contained in:
+2
-2
@@ -757,7 +757,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor {
|
|||||||
// a[i]++/-- takes special treatment because it is actually let j = i, arr = a in arr.set(j, a.get(j).inc())
|
// a[i]++/-- takes special treatment because it is actually let j = i, arr = a in arr.set(j, a.get(j).inc())
|
||||||
if ((operationType == KtTokens.PLUSPLUS || operationType == KtTokens.MINUSMINUS) && baseExpression instanceof KtArrayAccessExpression) {
|
if ((operationType == KtTokens.PLUSPLUS || operationType == KtTokens.MINUSMINUS) && baseExpression instanceof KtArrayAccessExpression) {
|
||||||
KtExpression
|
KtExpression
|
||||||
stubExpression = ExpressionTypingUtils.createFakeExpressionOfType(baseExpression.getProject(), context.trace, "$e", type);
|
stubExpression = ExpressionTypingUtils.createFakeExpressionOfType(baseExpression.getProject(), context.trace, "e", type);
|
||||||
TemporaryBindingTrace temporaryBindingTrace = TemporaryBindingTrace
|
TemporaryBindingTrace temporaryBindingTrace = TemporaryBindingTrace
|
||||||
.create(context.trace, "trace to resolve array access set method for unary expression", expression);
|
.create(context.trace, "trace to resolve array access set method for unary expression", expression);
|
||||||
ExpressionTypingContext newContext = context.replaceBindingTrace(temporaryBindingTrace);
|
ExpressionTypingContext newContext = context.replaceBindingTrace(temporaryBindingTrace);
|
||||||
@@ -788,7 +788,7 @@ public class BasicExpressionTypingVisitor extends ExpressionTypingVisitor {
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
context.trace.record(BindingContext.VARIABLE_REASSIGNMENT, expression);
|
context.trace.record(BindingContext.VARIABLE_REASSIGNMENT, expression);
|
||||||
KtExpression stubExpression = ExpressionTypingUtils.createFakeExpressionOfType(baseExpression.getProject(), context.trace, "$e", type);
|
KtExpression stubExpression = ExpressionTypingUtils.createFakeExpressionOfType(baseExpression.getProject(), context.trace, "e", type);
|
||||||
checkLValue(context.trace, context, baseExpression, stubExpression);
|
checkLValue(context.trace, context, baseExpression, stubExpression);
|
||||||
}
|
}
|
||||||
// x++ type is x type, but ++x type is x.inc() type
|
// x++ type is x type, but ++x type is x.inc() type
|
||||||
|
|||||||
Reference in New Issue
Block a user