From a1f365d17cfb88511ad949f5046be54d65fbc765 Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Sat, 4 Apr 2015 12:29:38 +0300 Subject: [PATCH] Clean --- .../kotlin/codegen/ExpressionCodegen.java | 47 ++++++++----------- 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java index e502e65a8a8..60cd61c4e7c 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/ExpressionCodegen.java @@ -1931,11 +1931,8 @@ public class ExpressionCodegen extends JetVisitor implem if (directToField) { receiver = StackValue.receiverWithoutReceiverArgument(receiver); } - StackValue.Property iValue = - intermediateValueForProperty(propertyDescriptor, directToField, isSuper ? (JetSuperExpression) r : null, receiver); - - return iValue; + return intermediateValueForProperty(propertyDescriptor, directToField, isSuper ? (JetSuperExpression) r : null, receiver); } if (descriptor instanceof ClassDescriptor) { @@ -2233,7 +2230,7 @@ public class ExpressionCodegen extends JetVisitor implem } @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) { return invokeFunction(call, ((VariableAsFunctionResolvedCall) resolvedCall).getFunctionCall(), receiver); } @@ -3272,7 +3269,7 @@ public class ExpressionCodegen extends JetVisitor implem boolean keepReturnValue = Boolean.TRUE.equals(bindingContext.get(VARIABLE_REASSIGNMENT, expression)) || !KotlinBuiltIns.getInstance().getUnitType().equals(descriptor.getReturnType()); - callAugAssignMethod(expression, resolvedCall, (Callable) callable, lhsType, keepReturnValue); + callAugAssignMethod(expression, resolvedCall, callable, lhsType, keepReturnValue); return StackValue.none(); } @@ -3632,7 +3629,7 @@ public class ExpressionCodegen extends JetVisitor implem 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); Type[] argumentTypes = callableMethod.getArgumentTypes(); @@ -3662,29 +3659,23 @@ public class ExpressionCodegen extends JetVisitor implem ResolvedCall resolvedCall = isGetter ? resolvedGetCall : resolvedSetCall; assert resolvedCall != null : "couldn't find resolved call: " + expression.getText(); - if (callable instanceof Callable) { - Callable callableMethod = (Callable) callable; - ArgumentGenerator argumentGenerator = - new CallBasedArgumentGenerator(this, defaultCallGenerator, - resolvedCall.getResultingDescriptor().getValueParameters(), - callableMethod.getValueParameterTypes()); + ArgumentGenerator argumentGenerator = + new CallBasedArgumentGenerator(this, defaultCallGenerator, + resolvedCall.getResultingDescriptor().getValueParameters(), + callable.getValueParameterTypes()); - List valueArguments = resolvedCall.getValueArgumentsByIndex(); - assert valueArguments != null : "Failed to arrange value arguments by index: " + operationDescriptor; + List valueArguments = resolvedCall.getValueArgumentsByIndex(); + assert valueArguments != null : "Failed to arrange value arguments by index: " + operationDescriptor; - if (!isGetter) { - 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 - 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); + if (!isGetter) { + 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 + valueArguments.remove(valueArguments.size() - 1); } + + return new StackValue.CollectionElementReceiver(callable, receiver, resolvedGetCall, resolvedSetCall, isGetter, this, + argumentGenerator, valueArguments, array, arrayType, expression, argumentTypes); + } @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); assert rightType != null; - final Type rightTypeAsm = boxType(asmType(rightType)); + Type rightTypeAsm = boxType(asmType(rightType)); final JetExpression left = expression.getLeft(); DeclarationDescriptor descriptor = rightType.getConstructor().getDeclarationDescriptor();