| Index: pkg/analyzer/lib/src/generated/constant.dart
|
| diff --git a/pkg/analyzer/lib/src/generated/constant.dart b/pkg/analyzer/lib/src/generated/constant.dart
|
| index dab71f3420c5cb15602ea712bccd6898626e6a99..d14bba86194ac45e0a211366f9c7bb0b3bc5030f 100644
|
| --- a/pkg/analyzer/lib/src/generated/constant.dart
|
| +++ b/pkg/analyzer/lib/src/generated/constant.dart
|
| @@ -995,7 +995,8 @@ class ConstantValueComputer {
|
| // let [evaluateInstanceCreationExpression] handle it specially.
|
| break;
|
| }
|
| - constructorsVisited.add(constructor);
|
| + ConstructorElement constructorBase = _getConstructorBase(constructor);
|
| + constructorsVisited.add(constructorBase);
|
| ConstructorElement redirectedConstructor =
|
| constructor.redirectedConstructor;
|
| if (redirectedConstructor == null) {
|
| @@ -1008,7 +1009,9 @@ class ConstantValueComputer {
|
| // [ErrorVerifier.checkForRedirectToNonConstConstructor()]).
|
| break;
|
| }
|
| - if (constructorsVisited.contains(redirectedConstructor)) {
|
| + ConstructorElement redirectedConstructorBase =
|
| + _getConstructorBase(redirectedConstructor);
|
| + if (constructorsVisited.contains(redirectedConstructorBase)) {
|
| // Cycle in redirecting factory constructors--this is not allowed
|
| // and is checked elsewhere--see
|
| // [ErrorVerifier.checkForRecursiveFactoryRedirect()]).
|
|
|