5
5
// DO NOT EDIT. This file was generated from async_environment.dart.
6
6
// See tool/grind/synchronize.dart for details.
7
7
//
8
- // Checksum: df5ee8bde1eec6e47c1d025041921aba01637696
8
+ // Checksum: bf1542d44f45a40a1f56c8eec3046c61ee32c36a
9
9
//
10
10
// ignore_for_file: unused_import
11
11
@@ -55,7 +55,7 @@ class Environment {
55
55
/// The modules forwarded by this module.
56
56
///
57
57
/// This is `null` if there are no forwarded modules.
58
- List <Module <Callable >> _forwardedModules;
58
+ Set <Module <Callable >> _forwardedModules;
59
59
60
60
/// A map from modules in [_forwardedModules] to the nodes whose spans
61
61
/// indicate where those modules were originally forwarded.
@@ -271,10 +271,10 @@ class Environment {
271
271
/// Exposes the members in [module] to downstream modules as though they were
272
272
/// defined in this module, according to the modifications defined by [rule] .
273
273
void forwardModule (Module <Callable > module, ForwardRule rule) {
274
- _forwardedModules ?? = [] ;
274
+ _forwardedModules ?? = {} ;
275
275
_forwardedModuleNodes ?? = {};
276
276
277
- var view = ForwardedModuleView (module, rule);
277
+ var view = ForwardedModuleView . ifNecessary (module, rule);
278
278
for (var other in _forwardedModules) {
279
279
_assertNoConflicts (
280
280
view.variables, other.variables, view, other, "variable" , rule);
@@ -338,7 +338,18 @@ class Environment {
338
338
var forwarded = module._environment._forwardedModules;
339
339
if (forwarded == null ) return ;
340
340
341
- _forwardedModules ?? = [];
341
+ // Omit modules from [forwarded] that are already globally available and
342
+ // forwarded in this module.
343
+ if (_forwardedModules != null ) {
344
+ forwarded = {
345
+ for (var module in forwarded)
346
+ if (! _forwardedModules.contains (module) ||
347
+ ! _globalModules.contains (module))
348
+ module
349
+ };
350
+ }
351
+
352
+ _forwardedModules ?? = {};
342
353
_forwardedModuleNodes ?? = {};
343
354
344
355
var forwardedVariableNames =
@@ -358,20 +369,26 @@ class Environment {
358
369
functions: forwardedFunctionNames);
359
370
if (shadowed != null ) {
360
371
_globalModules.remove (module);
361
- _globalModules.add (shadowed);
362
- _globalModuleNodes[shadowed] = _globalModuleNodes.remove (module);
372
+
373
+ if (! shadowed.isEmpty) {
374
+ _globalModules.add (shadowed);
375
+ _globalModuleNodes[shadowed] = _globalModuleNodes.remove (module);
376
+ }
363
377
}
364
378
}
365
- for (var i = 0 ; i < _forwardedModules.length; i++ ) {
366
- var module = _forwardedModules[i];
379
+ for (var module in _forwardedModules.toList ()) {
367
380
var shadowed = ShadowedModuleView .ifNecessary (module,
368
381
variables: forwardedVariableNames,
369
382
mixins: forwardedMixinNames,
370
383
functions: forwardedFunctionNames);
371
384
if (shadowed != null ) {
372
- _forwardedModules[i] = shadowed;
373
- _forwardedModuleNodes[shadowed] =
374
- _forwardedModuleNodes.remove (module);
385
+ _forwardedModules.remove (module);
386
+
387
+ if (! shadowed.isEmpty) {
388
+ _forwardedModules.add (shadowed);
389
+ _forwardedModuleNodes[shadowed] =
390
+ _forwardedModuleNodes.remove (module);
391
+ }
375
392
}
376
393
}
377
394
@@ -820,7 +837,8 @@ class Environment {
820
837
Module <Callable > toDummyModule () {
821
838
return _EnvironmentModule (
822
839
this ,
823
- CssStylesheet (const [], SourceFile .decoded (const []).span (0 )),
840
+ CssStylesheet (const [],
841
+ SourceFile .decoded (const [], url: "<dummy module>" ).span (0 )),
824
842
Extender .empty,
825
843
forwarded: _forwardedModules);
826
844
}
@@ -911,8 +929,8 @@ class _EnvironmentModule implements Module<Callable> {
911
929
912
930
factory _EnvironmentModule (
913
931
Environment environment, CssStylesheet css, Extender extender,
914
- {List <Module <Callable >> forwarded}) {
915
- forwarded ?? = const [] ;
932
+ {Set <Module <Callable >> forwarded}) {
933
+ forwarded ?? = const {} ;
916
934
return _EnvironmentModule ._(
917
935
environment,
918
936
css,
@@ -938,7 +956,7 @@ class _EnvironmentModule implements Module<Callable> {
938
956
939
957
/// Create [_modulesByVariable] for a set of forwarded modules.
940
958
static Map <String , Module <Callable >> _makeModulesByVariable (
941
- List <Module <Callable >> forwarded) {
959
+ Set <Module <Callable >> forwarded) {
942
960
if (forwarded.isEmpty) return const {};
943
961
944
962
var modulesByVariable = < String , Module <Callable >> {};
@@ -1027,5 +1045,5 @@ class _EnvironmentModule implements Module<Callable> {
1027
1045
transitivelyContainsExtensions: transitivelyContainsExtensions);
1028
1046
}
1029
1047
1030
- String toString () => p.prettyUri (css.span.sourceUrl );
1048
+ String toString () => url == null ? "<unknown url>" : p.prettyUri (url );
1031
1049
}
0 commit comments