blob: efdc0ad0f943a22036f1241954baaf68f2fc1acc [file] [log] [blame]
// Copyright (c) 2020, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
//
// Tests that functions with large number of optional positional parameters
// are compiled correctly and don't overflow instruction encoding.
import 'package:expect/expect.dart';
class CCC {
var a00;
var a01;
var a02;
var a03;
var a04;
var a05;
var a06;
var a07;
var a08;
var a09;
var a10;
var a11;
var a12;
var a13;
var a14;
var a15;
var a16;
var a17;
var a18;
var a19;
var a20;
var a21;
var a22;
var a23;
var a24;
var a25;
var a26;
var a27;
var a28;
var a29;
var a30;
var a31;
var a32;
var a33;
var a34;
var a35;
var a36;
var a37;
var a38;
var a39;
var a40;
var a41;
var a42;
var a43;
var a44;
var a45;
var a46;
var a47;
var a48;
var a49;
CCC(
[this.a00 = 'a00',
this.a01 = 'a01',
this.a02 = 'a02',
this.a03 = 'a03',
this.a04 = 'a04',
this.a05 = 'a05',
this.a06 = 'a06',
this.a07 = 'a07',
this.a08 = 'a08',
this.a09 = 'a09',
this.a10 = 'a10',
this.a11 = 'a11',
this.a12 = 'a12',
this.a13 = 'a13',
this.a14 = 'a14',
this.a15 = 'a15',
this.a16 = 'a16',
this.a17 = 'a17',
this.a18 = 'a18',
this.a19 = 'a19',
this.a20 = 'a20',
this.a21 = 'a21',
this.a22 = 'a22',
this.a23 = 'a23',
this.a24 = 'a24',
this.a25 = 'a25',
this.a26 = 'a26',
this.a27 = 'a27',
this.a28 = 'a28',
this.a29 = 'a29',
this.a30 = 'a30',
this.a31 = 'a31',
this.a32 = 'a32',
this.a33 = 'a33',
this.a34 = 'a34',
this.a35 = 'a35',
this.a36 = 'a36',
this.a37 = 'a37',
this.a38 = 'a38',
this.a39 = 'a39',
this.a40 = 'a40',
this.a41 = 'a41',
this.a42 = 'a42',
this.a43 = 'a43',
this.a44 = 'a44',
this.a45 = 'a45',
this.a46 = 'a46',
this.a47 = 'a47',
this.a48 = 'a48',
this.a49 = 'a49']) {}
}
void main() {
final o = CCC();
Expect.equals('a00', o.a00);
Expect.equals('a01', o.a01);
Expect.equals('a02', o.a02);
Expect.equals('a03', o.a03);
Expect.equals('a04', o.a04);
Expect.equals('a05', o.a05);
Expect.equals('a06', o.a06);
Expect.equals('a07', o.a07);
Expect.equals('a08', o.a08);
Expect.equals('a09', o.a09);
Expect.equals('a10', o.a10);
Expect.equals('a11', o.a11);
Expect.equals('a12', o.a12);
Expect.equals('a13', o.a13);
Expect.equals('a14', o.a14);
Expect.equals('a15', o.a15);
Expect.equals('a16', o.a16);
Expect.equals('a17', o.a17);
Expect.equals('a18', o.a18);
Expect.equals('a19', o.a19);
Expect.equals('a20', o.a20);
Expect.equals('a21', o.a21);
Expect.equals('a22', o.a22);
Expect.equals('a23', o.a23);
Expect.equals('a24', o.a24);
Expect.equals('a25', o.a25);
Expect.equals('a26', o.a26);
Expect.equals('a27', o.a27);
Expect.equals('a28', o.a28);
Expect.equals('a29', o.a29);
Expect.equals('a30', o.a30);
Expect.equals('a31', o.a31);
Expect.equals('a32', o.a32);
Expect.equals('a33', o.a33);
Expect.equals('a34', o.a34);
Expect.equals('a35', o.a35);
Expect.equals('a36', o.a36);
Expect.equals('a37', o.a37);
Expect.equals('a38', o.a38);
Expect.equals('a39', o.a39);
Expect.equals('a40', o.a40);
Expect.equals('a41', o.a41);
Expect.equals('a42', o.a42);
Expect.equals('a43', o.a43);
Expect.equals('a44', o.a44);
Expect.equals('a45', o.a45);
Expect.equals('a46', o.a46);
Expect.equals('a47', o.a47);
Expect.equals('a48', o.a48);
Expect.equals('a49', o.a49);
}