Index: pkg/path/lib/src/context.dart |
diff --git a/pkg/path/lib/src/context.dart b/pkg/path/lib/src/context.dart |
index b897c8ba53310d6a890c258bc5821c08b14427c5..d628c6bbbe61e9069c46601e2aca7a2eac6d51ea 100644 |
--- a/pkg/path/lib/src/context.dart |
+++ b/pkg/path/lib/src/context.dart |
@@ -423,23 +423,26 @@ class Context { |
return parsed.toString(); |
} |
- /// Returns the path represented by [uri]. |
+ /// Returns the path represented by [uri], which may be a [String] or a [Uri]. |
/// |
/// For POSIX and Windows styles, [uri] must be a `file:` URI. For the URL |
/// style, this will just convert [uri] to a string. |
/// |
/// // POSIX |
- /// context.fromUri(Uri.parse('file:///path/to/foo')) |
+ /// context.fromUri('file:///path/to/foo') |
/// // -> '/path/to/foo' |
/// |
/// // Windows |
- /// context.fromUri(Uri.parse('file:///C:/path/to/foo')) |
+ /// context.fromUri('file:///C:/path/to/foo') |
/// // -> r'C:\path\to\foo' |
/// |
/// // URL |
- /// context.fromUri(Uri.parse('http://dartlang.org/path/to/foo')) |
+ /// context.fromUri('http://dartlang.org/path/to/foo') |
/// // -> 'http://dartlang.org/path/to/foo' |
- String fromUri(Uri uri) => style.pathFromUri(uri); |
+ String fromUri(uri) { |
+ if (uri is String) uri = Uri.parse(uri); |
+ return style.pathFromUri(uri); |
+ } |
/// Returns the URI that represents [path]. |
/// |