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) { |