Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(127)

Unified Diff: mojo/public/dart/third_party/analyzer/lib/src/generated/utilities_dart.dart

Issue 1346773002: Stop running pub get at gclient sync time and fix build bugs (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: mojo/public/dart/third_party/analyzer/lib/src/generated/utilities_dart.dart
diff --git a/mojo/public/dart/third_party/analyzer/lib/src/generated/utilities_dart.dart b/mojo/public/dart/third_party/analyzer/lib/src/generated/utilities_dart.dart
new file mode 100644
index 0000000000000000000000000000000000000000..882d1826811c3609e769d55be5d836073e27ef8c
--- /dev/null
+++ b/mojo/public/dart/third_party/analyzer/lib/src/generated/utilities_dart.dart
@@ -0,0 +1,65 @@
+// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+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.
+ */
+class ParameterKind extends Enum<ParameterKind> {
+ static const ParameterKind REQUIRED =
+ const ParameterKind('REQUIRED', 0, false);
+
+ static const ParameterKind POSITIONAL =
+ const ParameterKind('POSITIONAL', 1, true);
+
+ static const ParameterKind NAMED = const ParameterKind('NAMED', 2, true);
+
+ static const List<ParameterKind> values = const [REQUIRED, POSITIONAL, NAMED];
+
+ /**
+ * A flag indicating whether this is an optional parameter.
+ */
+ final bool isOptional;
+
+ /**
+ * Initialize a newly created kind with the given state.
+ *
+ * @param isOptional `true` if this is an optional parameter
+ */
+ const ParameterKind(String name, int ordinal, this.isOptional)
+ : super(name, ordinal);
+}

Powered by Google App Engine
This is Rietveld 408576698