Index: pkg/dev_compiler/lib/src/compiler/code_generator.dart |
diff --git a/pkg/dev_compiler/lib/src/compiler/code_generator.dart b/pkg/dev_compiler/lib/src/compiler/code_generator.dart |
index a642fe4da82618211f0ff3717842618acf9f03c7..9cbc9ec0944963f19f5db971f50c5027fa1cbfb1 100644 |
--- a/pkg/dev_compiler/lib/src/compiler/code_generator.dart |
+++ b/pkg/dev_compiler/lib/src/compiler/code_generator.dart |
@@ -31,7 +31,7 @@ import 'package:analyzer/src/summary/summarize_elements.dart' |
import 'package:analyzer/src/summary/summary_sdk.dart'; |
import 'package:analyzer/src/task/strong/ast_properties.dart' |
show isDynamicInvoke, setIsDynamicInvoke, getImplicitAssignmentCast; |
-import 'package:path/path.dart' show separator, isWithin, fromUri; |
+import 'package:path/path.dart' show separator; |
import '../closure/closure_annotator.dart' show ClosureAnnotator; |
import '../js_ast/js_ast.dart' as JS; |
@@ -5452,17 +5452,16 @@ String jsLibraryName(String libraryRoot, LibraryElement library) { |
return uri.path; |
} |
// TODO(vsm): This is not necessarily unique if '__' appears in a file name. |
- var customSeparator = '__'; |
+ var separator = '__'; |
String qualifiedPath; |
if (uri.scheme == 'package') { |
// Strip the package name. |
// TODO(vsm): This is not unique if an escaped '/'appears in a filename. |
// E.g., "foo/bar.dart" and "foo$47bar.dart" would collide. |
- qualifiedPath = uri.pathSegments.skip(1).join(customSeparator); |
- } else if (isWithin(libraryRoot, uri.toFilePath())) { |
- qualifiedPath = fromUri(uri) |
- .substring(libraryRoot.length) |
- .replaceAll(separator, customSeparator); |
+ qualifiedPath = uri.pathSegments.skip(1).join(separator); |
+ } else if (uri.toFilePath().startsWith(libraryRoot)) { |
+ qualifiedPath = |
+ uri.path.substring(libraryRoot.length).replaceAll('/', separator); |
} else { |
// We don't have a unique name. |
throw 'Invalid library root. $libraryRoot does not contain ${uri |