blob: 6f393ef49aa3617295855b602754b9b9d61e84bb [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() {
print(field1a);
print(field1b);
print(field1c);
print(field2a);
print(field2b);
print(field2c);
print(field3a);
print(field3b);
print(field3c);
print(field3d);
print(field3e);
print(field3f);
print(field3g);
print(field3h);
print(field4a);
print(field4b);
print(field4c);
print(field5a);
print(field5b);
print(field5c);
print(field6a);
print(field6b);
print(field6c);
print(field7a);
print(field7b);
print(field7c);
print(field7d);
print(field7e);
print(field8a);
print(field8b);
print(field8c);
print(field8d);
print(field9a);
print(field9b);
print(field9c);
print(field10a);
print(field10b);
}
method() {}
class Class {
const Class.generative();
const factory Class.fact() = Class.generative;
}
/*element: field1a:complexity=constant,initial=IntConstant(0)*/
final field1a = 0;
/*element: field1b:complexity=constant,initial=IntConstant(0)*/
var field1b = 0;
/*element: field1c:complexity=constant,initial=IntConstant(0)*/
const field1c = 0;
/*element: field2a:complexity=constant,initial=ListConstant([])*/
final field2a = const [];
/*element: field2b:complexity=constant,initial=ListConstant([])*/
var field2b = const [];
/*element: field2c:complexity=constant,initial=ListConstant([])*/
const field2c = const [];
/*element: field3a:complexity=eager*/
final field3a = [];
/*element: field3b:complexity=eager*/
var field3b = [];
/*element: field3c:complexity=eager*/
var field3c = [];
/*element: field3d:complexity=eager*/
var field3d = [1, 2, 3];
/*element: field3e:complexity=eager*/
var field3e = [
1,
2,
[
3,
4,
[5, 6, method]
]
];
/*element: field3f:complexity=lazy*/
var field3f = [
1,
2,
[
3,
4,
[5, 6, method()]
]
];
/*element: field3g:complexity=lazy*/
var field3g = [method()];
// TODO(johnniwinther): Recognize this as of eager complexity.
/*element: field3h:complexity=lazy*/
var field3h = [1 + 3];
// TODO(johnniwinther): Recognize `field4*` as of constant complexity.
/*element: field4a:complexity=lazy,initial=IntConstant(5)*/
final field4a = 2 + 3;
/*element: field4b:complexity=lazy,initial=IntConstant(5)*/
var field4b = 2 + 3;
/*element: field4c:complexity=lazy,initial=IntConstant(5)*/
const field4c = 2 + 3;
/*element: field5a:complexity=constant,initial=FunctionConstant(method)*/
final field5a = method;
/*element: field5b:complexity=constant,initial=FunctionConstant(method)*/
var field5b = method;
/*element: field5c:complexity=constant,initial=FunctionConstant(method)*/
const field5c = method;
/*element: field6a:complexity=constant,initial=ConstructedConstant(Class())*/
var field6a = const Class.generative();
/*element: field6b:complexity=constant,initial=ConstructedConstant(Class())*/
var field6b = const Class.fact();
/*element: field6c:complexity=lazy*/
var field6c = method();
/*element: field7a:complexity=eager*/
var field7a = {};
/*element: field7b:complexity=eager*/
var field7b = {0: 1};
/*element: field7c:complexity=eager*/
var field7c = {0: method};
/*element: field7d:complexity=lazy*/
var field7d = {0: method()};
/*element: field7e:complexity=lazy*/
var field7e = {method(): 0};
/*element: field8a:complexity=eager*/
var field8a = {};
/*element: field8b:complexity=eager*/
var field8b = {0};
/*element: field8c:complexity=eager*/
var field8c = {method};
/*element: field8d:complexity=lazy*/
var field8d = {method()};
/*element: field9a:complexity=eager*/
var field9a = [];
/*element: field9b:complexity=eager&fields=[field9a]*/
var field9b = field9a;
/*element: field9c:complexity=eager&fields=[field9b]*/
var field9c = [field9b];
/*element: field10a:complexity=eager&fields=[field10b]*/
int field10a = field10b;
/*element: field10b:complexity=eager&fields=[field10a]*/
int field10b = field10a;