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

Unified Diff: sdk/lib/_internal/pub/lib/src/solver/version_solver.dart

Issue 14685002: Backjump on a source or description mismatch. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 8 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: sdk/lib/_internal/pub/lib/src/solver/version_solver.dart
diff --git a/sdk/lib/_internal/pub/lib/src/solver/version_solver.dart b/sdk/lib/_internal/pub/lib/src/solver/version_solver.dart
index efd9e85ce5b9939040ee8a56d56d8764e6cd42fc..823b0d3688104aa83217136fd0b5c4ae01288a61 100644
--- a/sdk/lib/_internal/pub/lib/src/solver/version_solver.dart
+++ b/sdk/lib/_internal/pub/lib/src/solver/version_solver.dart
@@ -162,6 +162,12 @@ class SolveFailure implements Exception {
/// an empty collection if the failure is not specific to one package.
final Iterable<Dependency> dependencies;
+ /// If this is `true`, then it may be possible to avoid this failure by
+ /// adjusting one of the transitive dependencies of a package in
+ /// [dependencies]. Otherwise, [dependencies] themselves are in conflict and
+ /// only changing one of those may resolve the failure.
+ bool get mayHaveTransitiveCause => true;
+
SolveFailure(this.package, Iterable<Dependency> dependencies)
: dependencies = dependencies != null ? dependencies : <Dependency>[];
@@ -275,6 +281,8 @@ class SourceMismatchException extends SolveFailure {
SourceMismatchException(String package, Iterable<Dependency> dependencies)
: super(package, dependencies);
+ bool get mayHaveTransitiveCause => false;
+
String get _message => "Incompatible dependencies on '$package'";
String _describeDependency(PackageDep dep) =>
@@ -288,6 +296,8 @@ class DescriptionMismatchException extends SolveFailure {
Iterable<Dependency> dependencies)
: super(package, dependencies);
+ bool get mayHaveTransitiveCause => false;
+
String get _message => "Incompatible dependencies on '$package'";
String _describeDependency(PackageDep dep) {

Powered by Google App Engine
This is Rietveld 408576698