| Index: sdk/lib/_internal/pub_generated/lib/src/barback/cycle_exception.dart
|
| diff --git a/sdk/lib/_internal/pub_generated/lib/src/barback/cycle_exception.dart b/sdk/lib/_internal/pub_generated/lib/src/barback/cycle_exception.dart
|
| index b516cd7ea0912c33a996c9649080ec3ca2fbe3a8..8fdd04788b4df97719f2c15708fda8b6dd3951e9 100644
|
| --- a/sdk/lib/_internal/pub_generated/lib/src/barback/cycle_exception.dart
|
| +++ b/sdk/lib/_internal/pub_generated/lib/src/barback/cycle_exception.dart
|
| @@ -1,10 +1,33 @@
|
| +// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS d.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 pub.barback.cycle_exception;
|
| +
|
| import '../exceptions.dart';
|
| +
|
| +/// An exception thrown when a transformer dependency cycle is detected.
|
| +///
|
| +/// A cycle exception is usually produced within a deeply-nested series of
|
| +/// calls. The API is designed to make it easy for each of these calls to add to
|
| +/// the message so that the full reasoning for the cycle is made visible to the
|
| +/// user.
|
| +///
|
| +/// Each call's individual message is called a "step". A [CycleException] is
|
| +/// represented internally as a linked list of steps.
|
| class CycleException implements ApplicationException {
|
| + /// The step for this exception.
|
| final String _step;
|
| +
|
| + /// The next exception in the linked list.
|
| + ///
|
| + /// [_next]'s steps come after [_step].
|
| final CycleException _next;
|
| +
|
| + /// A list of all steps in the cycle.
|
| List<String> get steps {
|
| if (_step == null) return [];
|
| +
|
| var exception = this;
|
| var steps = [];
|
| while (exception != null) {
|
| @@ -13,17 +36,25 @@ class CycleException implements ApplicationException {
|
| }
|
| return steps;
|
| }
|
| +
|
| String get message {
|
| var steps = this.steps;
|
| if (steps.isEmpty) return "Transformer cycle detected.";
|
| return "Transformer cycle detected:\n" +
|
| steps.map((step) => " $step").join("\n");
|
| }
|
| - CycleException([this._step]) : _next = null;
|
| +
|
| + /// Creates a new [CycleException] with zero or one steps.
|
| + CycleException([this._step])
|
| + : _next = null;
|
| +
|
| CycleException._(this._step, this._next);
|
| +
|
| + /// Returns a copy of [this] with [step] added to the beginning of [steps].
|
| CycleException prependStep(String step) {
|
| if (_step == null) return new CycleException(step);
|
| return new CycleException._(step, this);
|
| }
|
| +
|
| String toString() => message;
|
| }
|
|
|