From afceec427d2307e2683ad941a3ebb9bcca68cbbf Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Thu, 20 Nov 2014 16:34:40 +0300 Subject: [PATCH] Intrinsic arguments parameter annotated with NotNull --- .../backend/src/org/jetbrains/jet/codegen/StackValue.java | 5 +++-- .../jetbrains/jet/codegen/intrinsics/ArrayIterator.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/ArraySet.java | 2 +- .../org/jetbrains/jet/codegen/intrinsics/ArraySize.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/Clone.java | 2 +- .../org/jetbrains/jet/codegen/intrinsics/CompareTo.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/Concat.java | 2 +- .../org/jetbrains/jet/codegen/intrinsics/CopyToArray.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/Equals.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/HashCode.java | 2 +- .../jetbrains/jet/codegen/intrinsics/IdentityEquals.java | 2 +- .../org/jetbrains/jet/codegen/intrinsics/Increment.java | 7 +------ .../jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java | 4 ++-- .../src/org/jetbrains/jet/codegen/intrinsics/Inv.java | 2 +- .../org/jetbrains/jet/codegen/intrinsics/IteratorNext.java | 2 +- .../jetbrains/jet/codegen/intrinsics/JavaClassArray.java | 2 +- .../jet/codegen/intrinsics/JavaClassFunction.java | 2 +- .../jet/codegen/intrinsics/JavaClassProperty.java | 2 +- .../jet/codegen/intrinsics/MonitorInstruction.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/NewArray.java | 2 +- .../org/jetbrains/jet/codegen/intrinsics/NumberCast.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/RangeTo.java | 2 +- .../jetbrains/jet/codegen/intrinsics/StringGetChar.java | 4 ++-- .../org/jetbrains/jet/codegen/intrinsics/StringPlus.java | 2 +- .../src/org/jetbrains/jet/codegen/intrinsics/ToString.java | 2 +- 26 files changed, 30 insertions(+), 34 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java index 7fac9873bec..a79f8f4b42f 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/StackValue.java @@ -41,6 +41,7 @@ import org.jetbrains.org.objectweb.asm.Type; import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter; import org.jetbrains.org.objectweb.asm.commons.Method; +import java.util.Collections; import java.util.List; import static org.jetbrains.jet.codegen.AsmUtil.*; @@ -1004,7 +1005,7 @@ public abstract class StackValue { ((CallableMethod) getter).invokeWithNotNullAssertion(v, state, resolvedGetCall); } else { - StackValue result = ((IntrinsicMethod) getter).generate(codegen, this.type, null, null, null); + StackValue result = ((IntrinsicMethod) getter).generate(codegen, this.type, null, Collections.emptyList(), null); result.put(result.type, v); } coerceTo(type, v); @@ -1069,7 +1070,7 @@ public abstract class StackValue { } else { //noinspection ConstantConditions - StackValue result = ((IntrinsicMethod) setter).generate(codegen, null, null, null, null); + StackValue result = ((IntrinsicMethod) setter).generate(codegen, null, null, Collections.emptyList(), null); result.put(result.type, v); } } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIterator.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIterator.java index 6cdaedd56cb..49348b66591 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIterator.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIterator.java @@ -49,7 +49,7 @@ public class ArrayIterator extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { receiver.put(receiver.type, v); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArraySet.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArraySet.java index ccf549a215e..e050cb3c990 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArraySet.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArraySet.java @@ -36,7 +36,7 @@ public class ArraySet extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { receiver.put(receiver.type, v); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArraySize.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArraySize.java index ba2afe045fa..689cd5910fb 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArraySize.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArraySize.java @@ -34,7 +34,7 @@ public class ArraySize extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { receiver.put(receiver.type, v); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java index 737ff5ae2a5..5d34352e9fa 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/BinaryOp.java @@ -44,7 +44,7 @@ public class BinaryOp extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { assert isPrimitive(returnType) : "Return type of BinaryOp intrinsic should be of primitive type : " + returnType; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Clone.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Clone.java index 0aa71a07f05..380342d9ee9 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Clone.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Clone.java @@ -43,7 +43,7 @@ public class Clone extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, @Nullable StackValue receiver ) { ResolvedCall resolvedCall = getResolvedCallWithAssert(((JetElement) element), codegen.getBindingContext()); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/CompareTo.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/CompareTo.java index 913c597d9f7..9a77078d71a 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/CompareTo.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/CompareTo.java @@ -37,7 +37,7 @@ public class CompareTo extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, StackValue receiver ) { JetExpression argument; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Concat.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Concat.java index cfb9a428378..c82076b4675 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Concat.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Concat.java @@ -39,7 +39,7 @@ public class Concat extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { if (receiver == null || receiver == StackValue.none()) { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/CopyToArray.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/CopyToArray.java index d8eeddb1deb..a93ec1f6058 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/CopyToArray.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/CopyToArray.java @@ -38,7 +38,7 @@ public class CopyToArray extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, @Nullable StackValue receiver ) { assert receiver != null; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Equals.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Equals.java index 90c8cf57abc..6090b2aca82 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Equals.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Equals.java @@ -39,7 +39,7 @@ public class Equals extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { StackValue leftExpr; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/HashCode.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/HashCode.java index 1b0dd50ca12..1f78fd6b7ee 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/HashCode.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/HashCode.java @@ -37,7 +37,7 @@ public class HashCode extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, StackValue receiver ) { receiver.put(AsmTypeConstants.OBJECT_TYPE, v); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IdentityEquals.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IdentityEquals.java index be277a35a16..5e973860274 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IdentityEquals.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IdentityEquals.java @@ -39,7 +39,7 @@ public class IdentityEquals extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { StackValue left; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Increment.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Increment.java index d6e9cec9196..f57423fbde7 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Increment.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Increment.java @@ -21,10 +21,6 @@ import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.codegen.ExpressionCodegen; import org.jetbrains.jet.codegen.StackValue; import org.jetbrains.jet.lang.psi.JetExpression; -import org.jetbrains.jet.lang.psi.JetPsiUtil; -import org.jetbrains.jet.lang.psi.JetReferenceExpression; -import org.jetbrains.jet.lang.types.JetType; -import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns; import org.jetbrains.org.objectweb.asm.Type; import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter; @@ -32,7 +28,6 @@ import java.util.List; import static org.jetbrains.jet.codegen.AsmUtil.genIncrement; import static org.jetbrains.jet.codegen.AsmUtil.isPrimitive; -import static org.jetbrains.jet.lang.resolve.BindingContext.EXPRESSION_TYPE; public class Increment extends IntrinsicMethod { private final int myDelta; @@ -48,7 +43,7 @@ public class Increment extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { assert isPrimitive(returnType) : "Return type of Increment intrinsic should be of primitive type : " + returnType; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java index 7ca04b98331..a390002fffa 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IntrinsicMethod.java @@ -35,7 +35,7 @@ public abstract class IntrinsicMethod implements Callable { @NotNull final ExpressionCodegen codegen, @NotNull final Type returnType, @Nullable final PsiElement element, - @Nullable final List arguments, + @NotNull final List arguments, @Nullable final StackValue receiver ) { return StackValue.operation(returnType, new Function1() { @@ -55,7 +55,7 @@ public abstract class IntrinsicMethod implements Callable { @NotNull InstructionAdapter v, @NotNull Type returnType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, @Nullable StackValue receiver ); } diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Inv.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Inv.java index 5be5a6d2608..b199d4686f9 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Inv.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/Inv.java @@ -37,7 +37,7 @@ public class Inv extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { assert isPrimitive(returnType) : "Return type of Inv intrinsic should be of primitive type : " + returnType; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IteratorNext.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IteratorNext.java index 7d80e0d649d..df7934918ac 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IteratorNext.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/IteratorNext.java @@ -37,7 +37,7 @@ public class IteratorNext extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { String name; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassArray.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassArray.java index daf5fb2c6f1..274d7406c0c 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassArray.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassArray.java @@ -43,7 +43,7 @@ public class JavaClassArray extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, StackValue receiver ) { assert element != null : "Element should not be null"; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassFunction.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassFunction.java index 6d2a146ad11..5b3ec6e027e 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassFunction.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassFunction.java @@ -43,7 +43,7 @@ public class JavaClassFunction extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type expectedType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, StackValue receiver ) { ResolvedCall resolvedCall = CallUtilPackage.getResolvedCallWithAssert( diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassProperty.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassProperty.java index b29cf121cab..77dcc5c572d 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassProperty.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/JavaClassProperty.java @@ -40,7 +40,7 @@ public class JavaClassProperty extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, StackValue receiver ) { Type type = receiver.type; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/MonitorInstruction.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/MonitorInstruction.java index 263b102b31f..501bac9e5c6 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/MonitorInstruction.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/MonitorInstruction.java @@ -54,7 +54,7 @@ public class MonitorInstruction extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, @Nullable PsiElement element, - @Nullable List arguments, + @NotNull List arguments, @Nullable StackValue receiver ) { assert element != null : "Element should not be null"; diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/NewArray.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/NewArray.java index 88bc359540c..6c799167a90 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/NewArray.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/NewArray.java @@ -35,7 +35,7 @@ public class NewArray extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { codegen.generateNewArray((JetCallExpression) element).put(returnType, v); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/NumberCast.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/NumberCast.java index f9aad84e496..a0fe1d53a57 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/NumberCast.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/NumberCast.java @@ -34,7 +34,7 @@ public class NumberCast extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { receiver.put(returnType, v); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/RangeTo.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/RangeTo.java index e5a539e5683..197de40e09c 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/RangeTo.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/RangeTo.java @@ -37,7 +37,7 @@ public class RangeTo extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { v.anew(returnType); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StringGetChar.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StringGetChar.java index e6fc13db27b..385e9fb40de 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StringGetChar.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StringGetChar.java @@ -34,13 +34,13 @@ public class StringGetChar extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { if (receiver != null) { receiver.put(receiver.type, v); } - if (arguments != null) { + if (!arguments.isEmpty()) { codegen.gen(arguments.get(0)).put(Type.INT_TYPE, v); } v.invokeinterface("java/lang/CharSequence", "charAt", "(I)C"); diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StringPlus.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StringPlus.java index a2253adc671..5c67d63b979 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StringPlus.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/StringPlus.java @@ -37,7 +37,7 @@ public class StringPlus extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { if (receiver == null || receiver == StackValue.none()) { diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ToString.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ToString.java index 8f12a6f4c4a..85e1fe7b937 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ToString.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ToString.java @@ -36,7 +36,7 @@ public class ToString extends IntrinsicMethod { @NotNull InstructionAdapter v, @NotNull Type returnType, PsiElement element, - List arguments, + @NotNull List arguments, StackValue receiver ) { genToString(v, receiver, receiver.type).put(returnType, v);