Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(720)

Side by Side Diff: tests/compiler/dart2js/embedded_category_api_boundary_test.dart

Issue 2527403002: Further encapsulate Enqueuer (Closed)
Patch Set: Cleanup. Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/compiler/tool/perf.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Fletch project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Fletch 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.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 /// Tests that analyzing everything from the libraries that are public from the 5 /// Tests that analyzing everything from the libraries that are public from the
6 /// embedded category does not cause elements from other libraries to be 6 /// embedded category does not cause elements from other libraries to be
7 /// processed. 7 /// processed.
8 library embedded_category_boundary_test; 8 library embedded_category_boundary_test;
9 9
10 import 'package:expect/expect.dart'; 10 import 'package:expect/expect.dart';
11 import 'package:async_helper/async_helper.dart'; 11 import 'package:async_helper/async_helper.dart';
12 import 'package:compiler/src/compiler.dart'; 12 import 'package:compiler/src/compiler.dart';
13 import 'package:compiler/src/elements/elements.dart'; 13 import 'package:compiler/src/elements/elements.dart';
14 import 'package:sdk_library_metadata/libraries.dart'; 14 import 'package:sdk_library_metadata/libraries.dart';
15 15
16 import 'analyze_helper.dart'; 16 import 'analyze_helper.dart';
17 17
18 main() async { 18 main() async {
19 List<Uri> uriList = new List<Uri>(); 19 List<Uri> uriList = new List<Uri>();
20 libraries.forEach((String name, LibraryInfo info) { 20 libraries.forEach((String name, LibraryInfo info) {
21 if (info.categories.contains(Category.embedded)) { 21 if (info.categories.contains(Category.embedded)) {
22 uriList.add(new Uri(scheme: 'dart', path: name)); 22 uriList.add(new Uri(scheme: 'dart', path: name));
23 } 23 }
24 }); 24 });
25 asyncTest(() async { 25 asyncTest(() async {
26 analyze(uriList, {}, checkResults: checkResults, mode: AnalysisMode.MAIN); 26 await analyze(uriList, {},
27 checkResults: checkResults, mode: AnalysisMode.MAIN);
27 }); 28 });
28 } 29 }
29 30
30 /// These elements are currently escaping from dart:async via 31 /// These elements are currently escaping from dart:async via
31 /// `core._Resource#_readAsStream`. 32 /// `core._Resource#_readAsStream`.
32 Set<String> whiteList = new Set.from([ 33 Set<String> whiteList = new Set.from([
33 "function(StreamController#addError)", 34 "function(StreamController#addError)",
34 "getter(StreamController#stream)", 35 "getter(StreamController#stream)",
35 "setter(StreamController#onListen)" 36 "setter(StreamController#onListen)"
36 ]); 37 ]);
37 38
38 bool checkResults(Compiler compiler, CollectingDiagnosticHandler handler) { 39 bool checkResults(Compiler compiler, CollectingDiagnosticHandler handler) {
39 return compiler.enqueuer.resolution.processedElements 40 return compiler.enqueuer.resolution.processedElements
40 .every((Element element) { 41 .every((Element element) {
41 if (whiteList.contains("$element")) return true; 42 if (whiteList.contains("$element")) return true;
42 LibraryInfo info = libraries[element.library.canonicalUri.path]; 43 LibraryInfo info = libraries[element.library.canonicalUri.path];
43 bool isAllowedInEmbedded = 44 bool isAllowedInEmbedded =
44 info.isInternal || info.categories.contains(Category.embedded); 45 info.isInternal || info.categories.contains(Category.embedded);
46 if (!isAllowedInEmbedded) {
47 print(
48 'Disallowed element: $element from ${element.library.canonicalUri}');
49 }
45 return isAllowedInEmbedded; 50 return isAllowedInEmbedded;
46 }); 51 });
47 } 52 }
OLDNEW
« no previous file with comments | « pkg/compiler/tool/perf.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698