| Index: lib/compiler/implementation/patch_parser.dart
|
| diff --git a/lib/compiler/implementation/patch_parser.dart b/lib/compiler/implementation/patch_parser.dart
|
| index e2a2744e5a724cc2e41d6e923c065fc511b30e54..3714faa0118c8430e5543e3cc59e5c8d457688c5 100644
|
| --- a/lib/compiler/implementation/patch_parser.dart
|
| +++ b/lib/compiler/implementation/patch_parser.dart
|
| @@ -37,7 +37,18 @@ class PatchParserTask extends leg.CompilerTask {
|
| // TODO(lrn): These imports end up in the original library and are in
|
| // scope for the original methods too. This should be fixed.
|
| for (tree.ScriptTag tag in imports.toLink()) {
|
| - compiler.scanner.importLibraryFromTag(tag, compilationUnit);
|
| + if (tag.isSource()) {
|
| + library.tags = library.tags.prepend(tag);
|
| +
|
| + StringNode argument = tag.argument;
|
| + Uri resolved = patchUri.resolve(argument.dartString.slowToString());
|
| + Script script = compiler.readScript(resolved, tag);
|
| + CompilationUnitElement unit =
|
| + new CompilationUnitElement(script, library);
|
| + compiler.withCurrentElement(unit, () => compiler.scanner.scan(unit));
|
| + } else {
|
| + compiler.scanner.importLibraryFromTag(tag, compilationUnit);
|
| + }
|
| }
|
| }
|
|
|
|
|