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

Side by Side Diff: pkg/compiler/lib/src/js_emitter/program_builder/registry.dart

Issue 2824823004: Remove Compiler and JavaScriptBackend from program_builder and collector. (Closed)
Patch Set: Created 3 years, 8 months 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/lib/src/js_emitter/program_builder/program_builder.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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 part of dart2js.js_emitter.program_builder; 5 part of dart2js.js_emitter.program_builder;
6 6
7 /// Maps [LibraryElement]s to their [Element]s. 7 /// Maps [LibraryElement]s to their [Element]s.
8 /// 8 ///
9 /// Fundamentally, this class nicely encapsulates a 9 /// Fundamentally, this class nicely encapsulates a
10 /// `Map<LibraryElement, List<Element>>`. 10 /// `Map<LibraryElement, List<Element>>`.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 } 44 }
45 } 45 }
46 46
47 /// Keeps track of all elements and holders. 47 /// Keeps track of all elements and holders.
48 /// 48 ///
49 /// This class assigns each registered element to its [LibrariesMap] (which are 49 /// This class assigns each registered element to its [LibrariesMap] (which are
50 /// in bijection with [OutputUnit]s). 50 /// in bijection with [OutputUnit]s).
51 /// 51 ///
52 /// Registered holders are assigned a name. 52 /// Registered holders are assigned a name.
53 class Registry { 53 class Registry {
54 final Compiler _compiler; 54 final DeferredLoadTask _deferredLoadTask;
55 final Map<String, Holder> _holdersMap = <String, Holder>{}; 55 final Map<String, Holder> _holdersMap = <String, Holder>{};
56 final Map<OutputUnit, LibrariesMap> _deferredLibrariesMap = 56 final Map<OutputUnit, LibrariesMap> _deferredLibrariesMap =
57 <OutputUnit, LibrariesMap>{}; 57 <OutputUnit, LibrariesMap>{};
58 58
59 /// Cache for the last seen output unit. 59 /// Cache for the last seen output unit.
60 OutputUnit _lastOutputUnit; 60 OutputUnit _lastOutputUnit;
61 LibrariesMap _lastLibrariesMap; 61 LibrariesMap _lastLibrariesMap;
62 62
63 DeferredLoadTask get _deferredLoadTask => _compiler.deferredLoadTask;
64 Iterable<Holder> get holders => _holdersMap.values; 63 Iterable<Holder> get holders => _holdersMap.values;
65 Iterable<LibrariesMap> get deferredLibrariesMap => 64 Iterable<LibrariesMap> get deferredLibrariesMap =>
66 _deferredLibrariesMap.values; 65 _deferredLibrariesMap.values;
67 66
68 // Add one for the main libraries map. 67 // Add one for the main libraries map.
69 int get librariesMapCount => _deferredLibrariesMap.length + 1; 68 int get librariesMapCount => _deferredLibrariesMap.length + 1;
70 69
71 LibrariesMap mainLibrariesMap; 70 LibrariesMap mainLibrariesMap;
72 71
73 Registry(this._compiler); 72 Registry(this._deferredLoadTask);
74 73
75 OutputUnit get _mainOutputUnit => _deferredLoadTask.mainOutputUnit; 74 OutputUnit get _mainOutputUnit => _deferredLoadTask.mainOutputUnit;
76 75
77 LibrariesMap _mapUnitToLibrariesMap(OutputUnit targetUnit) { 76 LibrariesMap _mapUnitToLibrariesMap(OutputUnit targetUnit) {
78 if (targetUnit == _lastOutputUnit) return _lastLibrariesMap; 77 if (targetUnit == _lastOutputUnit) return _lastLibrariesMap;
79 78
80 LibrariesMap result = (targetUnit == _mainOutputUnit) 79 LibrariesMap result = (targetUnit == _mainOutputUnit)
81 ? mainLibrariesMap 80 ? mainLibrariesMap
82 : _deferredLibrariesMap[targetUnit]; 81 : _deferredLibrariesMap[targetUnit];
83 82
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
119 (_holdersMap[name].isStaticStateHolder == isStaticStateHolder && 118 (_holdersMap[name].isStaticStateHolder == isStaticStateHolder &&
120 _holdersMap[name].isConstantsHolder == isConstantsHolder)); 119 _holdersMap[name].isConstantsHolder == isConstantsHolder));
121 120
122 return _holdersMap.putIfAbsent(name, () { 121 return _holdersMap.putIfAbsent(name, () {
123 return new Holder(name, _holdersMap.length, 122 return new Holder(name, _holdersMap.length,
124 isStaticStateHolder: isStaticStateHolder, 123 isStaticStateHolder: isStaticStateHolder,
125 isConstantsHolder: isConstantsHolder); 124 isConstantsHolder: isConstantsHolder);
126 }); 125 });
127 } 126 }
128 } 127 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/program_builder/program_builder.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698