OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library analyze_unused_dart2js; | 5 library analyze_unused_dart2js; |
6 | 6 |
7 import 'package:async_helper/async_helper.dart'; | 7 import 'package:async_helper/async_helper.dart'; |
8 | 8 |
9 import 'package:compiler/src/compiler.dart'; | 9 import 'package:compiler/src/compiler.dart'; |
10 import 'package:compiler/src/diagnostics/messages.dart'; | 10 import 'package:compiler/src/diagnostics/messages.dart'; |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
74 asyncTest(() => analyze([uri], WHITE_LIST, | 74 asyncTest(() => analyze([uri], WHITE_LIST, |
75 analyzeAll: false, checkResults: checkResults)); | 75 analyzeAll: false, checkResults: checkResults)); |
76 } | 76 } |
77 | 77 |
78 bool checkResults(Compiler compiler, CollectingDiagnosticHandler handler) { | 78 bool checkResults(Compiler compiler, CollectingDiagnosticHandler handler) { |
79 var helperUri = currentDirectory.resolve( | 79 var helperUri = currentDirectory.resolve( |
80 'pkg/compiler/lib/src/helpers/helpers.dart'); | 80 'pkg/compiler/lib/src/helpers/helpers.dart'); |
81 void checkLive(member) { | 81 void checkLive(member) { |
82 if (member.isFunction) { | 82 if (member.isFunction) { |
83 if (compiler.enqueuer.resolution.hasBeenResolved(member)) { | 83 if (compiler.enqueuer.resolution.hasBeenResolved(member)) { |
84 compiler.reportHint(member, MessageKind.GENERIC, | 84 compiler.reportHint(compiler.createMessage( |
85 {'text': "Helper function in production code '$member'."}); | 85 member, MessageKind.GENERIC, |
| 86 {'text': "Helper function in production code '$member'."})); |
86 } | 87 } |
87 } else if (member.isClass) { | 88 } else if (member.isClass) { |
88 if (member.isResolved) { | 89 if (member.isResolved) { |
89 compiler.reportHint(member, MessageKind.GENERIC, | 90 compiler.reportHint(compiler.createMessage( |
90 {'text': "Helper class in production code '$member'."}); | 91 member, MessageKind.GENERIC, |
| 92 {'text': "Helper class in production code '$member'."})); |
91 } else { | 93 } else { |
92 member.forEachLocalMember(checkLive); | 94 member.forEachLocalMember(checkLive); |
93 } | 95 } |
94 } else if (member.isTypedef) { | 96 } else if (member.isTypedef) { |
95 if (member.isResolved) { | 97 if (member.isResolved) { |
96 compiler.reportHint(member, MessageKind.GENERIC, | 98 compiler.reportHint(compiler.createMessage( |
97 {'text': "Helper typedef in production code '$member'."}); | 99 member, MessageKind.GENERIC, |
| 100 {'text': "Helper typedef in production code '$member'."})); |
98 } | 101 } |
99 } | 102 } |
100 } | 103 } |
101 compiler.libraryLoader.lookupLibrary(helperUri).forEachLocalMember(checkLive); | 104 compiler.libraryLoader.lookupLibrary(helperUri).forEachLocalMember(checkLive); |
102 return handler.checkResults(); | 105 return handler.checkResults(); |
103 } | 106 } |
OLD | NEW |