blob: a04f242bd4b5ad1fdc22b0db9507f2f0e96d1ddd [file] [log] [blame]
// 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.
main() {
use1(new Class1());
use2(new Class2());
}
@pragma('dart2js:noInline')
use(Object o) {
print(o);
}
@pragma('dart2js:noInline')
use1(Class1 c1) {
c1.field0a = null;
c1.field1a = null;
c1.field2a = null;
c1.field3a = null;
c1.field4a = null;
c1.field5a = null;
c1.field6a = null;
c1.field7a = null;
c1.field8a = null;
c1.field9a = null;
c1.field9c = null;
c1.field10a = null;
c1.field10c = null;
c1.field11a = null;
c1.field12a = null;
c1.field13a = null;
use(c1.field0a);
use(c1.field0b);
use(c1.field1a);
use(c1.field1b);
use(c1.field2a);
use(c1.field2b);
use(c1.field3a);
use(c1.field3b);
use(c1.field4a);
use(c1.field4b);
use(c1.field5a);
use(c1.field5b);
use(c1.field6a);
use(c1.field6b);
use(c1.field7a);
use(c1.field7b);
use(c1.field8a);
use(c1.field8b);
use(c1.field9a);
use(c1.field9b);
use(c1.field9c);
use(c1.field9d);
use(c1.field10a);
use(c1.field10b);
use(c1.field10c);
use(c1.field10d);
use(c1.field11a);
use(c1.field11b);
use(c1.field12a);
use(c1.field12b);
use(c1.field13a);
use(c1.field13b);
}
@pragma('dart2js:noInline')
use2(Class2 c2) {
c2.field1a = null;
c2.field2a = null;
c2.field3a = null;
c2.field4a = null;
c2.field5a = null;
c2.field6a = null;
c2.field7a = null;
c2.field8a = null;
c2.field9a = null;
c2.field9c = null;
c2.field10a = null;
c2.field10c = null;
c2.field11a = null;
c2.field12a = null;
c2.field13a = null;
use(c2.field1a);
use(c2.field1b);
use(c2.field2a);
use(c2.field2b);
use(c2.field3a);
use(c2.field3b);
use(c2.field4a);
use(c2.field4b);
use(c2.field5a);
use(c2.field5b);
use(c2.field6a);
use(c2.field6b);
use(c2.field7a);
use(c2.field7b);
use(c2.field8a);
use(c2.field8b);
use(c2.field9a);
use(c2.field9b);
use(c2.field9c);
use(c2.field9d);
use(c2.field10a);
use(c2.field10b);
use(c2.field10c);
use(c2.field10d);
use(c2.field11a);
use(c2.field11b);
use(c2.field12a);
use(c2.field12b);
use(c2.field13a);
use(c2.field13b);
}
/*strong.element: const1:constant=BoolConstant(true)*/
const bool const1 = true;
class Class1 {
/*element: Class1.field0a:allocator,initial=NullConstant*/
var field0a;
/*element: Class1.field0b:constant=NullConstant*/
var field0b;
/*element: Class1.field1a:allocator,initial=NullConstant*/
var field1a = null;
/*element: Class1.field1b:constant=NullConstant*/
var field1b = null;
/*element: Class1.field2a:allocator,initial=BoolConstant(true)*/
var field2a = true;
/*element: Class1.field2b:constant=BoolConstant(true)*/
var field2b = true;
/*element: Class1.field3a:allocator,initial=BoolConstant(false)*/
var field3a = false;
/*element: Class1.field3b:constant=BoolConstant(false)*/
var field3b = false;
/*element: Class1.field4a:allocator,initial=IntConstant(0)*/
var field4a = 0;
/*element: Class1.field4b:constant=IntConstant(0)*/
var field4b = 0;
/*element: Class1.field5a:allocator,initial=IntConstant(1)*/
var field5a = 1;
/*element: Class1.field5b:constant=IntConstant(1)*/
var field5b = 1;
/*element: Class1.field6a:allocator,initial=StringConstant("")*/
var field6a = '';
/*element: Class1.field6b:constant=StringConstant("")*/
var field6b = '';
/*element: Class1.field7a:allocator,initial=StringConstant("foo")*/
var field7a = 'foo';
/*element: Class1.field7b:constant=StringConstant("foo")*/
var field7b = 'foo';
/*element: Class1.field8a:initial=DoubleConstant(0.5)*/
var field8a = 0.5;
/*element: Class1.field8b:constant=DoubleConstant(0.5)*/
var field8b = 0.5;
/*element: Class1.field9a:initial=ListConstant([])*/
var field9a = const [];
/*element: Class1.field9b:constant=ListConstant([])*/
var field9b = const [];
/*element: Class1.field9c:initial=ListConstant(<int>[IntConstant(0), IntConstant(1)])*/
var field9c = const [0, 1];
/*element: Class1.field9d:constant=ListConstant(<int>[IntConstant(0), IntConstant(1), IntConstant(2)])*/
var field9d = const [0, 1, 2];
/*element: Class1.field10a:initial=MapConstant({})*/
var field10a = const {};
/*element: Class1.field10b:constant=MapConstant({})*/
var field10b = const {};
/*element: Class1.field10c:initial=MapConstant(<int, int>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3)})*/
var field10c = const {0: 1, 2: 3};
/*element: Class1.field10d:constant=MapConstant(<int, int>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3), IntConstant(4): IntConstant(5)})*/
var field10d = const {0: 1, 2: 3, 4: 5};
/*element: Class1.field11a:initial=ConstructedConstant(Symbol(_name=StringConstant("foo")))*/
var field11a = #foo;
/*element: Class1.field11b:constant=ConstructedConstant(Symbol(_name=StringConstant("foo")))*/
var field11b = #foo;
/*element: Class1.field12a:allocator,initial=IntConstant(5)*/
var field12a = 2 + 3;
/*element: Class1.field12b:constant=IntConstant(5)*/
var field12b = 2 + 3;
/*element: Class1.field13a:allocator,initial=BoolConstant(true)*/
var field13a = const1;
/*element: Class1.field13b:constant=BoolConstant(true)*/
var field13b = const1;
}
class Class2 {
/*element: Class2.field1a:allocator,initial=NullConstant*/
var field1a;
/*element: Class2.field1b:constant=NullConstant*/
var field1b;
/*element: Class2.field2a:allocator,initial=BoolConstant(true)*/
var field2a;
/*element: Class2.field2b:constant=BoolConstant(true)*/
var field2b;
/*element: Class2.field3a:allocator,initial=BoolConstant(false)*/
var field3a;
/*element: Class2.field3b:constant=BoolConstant(false)*/
var field3b;
/*element: Class2.field4a:allocator,initial=IntConstant(0)*/
var field4a;
/*element: Class2.field4b:constant=IntConstant(0)*/
var field4b;
/*element: Class2.field5a:allocator,initial=IntConstant(1)*/
var field5a;
/*element: Class2.field5b:constant=IntConstant(1)*/
var field5b;
/*element: Class2.field6a:allocator,initial=StringConstant("")*/
var field6a;
/*element: Class2.field6b:constant=StringConstant("")*/
var field6b;
/*element: Class2.field7a:allocator,initial=StringConstant("foo")*/
var field7a;
/*element: Class2.field7b:constant=StringConstant("foo")*/
var field7b;
/*element: Class2.field8a:initial=DoubleConstant(0.5)*/
var field8a;
/*element: Class2.field8b:constant=DoubleConstant(0.5)*/
var field8b;
/*element: Class2.field9a:initial=ListConstant([])*/
var field9a;
/*element: Class2.field9b:constant=ListConstant([])*/
var field9b;
/*element: Class2.field9c:initial=ListConstant(<int>[IntConstant(0), IntConstant(1)])*/
var field9c;
/*element: Class2.field9d:constant=ListConstant(<int>[IntConstant(0), IntConstant(1), IntConstant(2)])*/
var field9d;
/*element: Class2.field10a:initial=MapConstant({})*/
var field10a;
/*element: Class2.field10b:constant=MapConstant({})*/
var field10b;
/*element: Class2.field10c:initial=MapConstant(<int, int>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3)})*/
var field10c;
/*element: Class2.field10d:constant=MapConstant(<int, int>{IntConstant(0): IntConstant(1), IntConstant(2): IntConstant(3), IntConstant(4): IntConstant(5)})*/
var field10d;
/*element: Class2.field11a:initial=ConstructedConstant(Symbol(_name=StringConstant("foo")))*/
var field11a;
/*element: Class2.field11b:constant=ConstructedConstant(Symbol(_name=StringConstant("foo")))*/
var field11b;
/*element: Class2.field12a:allocator,initial=IntConstant(5)*/
var field12a;
/*element: Class2.field12b:constant=IntConstant(5)*/
var field12b;
/*element: Class2.field13a:allocator,initial=BoolConstant(true)*/
var field13a;
/*element: Class2.field13b:constant=BoolConstant(true)*/
var field13b;
Class2()
: field1a = null,
field1b = null,
field2a = true,
field2b = true,
field3a = false,
field3b = false,
field4a = 0,
field4b = 0,
field5a = 1,
field5b = 1,
field6a = '',
field6b = '',
field7a = 'foo',
field7b = 'foo',
field8a = 0.5,
field8b = 0.5,
field9a = const [],
field9b = const [],
field9c = const [0, 1],
field9d = const [0, 1, 2],
field10a = const {},
field10b = const {},
field10c = const {0: 1, 2: 3},
field10d = const {0: 1, 2: 3, 4: 5},
field11a = #foo,
field11b = #foo,
field12a = 2 + 3,
field12b = 2 + 3,
field13a = const1,
field13b = const1;
}