| 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 b0b795867375cbc893541bdd656cb104b5ee6187..fccd3603022149198b4aa8e59984f903f06ca8ad 100644
|
| --- a/pkg/analyzer/lib/src/generated/constant.dart
|
| +++ b/pkg/analyzer/lib/src/generated/constant.dart
|
| @@ -1273,12 +1273,15 @@ class ConstantValueComputer {
|
| referenceGraph.computeTopologicalSort();
|
| for (List<ConstantEvaluationTarget> constantsInCycle in topologicalSort) {
|
| if (constantsInCycle.length == 1) {
|
| - _computeValueFor(constantsInCycle[0]);
|
| - } else {
|
| - for (ConstantEvaluationTarget constant in constantsInCycle) {
|
| - evaluationEngine.generateCycleError(constantsInCycle, constant);
|
| + ConstantEvaluationTarget constant = constantsInCycle[0];
|
| + if (!referenceGraph.getTails(constant).contains(constant)) {
|
| + _computeValueFor(constant);
|
| + continue;
|
| }
|
| }
|
| + for (ConstantEvaluationTarget constant in constantsInCycle) {
|
| + evaluationEngine.generateCycleError(constantsInCycle, constant);
|
| + }
|
| }
|
| }
|
|
|
|
|