// 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. /*library: nnbd=true*/ T id(T /*T%*/ t) => t; class Class1 { const Class1(); } class Class2 { final T field1; const Class2( this. /*normal|limited.Class2.T%*/ /*verbose.library org-dartlang-test:///a/b/c/main.dart::Class2.T%*/ field1); } class Class3 extends Class2 { final S field2; const Class3( T /*normal|limited.Class3.T%*/ /*verbose.library org-dartlang-test:///a/b/c/main.dart::Class3.T%*/ field1, this. /*normal|limited.Class3.S%*/ /*verbose.library org-dartlang-test:///a/b/c/main.dart::Class3.S%*/ field2) : super(field1); } class Class4 extends Class3 { final S field2; const Class4( T /*normal|limited.Class4.T%*/ /*verbose.library org-dartlang-test:///a/b/c/main.dart::Class4.T%*/ field1, S /*normal|limited.Class4.S%*/ /*verbose.library org-dartlang-test:///a/b/c/main.dart::Class4.S%*/ shadowedField2, this. /*normal|limited.Class4.S%*/ /*verbose.library org-dartlang-test:///a/b/c/main.dart::Class4.S%*/ field2) : super(field1, shadowedField2); } const nullConstant = /*null*/ null; const trueConstant = /*true*/ true; const falseConstant = /*false*/ false; const intConstant = /*42*/ 42; const doubleConstant = /*3.14*/ 3.14; const stringConstant = /*"foo"*/ "foo"; const symbolConstant = /*#name*/ #name; const privateSymbolConstant = /*normal|limited.#_privateName*/ /*verbose.#library org-dartlang-test:///a/b/c/main.dart::_privateName*/ #_privateName; const listConstant1 = /*const []*/ []; const listConstant2 = /*normal|limited.const []*/ /*verbose.const []*/ []; const listConstant3 = /*normal|limited.const [0]*/ /*verbose.const [0]*/ [0]; const listConstant4 = /*normal|limited.const [0, 1]*/ /*verbose.const [0, 1]*/ [0, 1]; const setConstant1 = /*normal|limited.const {}*/ /*verbose.const {}*/ {}; const setConstant2 = /*normal|limited.const {0}*/ /*verbose.const {0}*/ {0}; const setConstant3 = /*normal|limited.const {0, 1}*/ /*verbose.const {0, 1}*/ {0, 1}; const mapConstant1 = /*const {}*/ {}; const mapConstant2 = /*normal|limited.const {}*/ /*verbose.const {}*/ {}; const mapConstant3 = /*normal|limited.const {0: "foo"}*/ /*verbose.const {0: "foo"}*/ {0: "foo"}; const mapConstant4 = /*normal|limited.const {0: "foo", 1: "bar"}*/ /*verbose.const {0: "foo", 1: "bar"}*/ {0: "foo", 1: "bar"}; const tearOffConstant = /*normal|limited.id*/ /*verbose.library org-dartlang-test:///a/b/c/main.dart::id*/ id; const int Function(int) partialInitializationConstant = /*normal|limited.id*/ /*verbose.library org-dartlang-test:///a/b/c/main.dart::id*/ id; const boolHasEnvironmentConstant = const /*normal|limited.unevaluated{bool.hasEnvironment("foo")}*/ /*verbose.unevaluated{{org-dartlang-test:///a/b/c/main.dart}dart.core::bool.hasEnvironment("foo")}*/ bool.hasEnvironment("foo"); const boolFromEnvironmentConstant = const /*normal|limited.unevaluated{bool.fromEnvironment("foo", defaultValue: true)}*/ /*verbose.unevaluated{{org-dartlang-test:///a/b/c/main.dart}dart.core::bool.fromEnvironment("foo", defaultValue: true)}*/ bool.fromEnvironment("foo", defaultValue: true); const intFromEnvironmentConstant = const /*normal|limited.unevaluated{int.fromEnvironment("foo", defaultValue: 87)}*/ /*verbose.unevaluated{{org-dartlang-test:///a/b/c/main.dart}dart.core::int.fromEnvironment("foo", defaultValue: 87)}*/ int.fromEnvironment("foo", defaultValue: 87); const stringFromEnvironmentConstant = const /*normal|limited.unevaluated{String.fromEnvironment("foo", defaultValue: "bar")}*/ /*verbose.unevaluated{{org-dartlang-test:///a/b/c/main.dart}dart.core::String.fromEnvironment("foo", defaultValue: "bar")}*/ String.fromEnvironment("foo", defaultValue: "bar"); const instanceConstant1 = const /*normal|limited.const Class1{}*/ /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class1{}*/ Class1(); const instanceConstant2 = const /*normal|limited.const Class1{}*/ /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class1{}*/ Class1(); const instanceConstant3 = const /*normal|limited.const Class1{}*/ /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class1{}*/ Class1(); const instanceConstant4 = const /*normal|limited.const Class2{Class2.field1: 0}*/ /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class2{library org-dartlang-test:///a/b/c/main.dart::Class2.field1: 0}*/ Class2(0); const instanceConstant5 = const /*normal|limited.const Class2{Class2.field1: 42}*/ /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class2{library org-dartlang-test:///a/b/c/main.dart::Class2.field1: 42}*/ Class2(42); const instanceConstant6 = const /*normal|limited.const Class3{Class3.field2: "foo", Class2.field1: 42}*/ /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class3{library org-dartlang-test:///a/b/c/main.dart::Class3.field2: "foo", library org-dartlang-test:///a/b/c/main.dart::Class2.field1: 42}*/ Class3(42, "foo"); const instanceConstant7 = const /*normal|limited.const Class4{Class4.field2: "baz", Class3.field2: "foo", Class2.field1: 42}*/ /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class4{library org-dartlang-test:///a/b/c/main.dart::Class4.field2: "baz", library org-dartlang-test:///a/b/c/main.dart::Class3.field2: "foo", library org-dartlang-test:///a/b/c/main.dart::Class2.field1: 42}*/ Class4(42, "foo", "baz");