Files
sdk/pkg/compiler/test/field_analysis/jdata/optional_parameters.dart
T
Joshua Litt 20faaa5d94 [dart2js] Move dart2js unit tests to pkg/compiler/test.
Change-Id: Ib18f554c1076f27a3f7c0df5a36410da41a1f467
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148784
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2020-05-28 18:51:11 +00:00

90 lines
1.8 KiB
Dart

// Copyright (c) 2019, 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.
// @dart = 2.7
main() {
var c1a = new Class1a(0);
new Class1a(0, 1);
c1a.field1 = null;
c1a.field2 = null;
c1a.field3 = null;
print(c1a.field1);
print(c1a.field2);
print(c1a.field3);
var c1b = new Class1b(0);
new Class1b(0, 1);
print(c1b.field1);
print(c1b.field2);
print(c1b.field3);
var c2a = new Class2a(0);
new Class2a(0, field2: 1);
c2a.field1 = null;
c2a.field2 = null;
c2a.field3 = null;
print(c2a.field1);
print(c2a.field2);
print(c2a.field3);
var c2b = new Class2b(0);
new Class2b(0, field2: 1);
print(c2b.field1);
print(c2b.field2);
print(c2b.field3);
}
class Class1a {
/*member: Class1a.field1:*/
var field1;
/*member: Class1a.field2:*/
var field2;
/*member: Class1a.field3:allocator,initial=IntConstant(3)*/
var field3;
Class1a(this.field1, [this.field2 = 2, this.field3 = 3]);
}
class Class1b {
/*member: Class1b.field1:*/
var field1;
/*member: Class1b.field2:*/
var field2;
/*member: Class1b.field3:constant=IntConstant(3)*/
var field3;
Class1b(this.field1, [this.field2 = 2, this.field3 = 3]);
}
class Class2a {
/*member: Class2a.field1:*/
var field1;
/*member: Class2a.field2:*/
var field2;
/*member: Class2a.field3:allocator,initial=IntConstant(3)*/
var field3;
Class2a(this.field1, {this.field2 = 2, this.field3 = 3});
}
class Class2b {
/*member: Class2b.field1:*/
var field1;
/*member: Class2b.field2:*/
var field2;
/*member: Class2b.field3:constant=IntConstant(3)*/
var field3;
Class2b(this.field1, {this.field2 = 2, this.field3 = 3});
}