Chromium Code Reviews| 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 9cbc9ec0944963f19f5db971f50c5027fa1cbfb1..6cc873085de59bfb706dd49027afe90186225141 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; |
| +import 'package:path/path.dart' show separator, isWithin, fromUri; |
| import '../closure/closure_annotator.dart' show ClosureAnnotator; |
| import '../js_ast/js_ast.dart' as JS; |
| @@ -5452,16 +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 separator = '__'; |
| + var customSeparator = '__'; |
| 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(separator); |
| - } else if (uri.toFilePath().startsWith(libraryRoot)) { |
| + qualifiedPath = uri.pathSegments.skip(1).join(customSeparator); |
| + } else if (isWithin(libraryRoot, uri.toFilePath())) { |
| qualifiedPath = |
| - uri.path.substring(libraryRoot.length).replaceAll('/', separator); |
| + fromUri(uri).substring(libraryRoot.length).replaceAll(separator, customSeparator); |
|
vsm
2016/10/12 20:32:05
Can you run ./tool/format.sh ? It should fix the
|
| } else { |
| // We don't have a unique name. |
| throw 'Invalid library root. $libraryRoot does not contain ${uri |