Index: pkg/analyzer/lib/src/generated/utilities_dart.dart |
diff --git a/pkg/analyzer/lib/src/generated/utilities_dart.dart b/pkg/analyzer/lib/src/generated/utilities_dart.dart |
index 042af48d99b0be6fb2d9a40bf551ee12254168b8..882d1826811c3609e769d55be5d836073e27ef8c 100644 |
--- a/pkg/analyzer/lib/src/generated/utilities_dart.dart |
+++ b/pkg/analyzer/lib/src/generated/utilities_dart.dart |
@@ -7,6 +7,34 @@ library engine.utilities.dart; |
import 'java_core.dart'; |
/** |
+ * Check whether [uri1] starts with (or 'is prefixed by') [uri2] by checking |
+ * path segments. |
+ */ |
+bool startsWith(Uri uri1, Uri uri2) { |
+ List<String> uri1Segments = uri1.pathSegments; |
+ List<String> uri2Segments = uri2.pathSegments.toList(); |
+ // Punt if empty (https://github.com/dart-lang/sdk/issues/24126) |
+ if (uri2Segments.isEmpty) { |
+ return false; |
+ } |
+ // Trim trailing empty segments ('/foo/' => ['foo', '']) |
+ if (uri2Segments.last == '') { |
+ uri2Segments.removeLast(); |
+ } |
+ |
+ if (uri2Segments.length > uri1Segments.length) { |
+ return false; |
+ } |
+ |
+ for (int i = 0; i < uri2Segments.length; ++i) { |
+ if (uri2Segments[i] != uri1Segments[i]) { |
+ return false; |
+ } |
+ } |
+ return true; |
+} |
+ |
+/** |
* The enumeration `ParameterKind` defines the different kinds of parameters. There are two |
* basic kinds of parameters: required and optional. Optional parameters are further divided into |
* two kinds: positional optional and named optional. |
@@ -35,27 +63,3 @@ class ParameterKind extends Enum<ParameterKind> { |
const ParameterKind(String name, int ordinal, this.isOptional) |
: super(name, ordinal); |
} |
- |
-/** |
- * Check whether [uri1] starts with (or 'is prefixed by') [uri2] by checking |
- * path segments. |
- */ |
-bool startsWith(Uri uri1, Uri uri2) { |
- List<String> uri1Segments = uri1.pathSegments; |
- List<String> uri2Segments = uri2.pathSegments.toList(); |
- // Trim trailing empty segments ('/foo/' => ['foo', '']) |
- if (uri2Segments.last == '') { |
- uri2Segments.removeLast(); |
- } |
- |
- if (uri2Segments.length > uri1Segments.length) { |
- return false; |
- } |
- |
- for (int i = 0; i < uri2Segments.length; ++i) { |
- if (uri2Segments[i] != uri1Segments[i]) { |
- return false; |
- } |
- } |
- return true; |
-} |