Support more than 32 default arguments
#KT-4675 Fixed
This commit is contained in:
committed by
Alexander Udalov
parent
3ada0ce0a9
commit
1533c0e9f3
@@ -22,23 +22,33 @@ import org.jetbrains.jet.lang.resolve.calls.model.ExpressionValueArgument;
|
||||
import org.jetbrains.jet.lang.resolve.calls.model.ResolvedValueArgument;
|
||||
import org.jetbrains.jet.lang.resolve.calls.model.VarargValueArgument;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class ArgumentGenerator {
|
||||
/**
|
||||
* @return a bit mask of default arguments which should be passed as the last argument to $default method, if there were any default
|
||||
* arguments, or 0 if there were none
|
||||
* @return a {@code List} of bit masks of default arguments that should be passed as last arguments to $default method, if there were
|
||||
* any default arguments, or an empty {@code List} if there were none
|
||||
*/
|
||||
public int generate(@NotNull List<ResolvedValueArgument> valueArguments) {
|
||||
@NotNull
|
||||
public List<Integer> generate(@NotNull List<ResolvedValueArgument> valueArguments) {
|
||||
List<Integer> masks = new ArrayList<Integer>(1);
|
||||
boolean maskIsNeeded = false;
|
||||
int mask = 0;
|
||||
int n = valueArguments.size();
|
||||
for (int i = 0; i < n; i++) {
|
||||
if (i != 0 && i % Integer.SIZE == 0) {
|
||||
masks.add(mask);
|
||||
mask = 0;
|
||||
}
|
||||
ResolvedValueArgument argument = valueArguments.get(i);
|
||||
if (argument instanceof ExpressionValueArgument) {
|
||||
generateExpression(i, (ExpressionValueArgument) argument);
|
||||
}
|
||||
else if (argument instanceof DefaultValueArgument) {
|
||||
mask |= 1 << i;
|
||||
maskIsNeeded = true;
|
||||
mask |= 1 << (i % Integer.SIZE);
|
||||
generateDefault(i, (DefaultValueArgument) argument);
|
||||
}
|
||||
else if (argument instanceof VarargValueArgument) {
|
||||
@@ -49,7 +59,12 @@ public abstract class ArgumentGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
return mask;
|
||||
if (!maskIsNeeded) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
masks.add(mask);
|
||||
return masks;
|
||||
}
|
||||
|
||||
protected void generateExpression(int i, @NotNull ExpressionValueArgument argument) {
|
||||
|
||||
@@ -19,6 +19,7 @@ package org.jetbrains.jet.codegen;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.jetbrains.jet.codegen.state.GenerationState;
|
||||
import org.jetbrains.jet.codegen.state.JetTypeMapper;
|
||||
import org.jetbrains.jet.lang.resolve.calls.model.ResolvedCall;
|
||||
import org.jetbrains.jet.lang.resolve.java.JvmAbi;
|
||||
import org.jetbrains.jet.lang.resolve.java.jvmSignature.JvmMethodParameterKind;
|
||||
@@ -134,8 +135,7 @@ public class CallableMethod implements Callable {
|
||||
}
|
||||
|
||||
Method method = getAsmMethod();
|
||||
|
||||
String desc = method.getDescriptor().replace(")", "I)");
|
||||
String desc = JetTypeMapper.getDefaultDescriptor(method, receiverParameterType != null);
|
||||
if ("<init>".equals(method.getName())) {
|
||||
v.visitMethodInsn(INVOKESPECIAL, defaultImplOwner.getInternalName(), "<init>", desc, false);
|
||||
}
|
||||
|
||||
@@ -81,7 +81,8 @@ import static org.jetbrains.jet.lang.psi.PsiPackage.JetPsiFactory;
|
||||
import static org.jetbrains.jet.lang.resolve.BindingContext.*;
|
||||
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.getNotNull;
|
||||
import static org.jetbrains.jet.lang.resolve.BindingContextUtils.isVarCapturedInClosure;
|
||||
import static org.jetbrains.jet.lang.resolve.calls.callUtil.CallUtilPackage.*;
|
||||
import static org.jetbrains.jet.lang.resolve.calls.callUtil.CallUtilPackage.getResolvedCall;
|
||||
import static org.jetbrains.jet.lang.resolve.calls.callUtil.CallUtilPackage.getResolvedCallWithAssert;
|
||||
import static org.jetbrains.jet.lang.resolve.java.AsmTypeConstants.*;
|
||||
import static org.jetbrains.jet.lang.resolve.java.JvmAnnotationNames.KotlinSyntheticClass;
|
||||
import static org.jetbrains.jet.lang.resolve.java.diagnostics.DiagnosticsPackage.OtherOrigin;
|
||||
@@ -2175,19 +2176,18 @@ public class ExpressionCodegen extends JetVisitor<StackValue, StackValue> implem
|
||||
List<ResolvedValueArgument> valueArguments = resolvedCall.getValueArgumentsByIndex();
|
||||
assert valueArguments != null : "Failed to arrange value arguments by index: " + resolvedCall.getResultingDescriptor();
|
||||
|
||||
int mask = argumentGenerator.generate(valueArguments);
|
||||
List<Integer> masks = argumentGenerator.generate(valueArguments);
|
||||
|
||||
if (tailRecursionCodegen.isTailRecursion(resolvedCall)) {
|
||||
tailRecursionCodegen.generateTailRecursion(resolvedCall);
|
||||
return;
|
||||
}
|
||||
|
||||
boolean callDefault = mask != 0;
|
||||
if (callDefault) {
|
||||
for (int mask : masks) {
|
||||
callGenerator.putValueIfNeeded(null, Type.INT_TYPE, StackValue.constant(mask, Type.INT_TYPE));
|
||||
}
|
||||
|
||||
callGenerator.genCall(callableMethod, resolvedCall, callDefault, this);
|
||||
callGenerator.genCall(callableMethod, resolvedCall, !masks.isEmpty(), this);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
|
||||
@@ -59,10 +59,7 @@ import org.jetbrains.org.objectweb.asm.util.TraceMethodVisitor;
|
||||
|
||||
import java.io.PrintWriter;
|
||||
import java.io.StringWriter;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
|
||||
import static org.jetbrains.jet.codegen.AsmUtil.*;
|
||||
import static org.jetbrains.jet.codegen.JvmSerializationBindings.*;
|
||||
@@ -524,13 +521,22 @@ public class FunctionCodegen extends ParentCodegenAware {
|
||||
v.load(0, methodOwner); // Load this on stack
|
||||
|
||||
int mask = 0;
|
||||
List<Integer> masks = new ArrayList<Integer>(1);
|
||||
for (ValueParameterDescriptor parameterDescriptor : constructorDescriptor.getValueParameters()) {
|
||||
Type paramType = state.getTypeMapper().mapType(parameterDescriptor.getType());
|
||||
pushDefaultValueOnStack(paramType, v);
|
||||
mask |= (1 << parameterDescriptor.getIndex());
|
||||
int i = parameterDescriptor.getIndex();
|
||||
if (i != 0 && i % Integer.SIZE == 0) {
|
||||
masks.add(mask);
|
||||
mask = 0;
|
||||
}
|
||||
mask |= (1 << (i % Integer.SIZE));
|
||||
}
|
||||
v.iconst(mask);
|
||||
String desc = method.getAsmMethod().getDescriptor().replace(")", "I)");
|
||||
masks.add(mask);
|
||||
for (int m : masks) {
|
||||
v.iconst(m);
|
||||
}
|
||||
String desc = JetTypeMapper.getDefaultDescriptor(method.getAsmMethod(), false);
|
||||
v.invokespecial(methodOwner.getInternalName(), "<init>", desc, false);
|
||||
v.areturn(Type.VOID_TYPE);
|
||||
endVisit(mv, "default constructor for " + methodOwner.getInternalName(), null);
|
||||
@@ -610,8 +616,6 @@ public class FunctionCodegen extends ParentCodegenAware {
|
||||
|
||||
ExpressionCodegen codegen = new ExpressionCodegen(mv, frameMap, signature.getReturnType(), methodContext, state, parentCodegen);
|
||||
|
||||
int maskIndex = frameMap.enterTemp(Type.INT_TYPE);
|
||||
|
||||
CallGenerator generator = codegen.getOrCreateCallGenerator(functionDescriptor, function);
|
||||
|
||||
InstructionAdapter iv = new InstructionAdapter(mv);
|
||||
@@ -625,15 +629,19 @@ public class FunctionCodegen extends ParentCodegenAware {
|
||||
capturedArgumentsCount++;
|
||||
}
|
||||
|
||||
int maskIndex = 0;
|
||||
List<ValueParameterDescriptor> valueParameters = functionDescriptor.getValueParameters();
|
||||
for (int index = 0; index < valueParameters.size(); index++) {
|
||||
if (index % Integer.SIZE == 0) {
|
||||
maskIndex = frameMap.enterTemp(Type.INT_TYPE);
|
||||
}
|
||||
ValueParameterDescriptor parameterDescriptor = valueParameters.get(index);
|
||||
Type type = mappedParameters.get(capturedArgumentsCount + index).getAsmType();
|
||||
|
||||
int parameterIndex = frameMap.getIndex(parameterDescriptor);
|
||||
if (parameterDescriptor.declaresDefaultValue()) {
|
||||
iv.load(maskIndex, Type.INT_TYPE);
|
||||
iv.iconst(1 << index);
|
||||
iv.iconst(1 << (index % Integer.SIZE));
|
||||
iv.and(Type.INT_TYPE);
|
||||
Label loadArg = new Label();
|
||||
iv.ifeq(loadArg);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
package org.jetbrains.jet.codegen.state;
|
||||
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.PsiElement;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
@@ -613,11 +614,23 @@ public class JetTypeMapper {
|
||||
return sw.makeJvmMethodSignature(mapFunctionName(f));
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static String getDefaultDescriptor(@NotNull Method method, boolean isExtension) {
|
||||
String descriptor = method.getDescriptor();
|
||||
int argumentsCount = (Type.getArgumentsAndReturnSizes(descriptor) >> 2) - 1;
|
||||
if (isExtension) {
|
||||
argumentsCount--;
|
||||
}
|
||||
int maskArgumentsCount = (argumentsCount + Integer.SIZE - 1) / Integer.SIZE;
|
||||
String maskArguments = StringUtil.repeat(Type.INT_TYPE.getDescriptor(), maskArgumentsCount);
|
||||
return descriptor.replace(")", maskArguments + ")");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Method mapDefaultMethod(@NotNull FunctionDescriptor functionDescriptor, @NotNull OwnerKind kind, @NotNull CodegenContext<?> context) {
|
||||
Method jvmSignature = mapSignature(functionDescriptor, kind).getAsmMethod();
|
||||
Type ownerType = mapOwner(functionDescriptor, isCallInsideSameModuleAsDeclared(functionDescriptor, context, getOutDirectory()));
|
||||
String descriptor = jvmSignature.getDescriptor().replace(")", "I)");
|
||||
String descriptor = getDefaultDescriptor(jvmSignature, functionDescriptor.getReceiverParameter() != null);
|
||||
boolean isConstructor = "<init>".equals(jvmSignature.getName());
|
||||
if (!isStatic(kind) && !isConstructor) {
|
||||
descriptor = descriptor.replace("(", "(" + ownerType.getDescriptor());
|
||||
|
||||
@@ -0,0 +1,205 @@
|
||||
fun Int.foo(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff"
|
||||
}
|
||||
|
||||
fun String.bar(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32,
|
||||
gg: Int = 33,
|
||||
hh: Int = 34,
|
||||
ii: Int = 35,
|
||||
jj: Int = 36,
|
||||
kk: Int = 37,
|
||||
ll: Int = 38,
|
||||
mm: Int = 39,
|
||||
nn: Int = 40): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff " +
|
||||
"$gg $hh $ii $jj $kk $ll $mm $nn"
|
||||
}
|
||||
|
||||
fun Char.baz(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32,
|
||||
gg: Int = 33,
|
||||
hh: Int = 34,
|
||||
ii: Int = 35,
|
||||
jj: Int = 36,
|
||||
kk: Int = 37,
|
||||
ll: Int = 38,
|
||||
mm: Int = 39,
|
||||
nn: Int = 40,
|
||||
oo: Int = 41,
|
||||
pp: Int = 42,
|
||||
qq: Int = 43,
|
||||
rr: Int = 44,
|
||||
ss: Int = 45,
|
||||
tt: Int = 46,
|
||||
uu: Int = 47,
|
||||
vv: Int = 48,
|
||||
ww: Int = 49,
|
||||
xx: Int = 50,
|
||||
yy: Int = 51,
|
||||
zz: Int = 52,
|
||||
aaa: Int = 53,
|
||||
bbb: Int = 54,
|
||||
ccc: Int = 55,
|
||||
ddd: Int = 56,
|
||||
eee: Int = 57,
|
||||
fff: Int = 58,
|
||||
ggg: Int = 59,
|
||||
hhh: Int = 60,
|
||||
iii: Int = 61,
|
||||
jjj: Int = 62,
|
||||
kkk: Int = 63,
|
||||
lll: Int = 64,
|
||||
mmm: Int = 65,
|
||||
nnn: Int = 66,
|
||||
ooo: Int = 67,
|
||||
ppp: Int = 68,
|
||||
qqq: Int = 69,
|
||||
rrr: Int = 70): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff $gg $hh $ii $jj $kk " +
|
||||
"$ll $mm $nn $oo $pp $qq $rr $ss $tt $uu $vv $ww $xx $yy $zz $aaa $bbb $ccc $ddd $eee $fff $ggg $hhh $iii $jjj $kkk $lll " +
|
||||
"$mmm $nnn $ooo $ppp $qqq $rrr"
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val test1 = 1.foo(4, e = 8, f = 15, w = 16, aa = 23, ff = 42)
|
||||
val test2 = 1.foo()
|
||||
val test3 = 1.foo(32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, q = 16, r = 15, s = 14, t = 13,
|
||||
u = 12, v = 11, w = 10, x = 9, y = 8, z = 7, aa = 6, bb = 5, cc = 4, dd = 3, ee = 2, ff = 1)
|
||||
if (test1 != "4 2 3 4 8 15 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 16 24 25 26 23 28 29 30 31 42") {
|
||||
return "test1 = $test1"
|
||||
}
|
||||
if (test2 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32") {
|
||||
return "test2 = $test2"
|
||||
}
|
||||
if (test3 != "32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test3 = $test3"
|
||||
}
|
||||
|
||||
val test4 = "".bar(54, 217, h = 236, l = 18, q = 3216, u = 8, aa = 22, ff = 33, jj = 44, mm = 55)
|
||||
val test5 = "".bar()
|
||||
val test6 = "".bar(40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, u = 20, v = 19,
|
||||
w = 18, x = 17, y = 16, z = 15, aa = 14, bb = 13, cc = 12, dd = 11, ee = 10, ff = 9, gg = 8, hh = 7, ii = 6,
|
||||
jj = 5, kk = 4, ll = 3, mm = 2, nn = 1)
|
||||
if (test4 != "54 217 3 4 5 6 7 236 9 10 11 18 13 14 15 16 3216 18 19 20 8 22 23 24 25 26 22 28 29 30 31 33 33 34 35 44 37 38 55 40") {
|
||||
return "test4 = $test4"
|
||||
}
|
||||
if (test5 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40") {
|
||||
return "test5 = $test5"
|
||||
}
|
||||
if (test6 != "40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test6 = $test6"
|
||||
}
|
||||
|
||||
val test7 = 'a'.baz(5, f = 3, w = 1, aa = 71, nn = 2, qq = 15, ww = 97, aaa = 261258, iii = 3, nnn = 8, rrr = 7)
|
||||
val test8 = 'a'.baz()
|
||||
val test9 = 'a'.baz(70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41,
|
||||
40, 39, 38, 37, 36, jj = 35, kk = 34, ll = 33, mm = 32, nn = 31, oo = 30, pp = 29, qq = 28, rr = 27, ss = 26, tt = 25,
|
||||
uu = 24, vv = 23, ww = 22, xx = 21, yy = 20, zz = 19, aaa = 18, bbb = 17, ccc = 16, ddd = 15, eee = 14, fff = 13,
|
||||
ggg = 12, hhh = 11, iii = 10, jjj = 9, kkk = 8, lll = 7, mmm = 6, nnn = 5, ooo = 4, ppp = 3, qqq = 2, rrr = 1)
|
||||
if (test7 != "5 2 3 4 5 3 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 24 25 26 71 28 29 30 31 32 33 34 35 36 37 38 39 2 41 42 15 " +
|
||||
"44 45 46 47 48 97 50 51 52 261258 54 55 56 57 58 59 60 3 62 63 64 65 8 67 68 69 7") {
|
||||
return "test7 = $test7"
|
||||
}
|
||||
if (test8 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 " +
|
||||
"43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70") {
|
||||
return "test8 = $test8"
|
||||
}
|
||||
if (test9 != "70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 " +
|
||||
"31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test9 = $test9"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+211
@@ -0,0 +1,211 @@
|
||||
class A {
|
||||
fun Int.foo(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff"
|
||||
}
|
||||
|
||||
fun String.bar(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32,
|
||||
gg: Int = 33,
|
||||
hh: Int = 34,
|
||||
ii: Int = 35,
|
||||
jj: Int = 36,
|
||||
kk: Int = 37,
|
||||
ll: Int = 38,
|
||||
mm: Int = 39,
|
||||
nn: Int = 40): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff " +
|
||||
"$gg $hh $ii $jj $kk $ll $mm $nn"
|
||||
}
|
||||
|
||||
fun Char.baz(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32,
|
||||
gg: Int = 33,
|
||||
hh: Int = 34,
|
||||
ii: Int = 35,
|
||||
jj: Int = 36,
|
||||
kk: Int = 37,
|
||||
ll: Int = 38,
|
||||
mm: Int = 39,
|
||||
nn: Int = 40,
|
||||
oo: Int = 41,
|
||||
pp: Int = 42,
|
||||
qq: Int = 43,
|
||||
rr: Int = 44,
|
||||
ss: Int = 45,
|
||||
tt: Int = 46,
|
||||
uu: Int = 47,
|
||||
vv: Int = 48,
|
||||
ww: Int = 49,
|
||||
xx: Int = 50,
|
||||
yy: Int = 51,
|
||||
zz: Int = 52,
|
||||
aaa: Int = 53,
|
||||
bbb: Int = 54,
|
||||
ccc: Int = 55,
|
||||
ddd: Int = 56,
|
||||
eee: Int = 57,
|
||||
fff: Int = 58,
|
||||
ggg: Int = 59,
|
||||
hhh: Int = 60,
|
||||
iii: Int = 61,
|
||||
jjj: Int = 62,
|
||||
kkk: Int = 63,
|
||||
lll: Int = 64,
|
||||
mmm: Int = 65,
|
||||
nnn: Int = 66,
|
||||
ooo: Int = 67,
|
||||
ppp: Int = 68,
|
||||
qqq: Int = 69,
|
||||
rrr: Int = 70): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff $gg $hh $ii $jj $kk " +
|
||||
"$ll $mm $nn $oo $pp $qq $rr $ss $tt $uu $vv $ww $xx $yy $zz $aaa $bbb $ccc $ddd $eee $fff $ggg $hhh $iii $jjj $kkk $lll " +
|
||||
"$mmm $nnn $ooo $ppp $qqq $rrr"
|
||||
}
|
||||
|
||||
fun test(): String {
|
||||
val test1 = 1.foo(4, e = 8, f = 15, w = 16, aa = 23, ff = 42)
|
||||
val test2 = 1.foo()
|
||||
val test3 = 1.foo(32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, q = 16, r = 15, s = 14, t = 13,
|
||||
u = 12, v = 11, w = 10, x = 9, y = 8, z = 7, aa = 6, bb = 5, cc = 4, dd = 3, ee = 2, ff = 1)
|
||||
if (test1 != "4 2 3 4 8 15 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 16 24 25 26 23 28 29 30 31 42") {
|
||||
return "test1 = $test1"
|
||||
}
|
||||
if (test2 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32") {
|
||||
return "test2 = $test2"
|
||||
}
|
||||
if (test3 != "32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test3 = $test3"
|
||||
}
|
||||
|
||||
val test4 = "".bar(54, 217, h = 236, l = 18, q = 3216, u = 8, aa = 22, ff = 33, jj = 44, mm = 55)
|
||||
val test5 = "".bar()
|
||||
val test6 = "".bar(40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, u = 20, v = 19,
|
||||
w = 18, x = 17, y = 16, z = 15, aa = 14, bb = 13, cc = 12, dd = 11, ee = 10, ff = 9, gg = 8, hh = 7, ii = 6,
|
||||
jj = 5, kk = 4, ll = 3, mm = 2, nn = 1)
|
||||
if (test4 != "54 217 3 4 5 6 7 236 9 10 11 18 13 14 15 16 3216 18 19 20 8 22 23 24 25 26 22 28 29 30 31 33 33 34 35 44 37 38 55 40") {
|
||||
return "test4 = $test4"
|
||||
}
|
||||
if (test5 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40") {
|
||||
return "test5 = $test5"
|
||||
}
|
||||
if (test6 != "40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test6 = $test6"
|
||||
}
|
||||
|
||||
val test7 = 'a'.baz(5, f = 3, w = 1, aa = 71, nn = 2, qq = 15, ww = 97, aaa = 261258, iii = 3, nnn = 8, rrr = 7)
|
||||
val test8 = 'a'.baz()
|
||||
val test9 = 'a'.baz(70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41,
|
||||
40, 39, 38, 37, 36, jj = 35, kk = 34, ll = 33, mm = 32, nn = 31, oo = 30, pp = 29, qq = 28, rr = 27, ss = 26, tt = 25,
|
||||
uu = 24, vv = 23, ww = 22, xx = 21, yy = 20, zz = 19, aaa = 18, bbb = 17, ccc = 16, ddd = 15, eee = 14, fff = 13,
|
||||
ggg = 12, hhh = 11, iii = 10, jjj = 9, kkk = 8, lll = 7, mmm = 6, nnn = 5, ooo = 4, ppp = 3, qqq = 2, rrr = 1)
|
||||
if (test7 != "5 2 3 4 5 3 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 24 25 26 71 28 29 30 31 32 33 34 35 36 37 38 39 2 41 42 15 " +
|
||||
"44 45 46 47 48 97 50 51 52 261258 54 55 56 57 58 59 60 3 62 63 64 65 8 67 68 69 7") {
|
||||
return "test7 = $test7"
|
||||
}
|
||||
if (test8 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 " +
|
||||
"43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70") {
|
||||
return "test8 = $test8"
|
||||
}
|
||||
if (test9 != "70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 " +
|
||||
"31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test9 = $test9"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return A().test()
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
class A() {
|
||||
fun foo(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff"
|
||||
}
|
||||
|
||||
fun bar(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32,
|
||||
gg: Int = 33,
|
||||
hh: Int = 34,
|
||||
ii: Int = 35,
|
||||
jj: Int = 36,
|
||||
kk: Int = 37,
|
||||
ll: Int = 38,
|
||||
mm: Int = 39,
|
||||
nn: Int = 40): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff " +
|
||||
"$gg $hh $ii $jj $kk $ll $mm $nn"
|
||||
}
|
||||
|
||||
fun baz(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32,
|
||||
gg: Int = 33,
|
||||
hh: Int = 34,
|
||||
ii: Int = 35,
|
||||
jj: Int = 36,
|
||||
kk: Int = 37,
|
||||
ll: Int = 38,
|
||||
mm: Int = 39,
|
||||
nn: Int = 40,
|
||||
oo: Int = 41,
|
||||
pp: Int = 42,
|
||||
qq: Int = 43,
|
||||
rr: Int = 44,
|
||||
ss: Int = 45,
|
||||
tt: Int = 46,
|
||||
uu: Int = 47,
|
||||
vv: Int = 48,
|
||||
ww: Int = 49,
|
||||
xx: Int = 50,
|
||||
yy: Int = 51,
|
||||
zz: Int = 52,
|
||||
aaa: Int = 53,
|
||||
bbb: Int = 54,
|
||||
ccc: Int = 55,
|
||||
ddd: Int = 56,
|
||||
eee: Int = 57,
|
||||
fff: Int = 58,
|
||||
ggg: Int = 59,
|
||||
hhh: Int = 60,
|
||||
iii: Int = 61,
|
||||
jjj: Int = 62,
|
||||
kkk: Int = 63,
|
||||
lll: Int = 64,
|
||||
mmm: Int = 65,
|
||||
nnn: Int = 66,
|
||||
ooo: Int = 67,
|
||||
ppp: Int = 68,
|
||||
qqq: Int = 69,
|
||||
rrr: Int = 70): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff $gg $hh $ii $jj $kk " +
|
||||
"$ll $mm $nn $oo $pp $qq $rr $ss $tt $uu $vv $ww $xx $yy $zz $aaa $bbb $ccc $ddd $eee $fff $ggg $hhh $iii $jjj $kkk $lll " +
|
||||
"$mmm $nnn $ooo $ppp $qqq $rrr"
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val a = A()
|
||||
val test1 = a.foo(4, e = 8, f = 15, w = 16, aa = 23, ff = 42)
|
||||
val test2 = a.foo()
|
||||
val test3 = a.foo(32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, q = 16, r = 15, s = 14, t = 13,
|
||||
u = 12, v = 11, w = 10, x = 9, y = 8, z = 7, aa = 6, bb = 5, cc = 4, dd = 3, ee = 2, ff = 1)
|
||||
if (test1 != "4 2 3 4 8 15 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 16 24 25 26 23 28 29 30 31 42") {
|
||||
return "test1 = $test1"
|
||||
}
|
||||
if (test2 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32") {
|
||||
return "test2 = $test2"
|
||||
}
|
||||
if (test3 != "32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test3 = $test3"
|
||||
}
|
||||
|
||||
val test4 = a.bar(54, 217, h = 236, l = 18, q = 3216, u = 8, aa = 22, ff = 33, jj = 44, mm = 55)
|
||||
val test5 = a.bar()
|
||||
val test6 = a.bar(40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, u = 20, v = 19,
|
||||
w = 18, x = 17, y = 16, z = 15, aa = 14, bb = 13, cc = 12, dd = 11, ee = 10, ff = 9, gg = 8, hh = 7, ii = 6,
|
||||
jj = 5, kk = 4, ll = 3, mm = 2, nn = 1)
|
||||
if (test4 != "54 217 3 4 5 6 7 236 9 10 11 18 13 14 15 16 3216 18 19 20 8 22 23 24 25 26 22 28 29 30 31 33 33 34 35 44 37 38 55 40") {
|
||||
return "test4 = $test4"
|
||||
}
|
||||
if (test5 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40") {
|
||||
return "test5 = $test5"
|
||||
}
|
||||
if (test6 != "40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test6 = $test6"
|
||||
}
|
||||
|
||||
val test7 = a.baz(5, f = 3, w = 1, aa = 71, nn = 2, qq = 15, ww = 97, aaa = 261258, iii = 3, nnn = 8, rrr = 7)
|
||||
val test8 = a.baz()
|
||||
val test9 = a.baz(70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41,
|
||||
40, 39, 38, 37, 36, jj = 35, kk = 34, ll = 33, mm = 32, nn = 31, oo = 30, pp = 29, qq = 28, rr = 27, ss = 26, tt = 25,
|
||||
uu = 24, vv = 23, ww = 22, xx = 21, yy = 20, zz = 19, aaa = 18, bbb = 17, ccc = 16, ddd = 15, eee = 14, fff = 13,
|
||||
ggg = 12, hhh = 11, iii = 10, jjj = 9, kkk = 8, lll = 7, mmm = 6, nnn = 5, ooo = 4, ppp = 3, qqq = 2, rrr = 1)
|
||||
if (test7 != "5 2 3 4 5 3 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 24 25 26 71 28 29 30 31 32 33 34 35 36 37 38 39 2 41 42 15 " +
|
||||
"44 45 46 47 48 97 50 51 52 261258 54 55 56 57 58 59 60 3 62 63 64 65 8 67 68 69 7") {
|
||||
return "test7 = $test7"
|
||||
}
|
||||
if (test8 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 " +
|
||||
"43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70") {
|
||||
return "test8 = $test8"
|
||||
}
|
||||
if (test9 != "70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 " +
|
||||
"31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test9 = $test9"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,205 @@
|
||||
fun foo(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff"
|
||||
}
|
||||
|
||||
fun bar(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32,
|
||||
gg: Int = 33,
|
||||
hh: Int = 34,
|
||||
ii: Int = 35,
|
||||
jj: Int = 36,
|
||||
kk: Int = 37,
|
||||
ll: Int = 38,
|
||||
mm: Int = 39,
|
||||
nn: Int = 40): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff " +
|
||||
"$gg $hh $ii $jj $kk $ll $mm $nn"
|
||||
}
|
||||
|
||||
fun baz(a: Int = 1,
|
||||
b: Int = 2,
|
||||
c: Int = 3,
|
||||
d: Int = 4,
|
||||
e: Int = 5,
|
||||
f: Int = 6,
|
||||
g: Int = 7,
|
||||
h: Int = 8,
|
||||
i: Int = 9,
|
||||
j: Int = 10,
|
||||
k: Int = 11,
|
||||
l: Int = 12,
|
||||
m: Int = 13,
|
||||
n: Int = 14,
|
||||
o: Int = 15,
|
||||
p: Int = 16,
|
||||
q: Int = 17,
|
||||
r: Int = 18,
|
||||
s: Int = 19,
|
||||
t: Int = 20,
|
||||
u: Int = 21,
|
||||
v: Int = 22,
|
||||
w: Int = 23,
|
||||
x: Int = 24,
|
||||
y: Int = 25,
|
||||
z: Int = 26,
|
||||
aa: Int = 27,
|
||||
bb: Int = 28,
|
||||
cc: Int = 29,
|
||||
dd: Int = 30,
|
||||
ee: Int = 31,
|
||||
ff: Int = 32,
|
||||
gg: Int = 33,
|
||||
hh: Int = 34,
|
||||
ii: Int = 35,
|
||||
jj: Int = 36,
|
||||
kk: Int = 37,
|
||||
ll: Int = 38,
|
||||
mm: Int = 39,
|
||||
nn: Int = 40,
|
||||
oo: Int = 41,
|
||||
pp: Int = 42,
|
||||
qq: Int = 43,
|
||||
rr: Int = 44,
|
||||
ss: Int = 45,
|
||||
tt: Int = 46,
|
||||
uu: Int = 47,
|
||||
vv: Int = 48,
|
||||
ww: Int = 49,
|
||||
xx: Int = 50,
|
||||
yy: Int = 51,
|
||||
zz: Int = 52,
|
||||
aaa: Int = 53,
|
||||
bbb: Int = 54,
|
||||
ccc: Int = 55,
|
||||
ddd: Int = 56,
|
||||
eee: Int = 57,
|
||||
fff: Int = 58,
|
||||
ggg: Int = 59,
|
||||
hhh: Int = 60,
|
||||
iii: Int = 61,
|
||||
jjj: Int = 62,
|
||||
kkk: Int = 63,
|
||||
lll: Int = 64,
|
||||
mmm: Int = 65,
|
||||
nnn: Int = 66,
|
||||
ooo: Int = 67,
|
||||
ppp: Int = 68,
|
||||
qqq: Int = 69,
|
||||
rrr: Int = 70): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff $gg $hh $ii $jj $kk " +
|
||||
"$ll $mm $nn $oo $pp $qq $rr $ss $tt $uu $vv $ww $xx $yy $zz $aaa $bbb $ccc $ddd $eee $fff $ggg $hhh $iii $jjj $kkk $lll " +
|
||||
"$mmm $nnn $ooo $ppp $qqq $rrr"
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val test1 = foo(4, e = 8, f = 15, w = 16, aa = 23, ff = 42)
|
||||
val test2 = foo()
|
||||
val test3 = foo(32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, q = 16, r = 15, s = 14, t = 13,
|
||||
u = 12, v = 11, w = 10, x = 9, y = 8, z = 7, aa = 6, bb = 5, cc = 4, dd = 3, ee = 2, ff = 1)
|
||||
if (test1 != "4 2 3 4 8 15 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 16 24 25 26 23 28 29 30 31 42") {
|
||||
return "test1 = $test1"
|
||||
}
|
||||
if (test2 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32") {
|
||||
return "test2 = $test2"
|
||||
}
|
||||
if (test3 != "32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test3 = $test3"
|
||||
}
|
||||
|
||||
val test4 = bar(54, 217, h = 236, l = 18, q = 3216, u = 8, aa = 22, ff = 33, jj = 44, mm = 55)
|
||||
val test5 = bar()
|
||||
val test6 = bar(40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, u = 20, v = 19,
|
||||
w = 18, x = 17, y = 16, z = 15, aa = 14, bb = 13, cc = 12, dd = 11, ee = 10, ff = 9, gg = 8, hh = 7, ii = 6,
|
||||
jj = 5, kk = 4, ll = 3, mm = 2, nn = 1)
|
||||
if (test4 != "54 217 3 4 5 6 7 236 9 10 11 18 13 14 15 16 3216 18 19 20 8 22 23 24 25 26 22 28 29 30 31 33 33 34 35 44 37 38 55 40") {
|
||||
return "test4 = $test4"
|
||||
}
|
||||
if (test5 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40") {
|
||||
return "test5 = $test5"
|
||||
}
|
||||
if (test6 != "40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test6 = $test6"
|
||||
}
|
||||
|
||||
val test7 = baz(5, f = 3, w = 1, aa = 71, nn = 2, qq = 15, ww = 97, aaa = 261258, iii = 3, nnn = 8, rrr = 7)
|
||||
val test8 = baz()
|
||||
val test9 = baz(70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41,
|
||||
40, 39, 38, 37, 36, jj = 35, kk = 34, ll = 33, mm = 32, nn = 31, oo = 30, pp = 29, qq = 28, rr = 27, ss = 26, tt = 25,
|
||||
uu = 24, vv = 23, ww = 22, xx = 21, yy = 20, zz = 19, aaa = 18, bbb = 17, ccc = 16, ddd = 15, eee = 14, fff = 13,
|
||||
ggg = 12, hhh = 11, iii = 10, jjj = 9, kkk = 8, lll = 7, mmm = 6, nnn = 5, ooo = 4, ppp = 3, qqq = 2, rrr = 1)
|
||||
if (test7 != "5 2 3 4 5 3 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 24 25 26 71 28 29 30 31 32 33 34 35 36 37 38 39 2 41 42 15 " +
|
||||
"44 45 46 47 48 97 50 51 52 261258 54 55 56 57 58 59 60 3 62 63 64 65 8 67 68 69 7") {
|
||||
return "test7 = $test7"
|
||||
}
|
||||
if (test8 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 " +
|
||||
"43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70") {
|
||||
return "test8 = $test8"
|
||||
}
|
||||
if (test9 != "70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 " +
|
||||
"31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test9 = $test9"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -0,0 +1,211 @@
|
||||
class A(val a: Int = 1,
|
||||
val b: Int = 2,
|
||||
val c: Int = 3,
|
||||
val d: Int = 4,
|
||||
val e: Int = 5,
|
||||
val f: Int = 6,
|
||||
val g: Int = 7,
|
||||
val h: Int = 8,
|
||||
val i: Int = 9,
|
||||
val j: Int = 10,
|
||||
val k: Int = 11,
|
||||
val l: Int = 12,
|
||||
val m: Int = 13,
|
||||
val n: Int = 14,
|
||||
val o: Int = 15,
|
||||
val p: Int = 16,
|
||||
val q: Int = 17,
|
||||
val r: Int = 18,
|
||||
val s: Int = 19,
|
||||
val t: Int = 20,
|
||||
val u: Int = 21,
|
||||
val v: Int = 22,
|
||||
val w: Int = 23,
|
||||
val x: Int = 24,
|
||||
val y: Int = 25,
|
||||
val z: Int = 26,
|
||||
val aa: Int = 27,
|
||||
val bb: Int = 28,
|
||||
val cc: Int = 29,
|
||||
val dd: Int = 30,
|
||||
val ee: Int = 31,
|
||||
val ff: Int = 32) {
|
||||
override fun toString(): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff"
|
||||
}
|
||||
}
|
||||
|
||||
class B(val a: Int = 1,
|
||||
val b: Int = 2,
|
||||
val c: Int = 3,
|
||||
val d: Int = 4,
|
||||
val e: Int = 5,
|
||||
val f: Int = 6,
|
||||
val g: Int = 7,
|
||||
val h: Int = 8,
|
||||
val i: Int = 9,
|
||||
val j: Int = 10,
|
||||
val k: Int = 11,
|
||||
val l: Int = 12,
|
||||
val m: Int = 13,
|
||||
val n: Int = 14,
|
||||
val o: Int = 15,
|
||||
val p: Int = 16,
|
||||
val q: Int = 17,
|
||||
val r: Int = 18,
|
||||
val s: Int = 19,
|
||||
val t: Int = 20,
|
||||
val u: Int = 21,
|
||||
val v: Int = 22,
|
||||
val w: Int = 23,
|
||||
val x: Int = 24,
|
||||
val y: Int = 25,
|
||||
val z: Int = 26,
|
||||
val aa: Int = 27,
|
||||
val bb: Int = 28,
|
||||
val cc: Int = 29,
|
||||
val dd: Int = 30,
|
||||
val ee: Int = 31,
|
||||
val ff: Int = 32,
|
||||
val gg: Int = 33,
|
||||
val hh: Int = 34,
|
||||
val ii: Int = 35,
|
||||
val jj: Int = 36,
|
||||
val kk: Int = 37,
|
||||
val ll: Int = 38,
|
||||
val mm: Int = 39,
|
||||
val nn: Int = 40) {
|
||||
override fun toString(): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff " +
|
||||
"$gg $hh $ii $jj $kk $ll $mm $nn"
|
||||
}
|
||||
}
|
||||
|
||||
class C(val a: Int = 1,
|
||||
val b: Int = 2,
|
||||
val c: Int = 3,
|
||||
val d: Int = 4,
|
||||
val e: Int = 5,
|
||||
val f: Int = 6,
|
||||
val g: Int = 7,
|
||||
val h: Int = 8,
|
||||
val i: Int = 9,
|
||||
val j: Int = 10,
|
||||
val k: Int = 11,
|
||||
val l: Int = 12,
|
||||
val m: Int = 13,
|
||||
val n: Int = 14,
|
||||
val o: Int = 15,
|
||||
val p: Int = 16,
|
||||
val q: Int = 17,
|
||||
val r: Int = 18,
|
||||
val s: Int = 19,
|
||||
val t: Int = 20,
|
||||
val u: Int = 21,
|
||||
val v: Int = 22,
|
||||
val w: Int = 23,
|
||||
val x: Int = 24,
|
||||
val y: Int = 25,
|
||||
val z: Int = 26,
|
||||
val aa: Int = 27,
|
||||
val bb: Int = 28,
|
||||
val cc: Int = 29,
|
||||
val dd: Int = 30,
|
||||
val ee: Int = 31,
|
||||
val ff: Int = 32,
|
||||
val gg: Int = 33,
|
||||
val hh: Int = 34,
|
||||
val ii: Int = 35,
|
||||
val jj: Int = 36,
|
||||
val kk: Int = 37,
|
||||
val ll: Int = 38,
|
||||
val mm: Int = 39,
|
||||
val nn: Int = 40,
|
||||
val oo: Int = 41,
|
||||
val pp: Int = 42,
|
||||
val qq: Int = 43,
|
||||
val rr: Int = 44,
|
||||
val ss: Int = 45,
|
||||
val tt: Int = 46,
|
||||
val uu: Int = 47,
|
||||
val vv: Int = 48,
|
||||
val ww: Int = 49,
|
||||
val xx: Int = 50,
|
||||
val yy: Int = 51,
|
||||
val zz: Int = 52,
|
||||
val aaa: Int = 53,
|
||||
val bbb: Int = 54,
|
||||
val ccc: Int = 55,
|
||||
val ddd: Int = 56,
|
||||
val eee: Int = 57,
|
||||
val fff: Int = 58,
|
||||
val ggg: Int = 59,
|
||||
val hhh: Int = 60,
|
||||
val iii: Int = 61,
|
||||
val jjj: Int = 62,
|
||||
val kkk: Int = 63,
|
||||
val lll: Int = 64,
|
||||
val mmm: Int = 65,
|
||||
val nnn: Int = 66,
|
||||
val ooo: Int = 67,
|
||||
val ppp: Int = 68,
|
||||
val qqq: Int = 69,
|
||||
val rrr: Int = 70) {
|
||||
override fun toString(): String {
|
||||
return "$a $b $c $d $e $f $g $h $i $j $k $l $m $n $o $p $q $r $s $t $u $v $w $x $y $z $aa $bb $cc $dd $ee $ff $gg $hh $ii $jj $kk " +
|
||||
"$ll $mm $nn $oo $pp $qq $rr $ss $tt $uu $vv $ww $xx $yy $zz $aaa $bbb $ccc $ddd $eee $fff $ggg $hhh $iii $jjj $kkk $lll " +
|
||||
"$mmm $nnn $ooo $ppp $qqq $rrr"
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
val test1 = A(4, e = 8, f = 15, w = 16, aa = 23, ff = 42).toString()
|
||||
val test2 = javaClass<A>().newInstance().toString()
|
||||
val test3 = A(32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, q = 16, r = 15, s = 14, t = 13,
|
||||
u = 12, v = 11, w = 10, x = 9, y = 8, z = 7, aa = 6, bb = 5, cc = 4, dd = 3, ee = 2, ff = 1).toString()
|
||||
if (test1 != "4 2 3 4 8 15 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 16 24 25 26 23 28 29 30 31 42") {
|
||||
return "test1 = $test1"
|
||||
}
|
||||
if (test2 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32") {
|
||||
return "test2 = $test2"
|
||||
}
|
||||
if (test3 != "32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test3 = $test3"
|
||||
}
|
||||
|
||||
val test4 = B(54, 217, h = 236, l = 18, q = 3216, u = 8, aa = 22, ff = 33, jj = 44, mm = 55).toString()
|
||||
val test5 = javaClass<B>().newInstance().toString()
|
||||
val test6 = B(40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, u = 20, v = 19,
|
||||
w = 18, x = 17, y = 16, z = 15, aa = 14, bb = 13, cc = 12, dd = 11, ee = 10, ff = 9, gg = 8, hh = 7, ii = 6,
|
||||
jj = 5, kk = 4, ll = 3, mm = 2, nn = 1).toString()
|
||||
if (test4 != "54 217 3 4 5 6 7 236 9 10 11 18 13 14 15 16 3216 18 19 20 8 22 23 24 25 26 22 28 29 30 31 33 33 34 35 44 37 38 55 40") {
|
||||
return "test4 = $test4"
|
||||
}
|
||||
if (test5 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40") {
|
||||
return "test5 = $test5"
|
||||
}
|
||||
if (test6 != "40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test6 = $test6"
|
||||
}
|
||||
|
||||
val test7 = C(5, f = 3, w = 1, aa = 71, nn = 2, qq = 15, ww = 97, aaa = 261258, iii = 3, nnn = 8, rrr = 7).toString()
|
||||
val test8 = javaClass<C>().newInstance().toString()
|
||||
val test9 = C(70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41,
|
||||
40, 39, 38, 37, 36, jj = 35, kk = 34, ll = 33, mm = 32, nn = 31, oo = 30, pp = 29, qq = 28, rr = 27, ss = 26, tt = 25,
|
||||
uu = 24, vv = 23, ww = 22, xx = 21, yy = 20, zz = 19, aaa = 18, bbb = 17, ccc = 16, ddd = 15, eee = 14, fff = 13,
|
||||
ggg = 12, hhh = 11, iii = 10, jjj = 9, kkk = 8, lll = 7, mmm = 6, nnn = 5, ooo = 4, ppp = 3, qqq = 2, rrr = 1).toString()
|
||||
if (test7 != "5 2 3 4 5 3 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 24 25 26 71 28 29 30 31 32 33 34 35 36 37 38 39 2 41 42 15 " +
|
||||
"44 45 46 47 48 97 50 51 52 261258 54 55 56 57 58 59 60 3 62 63 64 65 8 67 68 69 7") {
|
||||
return "test7 = $test7"
|
||||
}
|
||||
if (test8 != "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 " +
|
||||
"43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70") {
|
||||
return "test8 = $test8"
|
||||
}
|
||||
if (test9 != "70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 " +
|
||||
"31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1") {
|
||||
return "test9 = $test9"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -1814,6 +1814,11 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/contains.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("extensionFunctionManyArgs.kt")
|
||||
public void testExtensionFunctionManyArgs() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/extensionFunctionManyArgs.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("extentionFunction.kt")
|
||||
public void testExtentionFunction() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/extentionFunction.kt");
|
||||
@@ -1864,11 +1869,26 @@ public class BlackBoxCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/innerExtentionFunctionDoubleTwoArgs.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("innerExtentionFunctionManyArgs.kt")
|
||||
public void testInnerExtentionFunctionManyArgs() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/innerExtentionFunctionManyArgs.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("memberFunctionManyArgs.kt")
|
||||
public void testMemberFunctionManyArgs() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/memberFunctionManyArgs.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("mixingNamedAndPositioned.kt")
|
||||
public void testMixingNamedAndPositioned() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/mixingNamedAndPositioned.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("topLevelManyArgs.kt")
|
||||
public void testTopLevelManyArgs() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/topLevelManyArgs.kt");
|
||||
}
|
||||
|
||||
@TestMetadata("trait.kt")
|
||||
public void testTrait() throws Exception {
|
||||
doTest("compiler/testData/codegen/box/defaultArguments/function/trait.kt");
|
||||
|
||||
+30
-1
@@ -31,7 +31,7 @@ import org.jetbrains.jet.codegen.generated.AbstractBlackBoxCodegenTest;
|
||||
/** This class is generated by {@link org.jetbrains.jet.generators.tests.TestsPackage}. DO NOT MODIFY MANUALLY */
|
||||
@SuppressWarnings("all")
|
||||
@TestMetadata("compiler/testData/codegen/boxWithStdlib")
|
||||
@InnerTestClasses({BlackBoxWithStdlibCodegenTestGenerated.Annotations.class, BlackBoxWithStdlibCodegenTestGenerated.Arrays.class, BlackBoxWithStdlibCodegenTestGenerated.BoxingOptimization.class, BlackBoxWithStdlibCodegenTestGenerated.CallableReference.class, BlackBoxWithStdlibCodegenTestGenerated.Casts.class, BlackBoxWithStdlibCodegenTestGenerated.DataClasses.class, BlackBoxWithStdlibCodegenTestGenerated.Evaluate.class, BlackBoxWithStdlibCodegenTestGenerated.FullJdk.class, BlackBoxWithStdlibCodegenTestGenerated.HashPMap.class, BlackBoxWithStdlibCodegenTestGenerated.JdkAnnotations.class, BlackBoxWithStdlibCodegenTestGenerated.PlatformNames.class, BlackBoxWithStdlibCodegenTestGenerated.Ranges.class, BlackBoxWithStdlibCodegenTestGenerated.Reflection.class, BlackBoxWithStdlibCodegenTestGenerated.Regressions.class, BlackBoxWithStdlibCodegenTestGenerated.Strings.class, BlackBoxWithStdlibCodegenTestGenerated.ToArray.class, BlackBoxWithStdlibCodegenTestGenerated.Vararg.class, BlackBoxWithStdlibCodegenTestGenerated.When.class, BlackBoxWithStdlibCodegenTestGenerated.WhenEnumOptimization.class, BlackBoxWithStdlibCodegenTestGenerated.WhenStringOptimization.class})
|
||||
@InnerTestClasses({BlackBoxWithStdlibCodegenTestGenerated.Annotations.class, BlackBoxWithStdlibCodegenTestGenerated.Arrays.class, BlackBoxWithStdlibCodegenTestGenerated.BoxingOptimization.class, BlackBoxWithStdlibCodegenTestGenerated.CallableReference.class, BlackBoxWithStdlibCodegenTestGenerated.Casts.class, BlackBoxWithStdlibCodegenTestGenerated.DataClasses.class, BlackBoxWithStdlibCodegenTestGenerated.DefaultArguments.class, BlackBoxWithStdlibCodegenTestGenerated.Evaluate.class, BlackBoxWithStdlibCodegenTestGenerated.FullJdk.class, BlackBoxWithStdlibCodegenTestGenerated.HashPMap.class, BlackBoxWithStdlibCodegenTestGenerated.JdkAnnotations.class, BlackBoxWithStdlibCodegenTestGenerated.PlatformNames.class, BlackBoxWithStdlibCodegenTestGenerated.Ranges.class, BlackBoxWithStdlibCodegenTestGenerated.Reflection.class, BlackBoxWithStdlibCodegenTestGenerated.Regressions.class, BlackBoxWithStdlibCodegenTestGenerated.Strings.class, BlackBoxWithStdlibCodegenTestGenerated.ToArray.class, BlackBoxWithStdlibCodegenTestGenerated.Vararg.class, BlackBoxWithStdlibCodegenTestGenerated.When.class, BlackBoxWithStdlibCodegenTestGenerated.WhenEnumOptimization.class, BlackBoxWithStdlibCodegenTestGenerated.WhenStringOptimization.class})
|
||||
public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCodegenTest {
|
||||
public void testAllFilesPresentInBoxWithStdlib() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/codegen/boxWithStdlib"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
@@ -901,6 +901,34 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/boxWithStdlib/defaultArguments")
|
||||
@InnerTestClasses({DefaultArguments.Constructor.class})
|
||||
public static class DefaultArguments extends AbstractBlackBoxCodegenTest {
|
||||
public void testAllFilesPresentInDefaultArguments() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/codegen/boxWithStdlib/defaultArguments"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/boxWithStdlib/defaultArguments/constructor")
|
||||
public static class Constructor extends AbstractBlackBoxCodegenTest {
|
||||
public void testAllFilesPresentInConstructor() throws Exception {
|
||||
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), "org.jetbrains.jet.generators.tests.TestsPackage", new File("compiler/testData/codegen/boxWithStdlib/defaultArguments/constructor"), Pattern.compile("^(.+)\\.kt$"), true);
|
||||
}
|
||||
|
||||
@TestMetadata("manyArgs.kt")
|
||||
public void testManyArgs() throws Exception {
|
||||
doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/defaultArguments/constructor/manyArgs.kt");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static Test innerSuite() {
|
||||
TestSuite suite = new TestSuite("DefaultArguments");
|
||||
suite.addTestSuite(DefaultArguments.class);
|
||||
suite.addTestSuite(Constructor.class);
|
||||
return suite;
|
||||
}
|
||||
}
|
||||
|
||||
@TestMetadata("compiler/testData/codegen/boxWithStdlib/evaluate")
|
||||
public static class Evaluate extends AbstractBlackBoxCodegenTest {
|
||||
public void testAllFilesPresentInEvaluate() throws Exception {
|
||||
@@ -2082,6 +2110,7 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode
|
||||
suite.addTest(CallableReference.innerSuite());
|
||||
suite.addTestSuite(Casts.class);
|
||||
suite.addTest(DataClasses.innerSuite());
|
||||
suite.addTest(DefaultArguments.innerSuite());
|
||||
suite.addTestSuite(Evaluate.class);
|
||||
suite.addTest(FullJdk.innerSuite());
|
||||
suite.addTestSuite(HashPMap.class);
|
||||
|
||||
Reference in New Issue
Block a user