| // 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) => t; |
| |
| class Class1<T> { |
| const Class1(); |
| } |
| |
| class Class2<T> { |
| 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<T, S> extends Class2<T> { |
| 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<T, S> extends Class3<T, S> { |
| 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 <dynamic>[]*/ []; |
| const listConstant2 = <int> |
| /*normal|limited.const <int>[]*/ |
| /*verbose.const <dart.core::int>[]*/ |
| []; |
| const listConstant3 = <int> |
| /*normal|limited.const <int>[0]*/ |
| /*verbose.const <dart.core::int>[0]*/ |
| [0]; |
| const listConstant4 = <int?> |
| /*normal|limited.const <int?>[0, 1]*/ |
| /*verbose.const <dart.core::int?>[0, 1]*/ |
| [0, 1]; |
| const setConstant1 = <int> |
| /*normal|limited.const <int>{}*/ |
| /*verbose.const <dart.core::int>{}*/ |
| {}; |
| const setConstant2 = <int> |
| /*normal|limited.const <int>{0}*/ |
| /*verbose.const <dart.core::int>{0}*/ |
| {0}; |
| const setConstant3 = <int?> |
| /*normal|limited.const <int?>{0, 1}*/ |
| /*verbose.const <dart.core::int?>{0, 1}*/ |
| {0, 1}; |
| const mapConstant1 = /*const <dynamic, dynamic>{}*/ {}; |
| const mapConstant2 = <int, String> |
| /*normal|limited.const <int, String>{}*/ |
| /*verbose.const <dart.core::int, dart.core::String>{}*/ |
| {}; |
| const mapConstant3 = <int, String> |
| /*normal|limited.const <int, String>{0: "foo"}*/ |
| /*verbose.const <dart.core::int, dart.core::String>{0: "foo"}*/ |
| {0: "foo"}; |
| const mapConstant4 = <int, String?> |
| /*normal|limited.const <int, String?>{0: "foo", 1: "bar"}*/ |
| /*verbose.const <dart.core::int, dart.core::String?>{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<int>*/ |
| /*verbose.library org-dartlang-test:///a/b/c/main.dart::id<dart.core::int>*/ |
| 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<dynamic>{}*/ |
| /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class1<dynamic>{}*/ |
| Class1(); |
| const instanceConstant2 = const |
| /*normal|limited.const Class1<int>{}*/ |
| /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class1<dart.core::int>{}*/ |
| Class1<int>(); |
| const instanceConstant3 = const |
| /*normal|limited.const Class1<int>{}*/ |
| /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class1<dart.core::int>{}*/ |
| Class1<int>(); |
| const instanceConstant4 = const |
| /*normal|limited.const Class2<int>{Class2.field1: 0}*/ |
| /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class2<dart.core::int>{library org-dartlang-test:///a/b/c/main.dart::Class2.field1: 0}*/ |
| Class2(0); |
| const instanceConstant5 = const |
| /*normal|limited.const Class2<num>{Class2.field1: 42}*/ |
| /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class2<dart.core::num>{library org-dartlang-test:///a/b/c/main.dart::Class2.field1: 42}*/ |
| Class2<num>(42); |
| const instanceConstant6 = const |
| /*normal|limited.const Class3<int, String>{Class3.field2: "foo", Class2.field1: 42}*/ |
| /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class3<dart.core::int, dart.core::String>{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<int, String>(42, "foo"); |
| const instanceConstant7 = const |
| /*normal|limited.const Class4<int, String?>{Class4.field2: "baz", Class3.field2: "foo", Class2.field1: 42}*/ |
| /*verbose.const library org-dartlang-test:///a/b/c/main.dart::Class4<dart.core::int, dart.core::String?>{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<int, String?>(42, "foo", "baz"); |