// 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() { print(field1a); print(field1b); field1c = null; print(field1c); print(field2a); print(field2b); field2c = null; print(field2c); print(field3a); print(field3b); field3c = null; 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(field9d); field9e = null; print(field9e); print(field9f); print(field9g); print(field9h); print(field9i); print(field10a); print(field10b); } method() {} class Class { const Class.generative(); const factory Class.fact() = Class.generative; } /*member: field1a:constant=IntConstant(0)*/ final field1a = 0; /*member: field1b:constant=IntConstant(0)*/ var field1b = 0; /*member: field1c:initial=IntConstant(0)*/ var field1c = 0; /*member: field2a:constant=ListConstant([])*/ final field2a = const []; /*member: field2b:constant=ListConstant([])*/ var field2b = const []; /*member: field2c:initial=ListConstant([])*/ var field2c = const []; /*member: field3a:eager,final*/ final field3a = []; /*member: field3b:eager,final*/ var field3b = []; /*member: field3c:eager*/ var field3c = []; /*member: field3d:eager,final*/ var field3d = [1, 2, 3]; /*member: field3e:eager,final*/ var field3e = [ 1, 2, [ 3, 4, [5, 6, method] ] ]; /*member: field3f:final,lazy*/ var field3f = [ 1, 2, [ 3, 4, [5, 6, method()] ] ]; /*member: field3g:final,lazy*/ var field3g = [method()]; /*member: field3h:final,eager*/ var field3h = [1 + 3]; /*member: field4a:constant=IntConstant(5)*/ final field4a = 2 + 3; /*member: field4b:constant=IntConstant(5)*/ var field4b = 2 + 3; const field4c = 2 + 3; /*member: field5a:constant=FunctionConstant(method)*/ final field5a = method; /*member: field5b:constant=FunctionConstant(method)*/ var field5b = method; const field5c = method; /*member: field6a:constant=ConstructedConstant(Class())*/ var field6a = const Class.generative(); /*member: field6b:constant=ConstructedConstant(Class())*/ var field6b = const Class.fact(); /*member: field6c:final,lazy*/ var field6c = method(); /*member: field7a:eager,final*/ var field7a = {}; /*member: field7b:eager,final*/ var field7b = {0: 1}; /*member: field7c:eager,final*/ var field7c = {0: method}; /*member: field7d:final,lazy*/ var field7d = {0: method()}; /*member: field7e:final,lazy*/ var field7e = {method(): 0}; /*member: field8a:eager,final*/ var field8a = {}; /*member: field8b:eager,final*/ var field8b = {0}; /*member: field8c:eager,final*/ var field8c = {method}; /*member: field8d:final,lazy*/ var field8d = {method()}; /*member: field9g:eager=[field9d],final,index=1*/ var field9g = field9d; /*member: field9a:eager,final*/ var field9a = []; /*member: field9c:eager=[field9b],final,index=3*/ var field9c = [field9b]; /*member: field9b:eager=[field9a],final,index=2*/ var field9b = field9a; // Because [field9g] is declared first and it depends upon [field9d], [field9d] // must be created before [field9g] and thus has a lower index than, say, // [field9b]. /*member: field9d:eager=[field9a],final,index=0*/ var field9d = [field9a]; /*member: field9e:eager*/ var field9e = []; /*member: field9f:final,lazy*/ var field9f = field9e; /*member: field9h:constant=ListConstant([])*/ var field9h = const []; /*member: field9i:eager,final*/ var field9i = [field9h]; /*member: field10a:final,lazy*/ int field10a = field10b; /*member: field10b:final,lazy*/ int field10b = field10a;