| OLD | NEW |
| 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 library pub.barback.dependency_computer; | 5 library pub.barback.dependency_computer; |
| 6 | 6 |
| 7 import 'package:barback/barback.dart'; | 7 import 'package:barback/barback.dart'; |
| 8 import 'package:path/path.dart' as p; | 8 import 'package:path/path.dart' as p; |
| 9 | 9 |
| 10 import '../dart.dart'; | 10 import '../dart.dart'; |
| (...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 280 // Probe [id]'s transformer dependencies to ensure that it doesn't | 280 // Probe [id]'s transformer dependencies to ensure that it doesn't |
| 281 // depend on this package. If it does, a CycleError will be thrown. | 281 // depend on this package. If it does, a CycleError will be thrown. |
| 282 _dependencyComputer._transformersNeededByTransformer(id); | 282 _dependencyComputer._transformersNeededByTransformer(id); |
| 283 } else { | 283 } else { |
| 284 // Store the transformers needed specifically with the current set | 284 // Store the transformers needed specifically with the current set |
| 285 // of [_applicableTransformers]. When reporting this transformer's | 285 // of [_applicableTransformers]. When reporting this transformer's |
| 286 // dependencies, [computeTransformersNeededByTransformers] will use | 286 // dependencies, [computeTransformersNeededByTransformers] will use |
| 287 // this stored set of dependencies rather than the potentially wider | 287 // this stored set of dependencies rather than the potentially wider |
| 288 // set that would be recomputed if [transformersNeededByLibrary] | 288 // set that would be recomputed if [transformersNeededByLibrary] |
| 289 // were called anew. | 289 // were called anew. |
| 290 _transformersNeededByTransformers[id] = | 290 _transformersNeededByTransformers.putIfAbsent(id, () => |
| 291 transformersNeededByLibrary(_package.transformerPath(id)); | 291 transformersNeededByLibrary(_package.transformerPath(id))); |
| 292 } | 292 } |
| 293 } on CycleException catch (error) { | 293 } on CycleException catch (error) { |
| 294 throw error.prependStep("$packageName is transformed by $id"); | 294 throw error.prependStep("$packageName is transformed by $id"); |
| 295 } | 295 } |
| 296 | 296 |
| 297 return true; | 297 return true; |
| 298 })); | 298 })); |
| 299 | 299 |
| 300 // Clear the cached imports and exports because the new transformers may | 300 // Clear the cached imports and exports because the new transformers may |
| 301 // start transforming a library whose directives were previously | 301 // start transforming a library whose directives were previously |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 444 return null; | 444 return null; |
| 445 } | 445 } |
| 446 | 446 |
| 447 _directives[libraryUri] = | 447 _directives[libraryUri] = |
| 448 parseImportsAndExports(readTextFile(library), name: library) | 448 parseImportsAndExports(readTextFile(library), name: library) |
| 449 .map((directive) => Uri.parse(directive.uri.stringValue)) | 449 .map((directive) => Uri.parse(directive.uri.stringValue)) |
| 450 .toSet(); | 450 .toSet(); |
| 451 return _directives[libraryUri]; | 451 return _directives[libraryUri]; |
| 452 } | 452 } |
| 453 } | 453 } |
| OLD | NEW |