| // 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. | |
| @pragma('dart2js:noInline') | |
| // No code to construct unused map. | |
| /*member: foo1:function() { | |
| return; | |
| }*/ | |
| void foo1() { | |
| var x = {}; | |
| return; | |
| } | |
| @pragma('dart2js:noInline') | |
| // No code to construct unused maps. | |
| /*member: foo2:function() { | |
| return; | |
| }*/ | |
| void foo2() { | |
| var x = {}; | |
| var y = <String, String>{}; | |
| return; | |
| } | |
| @pragma('dart2js:noInline') | |
| // No code to construct maps which become unused after list is removed. | |
| /*member: foo3:function() { | |
| return; | |
| }*/ | |
| void foo3() { | |
| var x = [{}, {}]; | |
| return; | |
| } | |
| @pragma('dart2js:noInline') | |
| // Constructor is inlined, allocation is removed, leaving maps unused. | |
| /*member: foo4:function() { | |
| return; | |
| }*/ | |
| void foo4() { | |
| var x = AAA4({}); | |
| return; | |
| } | |
| class AAA4 { | |
| Map<String, String> field1 = {}; | |
| Map<String, int> field2; | |
| AAA4(this.field2); | |
| } | |
| /*member: main:ignore*/ | |
| main() { | |
| foo1(); | |
| foo2(); | |
| foo3(); | |
| foo4(); | |
| } |