visitSequence method

  1. @override
void visitSequence(
  1. SequenceExpression node
)
override

Implementation

@override
void visitSequence(SequenceExpression node) {
  final resultUsed = node.resultUsed;
  final hasAction = node.actionIndex != null;
  final expressions = node.expressions;
  final hasVariables =
      expressions.where((e) => e.variable != null).isNotEmpty;
  if (resultUsed && !hasVariables && !hasAction) {
    final first = expressions.first;
    _setResultUsed(first, true);
  }

  for (var i = 0; i < expressions.length; i++) {
    final child = expressions[i];
    if (child.variable != null) {
      if (resultUsed || hasAction) {
        _setResultUsed(child, true);
      }
    }

    child.accept(this);
  }
}