Clean
This commit is contained in:
@@ -1931,11 +1931,8 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
if (directToField) {
|
if (directToField) {
|
||||||
receiver = StackValue.receiverWithoutReceiverArgument(receiver);
|
receiver = StackValue.receiverWithoutReceiverArgument(receiver);
|
||||||
}
|
}
|
||||||
StackValue.Property iValue =
|
|
||||||
intermediateValueForProperty(propertyDescriptor, directToField, isSuper ? (JetSuperExpression) r : null, receiver);
|
|
||||||
|
|
||||||
|
return intermediateValueForProperty(propertyDescriptor, directToField, isSuper ? (JetSuperExpression) r : null, receiver);
|
||||||
return iValue;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (descriptor instanceof ClassDescriptor) {
|
if (descriptor instanceof ClassDescriptor) {
|
||||||
@@ -2233,7 +2230,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
public StackValue invokeFunction(@NotNull Call call, @NotNull final ResolvedCall<?> resolvedCall, @NotNull final StackValue receiver) {
|
public StackValue invokeFunction(@NotNull Call call, @NotNull ResolvedCall<?> resolvedCall, @NotNull StackValue receiver) {
|
||||||
if (resolvedCall instanceof VariableAsFunctionResolvedCall) {
|
if (resolvedCall instanceof VariableAsFunctionResolvedCall) {
|
||||||
return invokeFunction(call, ((VariableAsFunctionResolvedCall) resolvedCall).getFunctionCall(), receiver);
|
return invokeFunction(call, ((VariableAsFunctionResolvedCall) resolvedCall).getFunctionCall(), receiver);
|
||||||
}
|
}
|
||||||
@@ -3272,7 +3269,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
boolean keepReturnValue = Boolean.TRUE.equals(bindingContext.get(VARIABLE_REASSIGNMENT, expression))
|
boolean keepReturnValue = Boolean.TRUE.equals(bindingContext.get(VARIABLE_REASSIGNMENT, expression))
|
||||||
|| !KotlinBuiltIns.getInstance().getUnitType().equals(descriptor.getReturnType());
|
|| !KotlinBuiltIns.getInstance().getUnitType().equals(descriptor.getReturnType());
|
||||||
|
|
||||||
callAugAssignMethod(expression, resolvedCall, (Callable) callable, lhsType, keepReturnValue);
|
callAugAssignMethod(expression, resolvedCall, callable, lhsType, keepReturnValue);
|
||||||
|
|
||||||
return StackValue.none();
|
return StackValue.none();
|
||||||
}
|
}
|
||||||
@@ -3632,7 +3629,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
boolean isGetter = "get".equals(operationDescriptor.getName().asString());
|
boolean isGetter = "get".equals(operationDescriptor.getName().asString());
|
||||||
|
|
||||||
|
|
||||||
Callable callable = resolveToCallable(operationDescriptor, false, isGetter ? resolvedGetCall : resolvedSetCall );
|
Callable callable = resolveToCallable(operationDescriptor, false, isGetter ? resolvedGetCall : resolvedSetCall);
|
||||||
Callable callableMethod = resolveToCallableMethod(operationDescriptor, false, context);
|
Callable callableMethod = resolveToCallableMethod(operationDescriptor, false, context);
|
||||||
Type[] argumentTypes = callableMethod.getArgumentTypes();
|
Type[] argumentTypes = callableMethod.getArgumentTypes();
|
||||||
|
|
||||||
@@ -3662,29 +3659,23 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
ResolvedCall<FunctionDescriptor> resolvedCall = isGetter ? resolvedGetCall : resolvedSetCall;
|
ResolvedCall<FunctionDescriptor> resolvedCall = isGetter ? resolvedGetCall : resolvedSetCall;
|
||||||
assert resolvedCall != null : "couldn't find resolved call: " + expression.getText();
|
assert resolvedCall != null : "couldn't find resolved call: " + expression.getText();
|
||||||
|
|
||||||
if (callable instanceof Callable) {
|
ArgumentGenerator argumentGenerator =
|
||||||
Callable callableMethod = (Callable) callable;
|
new CallBasedArgumentGenerator(this, defaultCallGenerator,
|
||||||
ArgumentGenerator argumentGenerator =
|
resolvedCall.getResultingDescriptor().getValueParameters(),
|
||||||
new CallBasedArgumentGenerator(this, defaultCallGenerator,
|
callable.getValueParameterTypes());
|
||||||
resolvedCall.getResultingDescriptor().getValueParameters(),
|
|
||||||
callableMethod.getValueParameterTypes());
|
|
||||||
|
|
||||||
List<ResolvedValueArgument> valueArguments = resolvedCall.getValueArgumentsByIndex();
|
List<ResolvedValueArgument> valueArguments = resolvedCall.getValueArgumentsByIndex();
|
||||||
assert valueArguments != null : "Failed to arrange value arguments by index: " + operationDescriptor;
|
assert valueArguments != null : "Failed to arrange value arguments by index: " + operationDescriptor;
|
||||||
|
|
||||||
if (!isGetter) {
|
if (!isGetter) {
|
||||||
assert valueArguments.size() >= 2 : "Setter call should have at least 2 arguments: " + operationDescriptor;
|
assert valueArguments.size() >= 2 : "Setter call should have at least 2 arguments: " + operationDescriptor;
|
||||||
// Skip generation of the right hand side of an indexed assignment, which is the last value argument
|
// Skip generation of the right hand side of an indexed assignment, which is the last value argument
|
||||||
valueArguments.remove(valueArguments.size() - 1);
|
valueArguments.remove(valueArguments.size() - 1);
|
||||||
}
|
|
||||||
|
|
||||||
return new StackValue.CollectionElementReceiver(callable, receiver, resolvedGetCall, resolvedSetCall, isGetter, this,
|
|
||||||
argumentGenerator, valueArguments, array, arrayType, expression, argumentTypes);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
return new StackValue.CollectionElementReceiver(callable, receiver, resolvedGetCall, resolvedSetCall, isGetter, this,
|
|
||||||
null, null, array, arrayType, expression, argumentTypes);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return new StackValue.CollectionElementReceiver(callable, receiver, resolvedGetCall, resolvedSetCall, isGetter, this,
|
||||||
|
argumentGenerator, valueArguments, array, arrayType, expression, argumentTypes);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -3866,7 +3857,7 @@ The "returned" value of try expression with no finally is either the last expres
|
|||||||
final JetType rightType = bindingContext.get(TYPE, typeReference);
|
final JetType rightType = bindingContext.get(TYPE, typeReference);
|
||||||
assert rightType != null;
|
assert rightType != null;
|
||||||
|
|
||||||
final Type rightTypeAsm = boxType(asmType(rightType));
|
Type rightTypeAsm = boxType(asmType(rightType));
|
||||||
final JetExpression left = expression.getLeft();
|
final JetExpression left = expression.getLeft();
|
||||||
|
|
||||||
DeclarationDescriptor descriptor = rightType.getConstructor().getDeclarationDescriptor();
|
DeclarationDescriptor descriptor = rightType.getConstructor().getDeclarationDescriptor();
|
||||||
|
|||||||
Reference in New Issue
Block a user