patternContext property

AstNodeImpl? patternContext

Returns the context for this pattern.

Implementation

AstNodeImpl? get patternContext {
  for (DartPatternImpl current = this;;) {
    final parent = current.parent;
    if (parent is PatternVariableDeclarationImpl) {
      return parent;
    } else if (parent is PatternAssignmentImpl) {
      return parent;
    } else if (parent is GuardedPatternImpl) {
      return parent;
    } else if (parent is DartPatternImpl) {
      current = parent;
    } else {
      return null;
    }
  }
}