Generation of ++ and += fixed for platform types
This commit is contained in:
@@ -3005,9 +3005,10 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
StackValue value = gen(lhs); // receiver
|
StackValue value = gen(lhs); // receiver
|
||||||
value.dupReceiver(v); // receiver receiver
|
value.dupReceiver(v); // receiver receiver
|
||||||
value.put(lhsType, v); // receiver lhs
|
value.put(lhsType, v); // receiver lhs
|
||||||
((IntrinsicMethod) callable).generate(this, v, typeMapper.mapType(descriptor), expression,
|
Type returnType = typeMapper.mapType(descriptor);
|
||||||
|
((IntrinsicMethod) callable).generate(this, v, returnType, expression,
|
||||||
Collections.singletonList(expression.getRight()), StackValue.onStack(lhsType));
|
Collections.singletonList(expression.getRight()), StackValue.onStack(lhsType));
|
||||||
value.store(lhsType, v);
|
value.store(returnType, v);
|
||||||
return StackValue.none();
|
return StackValue.none();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -3137,7 +3138,8 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
throw new UnsupportedOperationException("Don't know how to generate this postfix expression: " + originalOperationName + " " + op);
|
throw new UnsupportedOperationException("Don't know how to generate this postfix expression: " + originalOperationName + " " + op);
|
||||||
}
|
}
|
||||||
|
|
||||||
Type asmType = expressionType(expression);
|
Type asmResultType = expressionType(expression);
|
||||||
|
Type asmBaseType = expressionType(expression.getBaseExpression());
|
||||||
DeclarationDescriptor cls = op.getContainingDeclaration();
|
DeclarationDescriptor cls = op.getContainingDeclaration();
|
||||||
|
|
||||||
int increment;
|
int increment;
|
||||||
@@ -3152,9 +3154,9 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
}
|
}
|
||||||
|
|
||||||
boolean isPrimitiveNumberClassDescriptor = isPrimitiveNumberClassDescriptor(cls);
|
boolean isPrimitiveNumberClassDescriptor = isPrimitiveNumberClassDescriptor(cls);
|
||||||
if (isPrimitiveNumberClassDescriptor) {
|
if (isPrimitiveNumberClassDescriptor && AsmUtil.isPrimitive(asmBaseType)) {
|
||||||
JetExpression operand = expression.getBaseExpression();
|
JetExpression operand = expression.getBaseExpression();
|
||||||
if (operand instanceof JetReferenceExpression && asmType == Type.INT_TYPE) {
|
if (operand instanceof JetReferenceExpression && asmResultType == Type.INT_TYPE) {
|
||||||
int index = indexOfLocal((JetReferenceExpression) operand);
|
int index = indexOfLocal((JetReferenceExpression) operand);
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
return StackValue.postIncrement(index, increment);
|
return StackValue.postIncrement(index, increment);
|
||||||
@@ -3171,8 +3173,8 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
pushReceiverAndValueViaDup(value, type); // receiver and new value
|
pushReceiverAndValueViaDup(value, type); // receiver and new value
|
||||||
|
|
||||||
Type storeType;
|
Type storeType;
|
||||||
if (isPrimitiveNumberClassDescriptor) {
|
if (isPrimitiveNumberClassDescriptor && AsmUtil.isPrimitive(asmBaseType)) {
|
||||||
genIncrement(asmType, increment, v);
|
genIncrement(asmResultType, increment, v);
|
||||||
storeType = type;
|
storeType = type;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -3181,7 +3183,7 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
|||||||
}
|
}
|
||||||
|
|
||||||
value.store(storeType, v);
|
value.store(storeType, v);
|
||||||
return StackValue.onStack(asmType); // old value
|
return StackValue.onStack(asmResultType); // old value
|
||||||
}
|
}
|
||||||
|
|
||||||
private void pushReceiverAndValueViaDup(StackValue value, Type type) {
|
private void pushReceiverAndValueViaDup(StackValue value, Type type) {
|
||||||
|
|||||||
@@ -18,18 +18,21 @@ package org.jetbrains.jet.codegen.intrinsics;
|
|||||||
|
|
||||||
import com.intellij.psi.PsiElement;
|
import com.intellij.psi.PsiElement;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
import org.jetbrains.org.objectweb.asm.Type;
|
|
||||||
import org.jetbrains.org.objectweb.asm.commons.InstructionAdapter;
|
|
||||||
import org.jetbrains.jet.codegen.ExpressionCodegen;
|
import org.jetbrains.jet.codegen.ExpressionCodegen;
|
||||||
import org.jetbrains.jet.codegen.StackValue;
|
import org.jetbrains.jet.codegen.StackValue;
|
||||||
import org.jetbrains.jet.lang.psi.JetExpression;
|
import org.jetbrains.jet.lang.psi.JetExpression;
|
||||||
import org.jetbrains.jet.lang.psi.JetParenthesizedExpression;
|
import org.jetbrains.jet.lang.psi.JetPsiUtil;
|
||||||
import org.jetbrains.jet.lang.psi.JetReferenceExpression;
|
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;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import static org.jetbrains.jet.codegen.AsmUtil.genIncrement;
|
import static org.jetbrains.jet.codegen.AsmUtil.genIncrement;
|
||||||
import static org.jetbrains.jet.codegen.AsmUtil.isPrimitive;
|
import static org.jetbrains.jet.codegen.AsmUtil.isPrimitive;
|
||||||
|
import static org.jetbrains.jet.lang.resolve.BindingContext.EXPRESSION_TYPE;
|
||||||
|
|
||||||
public class Increment extends IntrinsicMethod {
|
public class Increment extends IntrinsicMethod {
|
||||||
private final int myDelta;
|
private final int myDelta;
|
||||||
@@ -51,15 +54,15 @@ public class Increment extends IntrinsicMethod {
|
|||||||
assert isPrimitive(returnType) : "Return type of Increment intrinsic should be of primitive type : " + returnType;
|
assert isPrimitive(returnType) : "Return type of Increment intrinsic should be of primitive type : " + returnType;
|
||||||
|
|
||||||
if (arguments.size() > 0) {
|
if (arguments.size() > 0) {
|
||||||
JetExpression operand = arguments.get(0);
|
JetExpression operand = JetPsiUtil.deparenthesize(arguments.get(0));
|
||||||
while (operand instanceof JetParenthesizedExpression) {
|
|
||||||
operand = ((JetParenthesizedExpression) operand).getExpression();
|
|
||||||
}
|
|
||||||
if (operand instanceof JetReferenceExpression && returnType == Type.INT_TYPE) {
|
if (operand instanceof JetReferenceExpression && returnType == Type.INT_TYPE) {
|
||||||
int index = codegen.indexOfLocal((JetReferenceExpression) operand);
|
int index = codegen.indexOfLocal((JetReferenceExpression) operand);
|
||||||
if (index >= 0) {
|
if (index >= 0) {
|
||||||
StackValue.preIncrement(index, myDelta).put(returnType, v);
|
JetType operandType = codegen.getBindingContext().get(EXPRESSION_TYPE, operand);
|
||||||
return returnType;
|
if (operandType != null && KotlinBuiltIns.getInstance().isPrimitiveType(operandType)) {
|
||||||
|
StackValue.preIncrement(index, myDelta).put(returnType, v);
|
||||||
|
return returnType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
StackValue value = codegen.genQualified(receiver, operand);
|
StackValue value = codegen.genQualified(receiver, operand);
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
fun box(): String {
|
||||||
|
var x = 1
|
||||||
|
(@foo x)++
|
||||||
|
++(@foo x)
|
||||||
|
(x: Int)++
|
||||||
|
++(x: Int)
|
||||||
|
|
||||||
|
if (x != 5) return "Fail: $x"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
var x = l[0]
|
||||||
|
x = 2
|
||||||
|
if (x != 2) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = l[0] < 2
|
||||||
|
if (x != true) return "Fail: $x}"
|
||||||
|
val y = l[0] compareTo 2
|
||||||
|
if (y != -1) return "Fail (y): $y}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
var x = l[0]
|
||||||
|
var y = l[0]
|
||||||
|
l[0]--
|
||||||
|
--l[0]
|
||||||
|
x--
|
||||||
|
--y
|
||||||
|
if (l[0] != -1) return "Fail: ${l[0]}"
|
||||||
|
if (x != 0) return "Fail x: $x"
|
||||||
|
if (y != 0) return "Fail y: $y"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(2)
|
||||||
|
val x = l[0] / 2
|
||||||
|
if (x != 1) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = l[0] == 2
|
||||||
|
if (x != false) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = l[0].hashCode()
|
||||||
|
if (x != 1) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
var x = l[0]
|
||||||
|
var y = l[0]
|
||||||
|
l[0]++
|
||||||
|
++l[0]
|
||||||
|
x++
|
||||||
|
++y
|
||||||
|
if (l[0] != 3) return "Fail: ${l[0]}"
|
||||||
|
if (x != 2) return "Fail x: $x"
|
||||||
|
if (y != 2) return "Fail y: $y"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = l[0] - 1
|
||||||
|
if (x != 0) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(2)
|
||||||
|
val x = l[0] % 2
|
||||||
|
if (x != 0) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Boolean>()
|
||||||
|
l.add(true)
|
||||||
|
val x = !l[0]
|
||||||
|
if (x) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = l[0] != 1
|
||||||
|
if (x != false) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = l[0] + 1
|
||||||
|
if (x != 2) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
var x = l[0]
|
||||||
|
x += 1
|
||||||
|
l[0] += 1
|
||||||
|
if (l[0] != 2) return "Fail: ${l[0]}"
|
||||||
|
if (x != 2) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(2)
|
||||||
|
val sb = StringBuilder()
|
||||||
|
for (i in l[0]..3) {
|
||||||
|
sb.append(i)
|
||||||
|
}
|
||||||
|
if (sb.toString() != "23") return "Fail: $sb}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = l[0] * 2
|
||||||
|
if (x != 2) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = l[0].toShort()
|
||||||
|
if (x != 1.toShort()) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = "${l[0]}"
|
||||||
|
if (x != "1") return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1000)
|
||||||
|
|
||||||
|
val x = l[0] === 1000
|
||||||
|
if (x) return "Fail: $x"
|
||||||
|
val x1 = l[0] === 1
|
||||||
|
if (x1) return "Fail 1: $x"
|
||||||
|
val x2 = l[0] === l[0]
|
||||||
|
if (!x2) return "Fail 2: $x"
|
||||||
|
|
||||||
|
val y = l[0] identityEquals 1000
|
||||||
|
if (y) return "Fail (y): $y"
|
||||||
|
val y1 = l[0] identityEquals 1
|
||||||
|
if (y1) return "Fail (y1): $y"
|
||||||
|
val y2 = l[0] identityEquals l[0]
|
||||||
|
if (!y2) return "Fail (y2): $y"
|
||||||
|
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = -l[0]
|
||||||
|
if (x != -1) return "Fail: $x"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
fun box(): String {
|
||||||
|
val l = java.util.ArrayList<Int>()
|
||||||
|
l.add(1)
|
||||||
|
val x = +l[0]
|
||||||
|
if (x != 1) return "Fail: $x}"
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
+146
-1
@@ -30,7 +30,7 @@ import java.util.regex.Pattern;
|
|||||||
@SuppressWarnings("all")
|
@SuppressWarnings("all")
|
||||||
@TestMetadata("compiler/testData/codegen/box")
|
@TestMetadata("compiler/testData/codegen/box")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@InnerTestClasses({BlackBoxCodegenTestGenerated.Arrays.class, BlackBoxCodegenTestGenerated.BinaryOp.class, BlackBoxCodegenTestGenerated.Bridges.class, BlackBoxCodegenTestGenerated.BuiltinStubMethods.class, BlackBoxCodegenTestGenerated.Casts.class, BlackBoxCodegenTestGenerated.Classes.class, BlackBoxCodegenTestGenerated.Closures.class, BlackBoxCodegenTestGenerated.Constants.class, BlackBoxCodegenTestGenerated.ControlStructures.class, BlackBoxCodegenTestGenerated.DefaultArguments.class, BlackBoxCodegenTestGenerated.DelegatedProperty.class, BlackBoxCodegenTestGenerated.Elvis.class, BlackBoxCodegenTestGenerated.Enum.class, BlackBoxCodegenTestGenerated.ExclExcl.class, BlackBoxCodegenTestGenerated.ExtensionFunctions.class, BlackBoxCodegenTestGenerated.ExtensionProperties.class, BlackBoxCodegenTestGenerated.FakeOverride.class, BlackBoxCodegenTestGenerated.FieldRename.class, BlackBoxCodegenTestGenerated.Finally.class, BlackBoxCodegenTestGenerated.Functions.class, BlackBoxCodegenTestGenerated.InnerNested.class, BlackBoxCodegenTestGenerated.Instructions.class, BlackBoxCodegenTestGenerated.Intrinsics.class, BlackBoxCodegenTestGenerated.JavaInterop.class, BlackBoxCodegenTestGenerated.Labels.class, BlackBoxCodegenTestGenerated.LocalClasses.class, BlackBoxCodegenTestGenerated.MultiDecl.class, BlackBoxCodegenTestGenerated.Objects.class, BlackBoxCodegenTestGenerated.OperatorConventions.class, BlackBoxCodegenTestGenerated.Package.class, BlackBoxCodegenTestGenerated.PrimitiveTypes.class, BlackBoxCodegenTestGenerated.Properties.class, BlackBoxCodegenTestGenerated.Reflection.class, BlackBoxCodegenTestGenerated.Regressions.class, BlackBoxCodegenTestGenerated.SafeCall.class, BlackBoxCodegenTestGenerated.SamConstructors.class, BlackBoxCodegenTestGenerated.Strings.class, BlackBoxCodegenTestGenerated.Super.class, BlackBoxCodegenTestGenerated.SuperConstructorCall.class, BlackBoxCodegenTestGenerated.ToArray.class, BlackBoxCodegenTestGenerated.Traits.class, BlackBoxCodegenTestGenerated.TypeInfo.class, BlackBoxCodegenTestGenerated.TypeMapping.class, BlackBoxCodegenTestGenerated.UnaryOp.class, BlackBoxCodegenTestGenerated.Unit.class, BlackBoxCodegenTestGenerated.Vararg.class, BlackBoxCodegenTestGenerated.When.class})
|
@InnerTestClasses({BlackBoxCodegenTestGenerated.Arrays.class, BlackBoxCodegenTestGenerated.BinaryOp.class, BlackBoxCodegenTestGenerated.Bridges.class, BlackBoxCodegenTestGenerated.BuiltinStubMethods.class, BlackBoxCodegenTestGenerated.Casts.class, BlackBoxCodegenTestGenerated.Classes.class, BlackBoxCodegenTestGenerated.Closures.class, BlackBoxCodegenTestGenerated.Constants.class, BlackBoxCodegenTestGenerated.ControlStructures.class, BlackBoxCodegenTestGenerated.DefaultArguments.class, BlackBoxCodegenTestGenerated.DelegatedProperty.class, BlackBoxCodegenTestGenerated.Elvis.class, BlackBoxCodegenTestGenerated.Enum.class, BlackBoxCodegenTestGenerated.ExclExcl.class, BlackBoxCodegenTestGenerated.ExtensionFunctions.class, BlackBoxCodegenTestGenerated.ExtensionProperties.class, BlackBoxCodegenTestGenerated.FakeOverride.class, BlackBoxCodegenTestGenerated.FieldRename.class, BlackBoxCodegenTestGenerated.Finally.class, BlackBoxCodegenTestGenerated.Functions.class, BlackBoxCodegenTestGenerated.InnerNested.class, BlackBoxCodegenTestGenerated.Instructions.class, BlackBoxCodegenTestGenerated.Intrinsics.class, BlackBoxCodegenTestGenerated.JavaInterop.class, BlackBoxCodegenTestGenerated.Labels.class, BlackBoxCodegenTestGenerated.LocalClasses.class, BlackBoxCodegenTestGenerated.MultiDecl.class, BlackBoxCodegenTestGenerated.Objects.class, BlackBoxCodegenTestGenerated.OperatorConventions.class, BlackBoxCodegenTestGenerated.Package.class, BlackBoxCodegenTestGenerated.PlatformTypes.class, BlackBoxCodegenTestGenerated.PrimitiveTypes.class, BlackBoxCodegenTestGenerated.Properties.class, BlackBoxCodegenTestGenerated.Reflection.class, BlackBoxCodegenTestGenerated.Regressions.class, BlackBoxCodegenTestGenerated.SafeCall.class, BlackBoxCodegenTestGenerated.SamConstructors.class, BlackBoxCodegenTestGenerated.Strings.class, BlackBoxCodegenTestGenerated.Super.class, BlackBoxCodegenTestGenerated.SuperConstructorCall.class, BlackBoxCodegenTestGenerated.ToArray.class, BlackBoxCodegenTestGenerated.Traits.class, BlackBoxCodegenTestGenerated.TypeInfo.class, BlackBoxCodegenTestGenerated.TypeMapping.class, BlackBoxCodegenTestGenerated.UnaryOp.class, BlackBoxCodegenTestGenerated.Unit.class, BlackBoxCodegenTestGenerated.Vararg.class, BlackBoxCodegenTestGenerated.When.class})
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||||
public void testAllFilesPresentInBox() throws Exception {
|
public void testAllFilesPresentInBox() throws Exception {
|
||||||
@@ -3955,6 +3955,12 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
doTest(fileName);
|
doTest(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("incWithLabel.kt")
|
||||||
|
public void testIncWithLabel() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/intrinsics/incWithLabel.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("longRangeWithExplicitDot.kt")
|
@TestMetadata("longRangeWithExplicitDot.kt")
|
||||||
public void testLongRangeWithExplicitDot() throws Exception {
|
public void testLongRangeWithExplicitDot() throws Exception {
|
||||||
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/intrinsics/longRangeWithExplicitDot.kt");
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/intrinsics/longRangeWithExplicitDot.kt");
|
||||||
@@ -5218,6 +5224,145 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/platformTypes")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@InnerTestClasses({PlatformTypes.Primitives.class})
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class PlatformTypes extends AbstractBlackBoxCodegenTest {
|
||||||
|
public void testAllFilesPresentInPlatformTypes() throws Exception {
|
||||||
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/platformTypes"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compiler/testData/codegen/box/platformTypes/primitives")
|
||||||
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
public static class Primitives extends AbstractBlackBoxCodegenTest {
|
||||||
|
public void testAllFilesPresentInPrimitives() throws Exception {
|
||||||
|
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/codegen/box/platformTypes/primitives"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("assign.kt")
|
||||||
|
public void testAssign() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/assign.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("compareTo.kt")
|
||||||
|
public void testCompareTo() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/compareTo.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("dec.kt")
|
||||||
|
public void testDec() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/dec.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("div.kt")
|
||||||
|
public void testDiv() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/div.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("equals.kt")
|
||||||
|
public void testEquals() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/equals.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("hashCode.kt")
|
||||||
|
public void testHashCode() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/hashCode.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("inc.kt")
|
||||||
|
public void testInc() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/inc.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("minus.kt")
|
||||||
|
public void testMinus() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/minus.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("mod.kt")
|
||||||
|
public void testMod() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/mod.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("not.kt")
|
||||||
|
public void testNot() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/not.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("notEquals.kt")
|
||||||
|
public void testNotEquals() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/notEquals.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("plus.kt")
|
||||||
|
public void testPlus() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/plus.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("plusAssign.kt")
|
||||||
|
public void testPlusAssign() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/plusAssign.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("rangeTo.kt")
|
||||||
|
public void testRangeTo() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/rangeTo.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("times.kt")
|
||||||
|
public void testTimes() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/times.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("toShort.kt")
|
||||||
|
public void testToShort() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/toShort.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("toString.kt")
|
||||||
|
public void testToString() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/toString.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("udentityEquals.kt")
|
||||||
|
public void testUdentityEquals() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/udentityEquals.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("unaryMinus.kt")
|
||||||
|
public void testUnaryMinus() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/unaryMinus.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
@TestMetadata("unaryPlus.kt")
|
||||||
|
public void testUnaryPlus() throws Exception {
|
||||||
|
String fileName = JetTestUtils.navigationMetadata("compiler/testData/codegen/box/platformTypes/primitives/unaryPlus.kt");
|
||||||
|
doTest(fileName);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@TestMetadata("compiler/testData/codegen/box/primitiveTypes")
|
@TestMetadata("compiler/testData/codegen/box/primitiveTypes")
|
||||||
@TestDataPath("$PROJECT_ROOT")
|
@TestDataPath("$PROJECT_ROOT")
|
||||||
@RunWith(JUnit3RunnerWithInners.class)
|
@RunWith(JUnit3RunnerWithInners.class)
|
||||||
|
|||||||
Reference in New Issue
Block a user