Patterns parsing: track when variable patterns are in an assignment context.
Variable patterns behave so differently inside a patternAssignment
that we may want to represent them using different AST nodes inside
the analyzer/CFE. This change adds a boolean flag allowing the
implementation to know what kind of variable pattern it's looking at
when parsing occurs.
Bug: https://github.com/dart-lang/sdk/issues/50035
Change-Id: I60adf2865bbe24f85b72a79b1360833bf823bd67
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/273829
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
index 2b68e91..6dcc89c 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/forwarding_listener.dart
@@ -1778,8 +1778,10 @@
}
@override
- void handleVariablePattern(Token? keyword, Token variable) {
- listener?.handleVariablePattern(keyword, variable);
+ void handleVariablePattern(Token? keyword, Token variable,
+ {required bool inAssignmentPattern}) {
+ listener?.handleVariablePattern(keyword, variable,
+ inAssignmentPattern: inAssignmentPattern);
}
@override
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
index 28c02b5..9fe0915 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/listener.dart
@@ -1433,7 +1433,12 @@
/// Called after the parser has consumed a variable pattern, consisting of an
/// optional `var` or `final` keyword, an optional type annotation, and a
/// variable name identifier.
- void handleVariablePattern(Token? keyword, Token variable) {
+ ///
+ /// The flag [inAssignmentPattern] indicates whether this variable pattern is
+ /// part of a `patternAssignment` (and hence should refer to a previously
+ /// declared variable rather than declaring a fresh one).
+ void handleVariablePattern(Token? keyword, Token variable,
+ {required bool inAssignmentPattern}) {
logEvent('VariablePattern');
}
diff --git a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
index 4d8415a..788f2f7 100644
--- a/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
+++ b/pkg/_fe_analyzer_shared/lib/src/parser/parser_impl.dart
@@ -6298,7 +6298,7 @@
Token next = token.next!;
if (allowPatterns && optional('case', next)) {
Token case_ = token = next;
- token = parsePattern(token, isRefutableContext: true);
+ token = parsePattern(token, PatternContext.matching);
next = token.next!;
Token? when;
if (optional('when', next)) {
@@ -7459,7 +7459,7 @@
}
if (forPartsContext != null) {
forPartsContext.patternKeyword = varFinalOrConst;
- return parsePattern(beforeType, isRefutableContext: false);
+ return parsePattern(beforeType, PatternContext.declaration);
} else {
return parsePatternVariableDeclarationStatement(
beforeType, start, varFinalOrConst);
@@ -8371,7 +8371,7 @@
}
listener.beginCaseExpression(caseKeyword);
if (allowPatterns) {
- token = parsePattern(caseKeyword, isRefutableContext: true);
+ token = parsePattern(caseKeyword, PatternContext.matching);
} else {
token = parseExpression(caseKeyword);
}
@@ -9234,20 +9234,13 @@
/// nullAssertPattern ::= primaryPattern '!'
/// nullCheckPattern ::= primaryPattern '?'
///
- /// [isRefutableContext] should be `true` if the pattern occurs in a
- /// `guardedPattern` or any of its sub-patterns (i.e. in a
- /// `switchStatementCase`, `switchExpressionCase`, or `ifCondition`); these
- /// are contexts where a pattern match might be expected to fail, and bare
- /// identifiers are treated as constant patterns. It should be `false` if the
- /// pattern occurs in a `localVariableDeclaration`, `forLoopParts`, or
- /// `patternAssignment`; these are contexts where a pattern match failure is
- /// either prohibited statically or causes a runtime exception, and bare
- /// identifiers are treated as variable patterns.
- Token parsePattern(Token token,
- {int precedence = 1, required bool isRefutableContext}) {
+ /// [patternContext] indicates whether the pattern is refutable or
+ /// irrefutable, and whether it occurs as part of a patternAssignment.
+ Token parsePattern(Token token, PatternContext patternContext,
+ {int precedence = 1}) {
assert(precedence >= 1);
assert(precedence <= SELECTOR_PRECEDENCE);
- token = parsePrimaryPattern(token, isRefutableContext: isRefutableContext);
+ token = parsePrimaryPattern(token, patternContext);
while (true) {
Token next = token.next!;
int tokenLevel = _computePrecedence(next, forPattern: true);
@@ -9278,9 +9271,8 @@
case '||':
listener.beginBinaryPattern(next);
// Left associative so we parse the RHS one precedence level higher
- token = parsePattern(next,
- precedence: tokenLevel + 1,
- isRefutableContext: isRefutableContext);
+ token =
+ parsePattern(next, patternContext, precedence: tokenLevel + 1);
listener.endBinaryPattern(next);
break;
default:
@@ -9317,7 +9309,7 @@
/// | 'const' typeArguments? '{' elements? '}'
/// | 'const' '(' expression ')'
/// objectPattern ::= typeName typeArguments? '(' patternFields? ')'
- Token parsePrimaryPattern(Token token, {required bool isRefutableContext}) {
+ Token parsePrimaryPattern(Token token, PatternContext patternContext) {
Token start = token;
TypeParamOrArgInfo typeArg =
computeTypeParamOrArg(token, /* inDeclaration = */ true);
@@ -9327,8 +9319,7 @@
case '[':
// listPattern ::= typeArguments? '[' patterns? ']'
token = typeArg.parseArguments(token, this);
- token = parseListPatternSuffix(token,
- isRefutableContext: isRefutableContext);
+ token = parseListPatternSuffix(token, patternContext);
// A list pattern is a valid form of outerPattern, so verify that
// skipOuterPattern would have skipped this pattern properly.
assert(
@@ -9339,8 +9330,7 @@
// mapPatternEntries ::= mapPatternEntry ( ',' mapPatternEntry )* ','?
// mapPatternEntry ::= expression ':' pattern
token = typeArg.parseArguments(token, this);
- token = parseMapPatternSuffix(token,
- isRefutableContext: isRefutableContext);
+ token = parseMapPatternSuffix(token, patternContext);
// A map pattern is a valid form of outerPattern, so verify that
// skipOuterPattern would have skipped this pattern properly.
assert(
@@ -9355,7 +9345,7 @@
case 'var':
case 'final':
// variablePattern ::= ( 'var' | 'final' | 'final'? type )? identifier
- return parseVariablePattern(token);
+ return parseVariablePattern(token, patternContext);
case '(':
// parenthesizedPattern ::= '(' pattern ')'
// recordPattern ::= '(' patternFields? ')'
@@ -9366,8 +9356,8 @@
listener.handleRecordPattern(next, /* count = */ 0);
token = nextNext;
} else {
- token = parseParenthesizedPatternOrRecordPattern(token,
- isRefutableContext: isRefutableContext);
+ token =
+ parseParenthesizedPatternOrRecordPattern(token, patternContext);
}
// A record or parenthesized pattern is a valid form of outerPattern, so
// verify that skipOuterPattern would have skipped this pattern
@@ -9412,7 +9402,7 @@
}
TypeInfo typeInfo = computeVariablePatternType(token);
if (typeInfo != noType) {
- return parseVariablePattern(token, typeInfo: typeInfo);
+ return parseVariablePattern(token, patternContext, typeInfo: typeInfo);
}
// objectPattern ::= typeName typeArguments? '(' patternFields? ')'
// TODO(paulberry): Make sure OTHER_IDENTIFIER is handled
@@ -9441,8 +9431,7 @@
if (optional('(', afterToken) && !potentialTypeArg.recovered) {
TypeParamOrArgInfo typeArg = potentialTypeArg;
token = typeArg.parseArguments(token, this);
- token = parseObjectPatternRest(token,
- isRefutableContext: isRefutableContext);
+ token = parseObjectPatternRest(token, patternContext);
listener.handleObjectPattern(firstIdentifier, dot, secondIdentifier);
// An object pattern is a valid form of outerPattern, so verify that
// skipOuterPattern would have skipped this pattern properly.
@@ -9452,10 +9441,10 @@
} else if (dot == null) {
// It's a single identifier. If it's a wildcard pattern or we're in an
// irrefutable context, parse it as a variable pattern.
- if (!isRefutableContext || firstIdentifier.lexeme == '_') {
+ if (!patternContext.isRefutable || firstIdentifier.lexeme == '_') {
// It's a wildcard pattern with no preceding type, so parse it as a
// variable pattern.
- return parseVariablePattern(beforeFirstIdentifier,
+ return parseVariablePattern(beforeFirstIdentifier, patternContext,
typeInfo: typeInfo);
}
}
@@ -9474,7 +9463,8 @@
/// about the type appearing after [token], if any.
///
/// variablePattern ::= ( 'var' | 'final' | 'final'? type )? identifier
- Token parseVariablePattern(Token token, {TypeInfo typeInfo = noType}) {
+ Token parseVariablePattern(Token token, PatternContext patternContext,
+ {TypeInfo typeInfo = noType}) {
Token? keyword;
if (typeInfo != noType) {
token = typeInfo.parseType(token, this);
@@ -9500,7 +9490,8 @@
token = insertSyntheticIdentifier(
token, IdentifierContext.localVariableDeclaration);
}
- listener.handleVariablePattern(keyword, token);
+ listener.handleVariablePattern(keyword, token,
+ inAssignmentPattern: patternContext == PatternContext.assignment);
return token;
}
@@ -9508,8 +9499,7 @@
/// bracket.
///
/// listPattern ::= typeArguments? '[' patterns? ']'
- Token parseListPatternSuffix(Token token,
- {required bool isRefutableContext}) {
+ Token parseListPatternSuffix(Token token, PatternContext patternContext) {
Token beforeToken = token;
Token beginToken = token = token.next!;
assert(optional('[', token) || optional('[]', token));
@@ -9537,11 +9527,11 @@
next = token.next!;
bool hasSubPattern = looksLikePatternStart(next);
if (hasSubPattern) {
- token = parsePattern(token, isRefutableContext: isRefutableContext);
+ token = parsePattern(token, patternContext);
}
listener.handleRestPattern(dots, hasSubPattern: hasSubPattern);
} else {
- token = parsePattern(token, isRefutableContext: isRefutableContext);
+ token = parsePattern(token, patternContext);
}
next = token.next!;
++count;
@@ -9585,7 +9575,7 @@
/// mapPattern ::= typeArguments? '{' mapPatternEntries? '}'
/// mapPatternEntries ::= mapPatternEntry ( ',' mapPatternEntry )* ','?
/// mapPatternEntry ::= expression ':' pattern
- Token parseMapPatternSuffix(Token token, {required bool isRefutableContext}) {
+ Token parseMapPatternSuffix(Token token, PatternContext patternContext) {
Token leftBrace = token = token.next!;
assert(optional('{', leftBrace));
Token next = token.next!;
@@ -9604,7 +9594,7 @@
next = token.next!;
bool hasSubPattern = looksLikePatternStart(next);
if (hasSubPattern) {
- token = parsePattern(token, isRefutableContext: isRefutableContext);
+ token = parsePattern(token, patternContext);
}
listener.handleRestPattern(dots, hasSubPattern: hasSubPattern);
} else {
@@ -9618,7 +9608,7 @@
codes.templateExpectedButGot.withArguments(':'),
new SyntheticToken(TokenType.PERIOD, next.charOffset));
}
- token = parsePattern(colon, isRefutableContext: isRefutableContext);
+ token = parsePattern(colon, patternContext);
listener.handleMapPatternEntry(colon, token.next!);
}
++count;
@@ -9664,8 +9654,8 @@
/// recordPattern ::= '(' patternFields? ')'
/// patternFields ::= patternField ( ',' patternField )* ','?
/// patternField ::= ( identifier? ':' )? pattern
- Token parseParenthesizedPatternOrRecordPattern(Token token,
- {required bool isRefutableContext}) {
+ Token parseParenthesizedPatternOrRecordPattern(
+ Token token, PatternContext patternContext) {
Token begin = token.next!;
assert(optional('(', begin));
bool old = mayParseFunctionExpressions;
@@ -9698,7 +9688,7 @@
colon = token;
wasValidRecord = true;
}
- token = parsePattern(token, isRefutableContext: isRefutableContext);
+ token = parsePattern(token, patternContext);
next = token.next!;
if (wasRecord || colon != null) {
listener.handlePatternField(colon);
@@ -9741,8 +9731,7 @@
/// `(`.
///
/// objectPattern ::= typeName typeArguments? '(' patternFields? ')'
- Token parseObjectPatternRest(Token token,
- {required bool isRefutableContext}) {
+ Token parseObjectPatternRest(Token token, PatternContext patternContext) {
Token begin = token = token.next!;
assert(optional('(', begin));
int argumentCount = 0;
@@ -9764,7 +9753,7 @@
.next!;
colon = token;
}
- token = parsePattern(token, isRefutableContext: isRefutableContext);
+ token = parsePattern(token, patternContext);
next = token.next!;
listener.handlePatternField(colon);
++argumentCount;
@@ -9869,7 +9858,7 @@
/// expression
Token parsePatternVariableDeclarationStatement(
Token keyword, Token start, Token varOrFinal) {
- Token token = parsePattern(keyword, isRefutableContext: false);
+ Token token = parsePattern(keyword, PatternContext.declaration);
Token equals = token.next!;
// Caller should have assured that the pattern was followed by an `=`.
assert(optional('=', equals));
@@ -9882,7 +9871,7 @@
/// patternAssignment ::= outerPattern '=' expression
Token parsePatternAssignment(Token token) {
- token = parsePattern(token, isRefutableContext: false);
+ token = parsePattern(token, PatternContext.assignment);
Token equals = token.next!;
// Caller should have assured that the pattern was followed by an `=`.
assert(optional('=', equals));
@@ -9911,7 +9900,7 @@
mayParseFunctionExpressions = false;
while (true) {
listener.beginSwitchExpressionCase();
- token = parsePattern(token, isRefutableContext: true);
+ token = parsePattern(token, PatternContext.matching);
Token? when;
next = token.next!;
if (optional('when', next)) {
@@ -9980,3 +9969,23 @@
@override
String toString() => 'ForPartsContext($patternKeyword)';
}
+
+/// Enum describing the different contexts in which a pattern can occur.
+enum PatternContext {
+ /// The pattern is part of a localVariableDeclaration or forLoopParts, meaning
+ /// bare identifiers refer to freshly declared variables.
+ declaration(isRefutable: false),
+
+ /// The pattern is part of a guardedPattern inside an if-case, switch
+ /// expression, or switch statement, meaning bare identifiers refer to
+ /// constants.
+ matching(isRefutable: true),
+
+ /// The pattern is part of a pattern assignment, meaning bare identifiers
+ /// refer to previously declared variables.
+ assignment(isRefutable: false);
+
+ final bool isRefutable;
+
+ const PatternContext({required this.isRefutable});
+}
diff --git a/pkg/analyzer/lib/src/fasta/ast_builder.dart b/pkg/analyzer/lib/src/fasta/ast_builder.dart
index 0f752c0..9fb931b 100644
--- a/pkg/analyzer/lib/src/fasta/ast_builder.dart
+++ b/pkg/analyzer/lib/src/fasta/ast_builder.dart
@@ -5274,7 +5274,9 @@
}
@override
- void handleVariablePattern(Token? keyword, Token variable) {
+ void handleVariablePattern(Token? keyword, Token variable,
+ {required bool inAssignmentPattern}) {
+ // TODO(paulberry, scheglov): use inAssignmentPattern
debugEvent('VariablePattern');
if (!_featureSet.isEnabled(Feature.patterns)) {
// TODO(paulberry): report the appropriate error
diff --git a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
index 94025ed..c52be52 100644
--- a/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/body_builder.dart
@@ -8428,7 +8428,8 @@
}
@override
- void handleVariablePattern(Token? keyword, Token variable) {
+ void handleVariablePattern(Token? keyword, Token variable,
+ {required bool inAssignmentPattern}) {
debugEvent('VariablePattern');
assert(checkState(keyword ?? variable, [
ValueKinds.TypeBuilderOrNull,
@@ -8443,6 +8444,7 @@
if (variable.lexeme == "_") {
pattern = new WildcardPattern(patternType, variable.charOffset);
} else {
+ // TODO(paulberry): use inAssignmentPattern.
pattern = new VariablePattern(
patternType,
variable.lexeme,
diff --git a/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart b/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
index 27949a2..66bc63e 100644
--- a/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/macro/annotation_parser.dart
@@ -2032,7 +2032,8 @@
}
@override
- void handleVariablePattern(Token? keyword, Token variable) {
+ void handleVariablePattern(Token? keyword, Token variable,
+ {required bool inAssignmentPattern}) {
_unsupported();
}
diff --git a/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart b/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
index 72fa1bc..76c11c8 100644
--- a/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
+++ b/pkg/front_end/lib/src/fasta/util/parser_ast_helper.dart
@@ -1906,9 +1906,12 @@
}
@override
- void handleVariablePattern(Token? keyword, Token variable) {
+ void handleVariablePattern(Token? keyword, Token variable,
+ {required bool inAssignmentPattern}) {
VariablePatternHandle data = new VariablePatternHandle(ParserAstType.HANDLE,
- keyword: keyword, variable: variable);
+ keyword: keyword,
+ variable: variable,
+ inAssignmentPattern: inAssignmentPattern);
seen(data);
}
@@ -6329,15 +6332,17 @@
class VariablePatternHandle extends ParserAstNode {
final Token? keyword;
final Token variable;
+ final bool inAssignmentPattern;
VariablePatternHandle(ParserAstType type,
- {this.keyword, required this.variable})
+ {this.keyword, required this.variable, required this.inAssignmentPattern})
: super("VariablePattern", type);
@override
Map<String, Object?> get deprecatedArguments => {
"keyword": keyword,
"variable": variable,
+ "inAssignmentPattern": inAssignmentPattern,
};
}
diff --git a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_case.dart.intertwined.expect
index b8e0f58..6e00cbb 100644
--- a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_case.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_cast.dart.intertwined.expect
index 45a8b23..d593584 100644
--- a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_cast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_if_case.dart.intertwined.expect
index 46139c6..a0d3dd8 100644
--- a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_if_case.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_null_assert.dart.intertwined.expect
index d4bb2f7..2decdde 100644
--- a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_null_assert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_null_check.dart.intertwined.expect
index ae5fc42..7f10027 100644
--- a/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/boolean_literal_inside_null_check.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_guarded_insideIfStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_guarded_insideIfStatement.dart.intertwined.expect
index 78ddf45..0cf06bd 100644
--- a/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_guarded_insideIfStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_guarded_insideIfStatement.dart.intertwined.expect
@@ -58,8 +58,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_guarded_insideSwitchStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_guarded_insideSwitchStatement.dart.intertwined.expect
index f9f1a37..093794d 100644
--- a/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_guarded_insideSwitchStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_guarded_insideSwitchStatement.dart.intertwined.expect
@@ -66,8 +66,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_unguarded_insideIfStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_unguarded_insideIfStatement.dart.intertwined.expect
index f450d63..6df4683 100644
--- a/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_unguarded_insideIfStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_unguarded_insideIfStatement.dart.intertwined.expect
@@ -58,8 +58,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_unguarded_insideSwitchStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_unguarded_insideSwitchStatement.dart.intertwined.expect
index 9e9df2a..9e63c00 100644
--- a/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_unguarded_insideSwitchStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/caseHead_withClassicPattern_unguarded_insideSwitchStatement.dart.intertwined.expect
@@ -66,8 +66,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_guarded_insideIfStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_guarded_insideIfStatement.dart.intertwined.expect
index b403f66..97e6ad4 100644
--- a/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_guarded_insideIfStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_guarded_insideIfStatement.dart.intertwined.expect
@@ -58,8 +58,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_guarded_insideSwitchStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_guarded_insideSwitchStatement.dart.intertwined.expect
index bfc1c6e..e0a4f9e 100644
--- a/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_guarded_insideSwitchStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_guarded_insideSwitchStatement.dart.intertwined.expect
@@ -66,8 +66,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_unguarded_insideIfStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_unguarded_insideIfStatement.dart.intertwined.expect
index 94a6fc9..cb7ee39 100644
--- a/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_unguarded_insideIfStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_unguarded_insideIfStatement.dart.intertwined.expect
@@ -58,8 +58,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_unguarded_insideSwitchStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_unguarded_insideSwitchStatement.dart.intertwined.expect
index b400811..47bded5 100644
--- a/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_unguarded_insideSwitchStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/caseHead_withNewPattern_unguarded_insideSwitchStatement.dart.intertwined.expect
@@ -66,8 +66,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_case.dart.intertwined.expect
index fc08ae6..b311d5e 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_case.dart.intertwined.expect
@@ -98,8 +98,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern.dart.intertwined.expect
index 256aee6..e6c40fe 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern.dart.intertwined.expect
@@ -113,14 +113,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern_implicitly_named.dart.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern_implicitly_named.dart.expect
index 5d1a77f..9871124 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern_implicitly_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern_implicitly_named.dart.expect
@@ -56,7 +56,7 @@
handleNoTypeArguments(()
handleNoName(()
handleNoType(var)
- handleVariablePattern(var, f)
+ handleVariablePattern(var, f, false)
beginAsOperatorType(as)
handleIdentifier(int, typeReference)
handleNoTypeArguments())
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern_implicitly_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
index af1c600..b37c465 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
@@ -113,16 +113,16 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
listener: handleNoName(()
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, f)
+ listener: handleVariablePattern(var, f, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(int, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_if_case.dart.expect
index 8f4e727..7a0fbe4 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_if_case.dart.expect
@@ -25,7 +25,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
beginAsOperatorType(as)
handleIdentifier(int, typeReference)
handleNoTypeArguments())
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_if_case.dart.intertwined.expect
index dcdbc22..f5a033d 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_if_case.dart.intertwined.expect
@@ -61,11 +61,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(int, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_list_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_list_pattern.dart.intertwined.expect
index feea266..3d72595 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_list_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_list_pattern.dart.intertwined.expect
@@ -69,12 +69,12 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression([, 17, false)
parseUnaryExpression([, false)
parsePrimary([, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_lhs.dart.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_lhs.dart.expect
index f22bc8d..99b746b 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_lhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_lhs.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginAsOperatorType(as)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
@@ -41,7 +41,7 @@
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
handleType(Object, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(&&)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_lhs.dart.intertwined.expect
index f38103f..1621d04 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_lhs.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(double, typeReference)
@@ -84,13 +84,13 @@
listener: endAsOperatorType(as)
listener: handleCastPattern(as)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
- parseVariablePattern(&&, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
+ parseVariablePattern(&&, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(Object, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(&&)
ensureColon(_)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_rhs.dart.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_rhs.dart.expect
index 03f6122..92b1779 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_rhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_rhs.dart.expect
@@ -30,12 +30,12 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(&&)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
handleType(double, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_rhs.dart.intertwined.expect
index 2233b21..95bf73c 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_and_rhs.dart.intertwined.expect
@@ -69,21 +69,21 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
- parseVariablePattern(&&, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
+ parseVariablePattern(&&, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(double, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(double, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_lhs.dart.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_lhs.dart.expect
index b0ea97e..ec686a0 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_lhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_lhs.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginAsOperatorType(as)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
@@ -41,7 +41,7 @@
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
handleType(Object, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(||)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_lhs.dart.intertwined.expect
index 8470d81..3ac2b64 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_lhs.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(double, typeReference)
@@ -84,13 +84,13 @@
listener: endAsOperatorType(as)
listener: handleCastPattern(as)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
- parseVariablePattern(||, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
+ parseVariablePattern(||, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(Object, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(||)
ensureColon(_)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_rhs.dart.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_rhs.dart.expect
index ec337d6..1283c09 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_rhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_rhs.dart.expect
@@ -30,12 +30,12 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(||)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
handleType(double, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_rhs.dart.intertwined.expect
index 1fc7fdf..e6c550d 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_logical_or_rhs.dart.intertwined.expect
@@ -69,21 +69,21 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
- parseVariablePattern(||, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
+ parseVariablePattern(||, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(double, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(double, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_map_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_map_pattern.dart.intertwined.expect
index a4edaa2..b86afa3 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_map_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_map_pattern.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,8 +83,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_parenthesized_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_parenthesized_pattern.dart.intertwined.expect
index aff6005..bd6716e 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_parenthesized_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_parenthesized_pattern.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_implicitly_named.dart.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_implicitly_named.dart.expect
index dabdcb9..85c01f1 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_implicitly_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_implicitly_named.dart.expect
@@ -29,7 +29,7 @@
beginCaseExpression(case)
handleNoName(()
handleNoType(var)
- handleVariablePattern(var, n)
+ handleVariablePattern(var, n, false)
beginAsOperatorType(as)
handleIdentifier(int, typeReference)
handleNoTypeArguments(,)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_implicitly_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_implicitly_named.dart.intertwined.expect
index f608927..a0a8179 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_implicitly_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_implicitly_named.dart.intertwined.expect
@@ -69,15 +69,15 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
listener: handleNoName(()
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, n)
+ listener: handleVariablePattern(var, n, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(int, typeReference)
@@ -86,8 +86,8 @@
listener: endAsOperatorType(as)
listener: handleCastPattern(as)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_named.dart.intertwined.expect
index 82dddc2..4a309ea 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_named.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
ensureIdentifier((, namedRecordFieldReference)
listener: handleIdentifier(n, namedRecordFieldReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
@@ -90,8 +90,8 @@
listener: endAsOperatorType(as)
listener: handleCastPattern(as)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_unnamed.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_unnamed.dart.intertwined.expect
index cf2cb93..8c639e8 100644
--- a/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_unnamed.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/cast_inside_record_pattern_unnamed.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
@@ -88,8 +88,8 @@
listener: endAsOperatorType(as)
listener: handleCastPattern(as)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_builtin.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_builtin.dart.intertwined.expect
index 97aba29..7a3e069 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_builtin.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_builtin.dart.intertwined.expect
@@ -131,8 +131,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideCase.dart.intertwined.expect
index 3b82366..63f0097 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideCast.dart.intertwined.expect
index 9d4779c..9caf2c9 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideIfCase.dart.intertwined.expect
index bbf6005..1f8ba62 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideNullAssert.dart.intertwined.expect
index 4474c1e..c055a0a 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideNullCheck.dart.intertwined.expect
index 0b77517..d52cbbe 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_pseudoKeyword.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_pseudoKeyword.dart.intertwined.expect
index 112a32d..9e09325 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_pseudoKeyword.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_doublyPrefixed_pseudoKeyword.dart.intertwined.expect
@@ -131,8 +131,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_case.dart.intertwined.expect
index 77d1048..a826821 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_case.dart.intertwined.expect
@@ -98,8 +98,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_cast.dart.intertwined.expect
index bfdbe23..d13f09a2 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_cast.dart.intertwined.expect
@@ -98,8 +98,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_if_case.dart.intertwined.expect
index 5fbdaf0..467dfb9 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_if_case.dart.intertwined.expect
@@ -90,8 +90,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_null_assert.dart.intertwined.expect
index 8eb976c..0edd0ab 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_null_assert.dart.intertwined.expect
@@ -98,8 +98,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_null_check.dart.intertwined.expect
index e6eb394..37406ac0 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_inside_null_check.dart.intertwined.expect
@@ -98,8 +98,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixedWithUnderscore_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixedWithUnderscore_insideCase.dart.intertwined.expect
index d2e28a3..53f9175 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixedWithUnderscore_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixedWithUnderscore_insideCase.dart.intertwined.expect
@@ -66,8 +66,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_builtin.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_builtin.dart.intertwined.expect
index b54e7fb..d994b09 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_builtin.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_builtin.dart.intertwined.expect
@@ -118,8 +118,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideCase.dart.intertwined.expect
index 711c7ac..945a9551 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideCast.dart.intertwined.expect
index 4cb5a81..1e16276 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideIfCase.dart.intertwined.expect
index 6b82410..831aef0 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideNullAssert.dart.intertwined.expect
index 529d859..fcb2700 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideNullCheck.dart.intertwined.expect
index d4370df..f402196 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_pseudoKeyword.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_pseudoKeyword.dart.intertwined.expect
index d657127..c2fecd2 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_pseudoKeyword.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_prefixed_pseudoKeyword.dart.intertwined.expect
@@ -118,8 +118,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_beforeWhen.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_beforeWhen.dart.intertwined.expect
index 09b8c7c..53049cb 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_beforeWhen.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_beforeWhen.dart.intertwined.expect
@@ -95,8 +95,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_builtin.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_builtin.dart.intertwined.expect
index 74822cc..6c4acbb 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_builtin.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_builtin.dart.intertwined.expect
@@ -105,8 +105,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_insideSwitchExpression.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_insideSwitchExpression.dart.intertwined.expect
index 6f89a56..2b4316c 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_insideSwitchExpression.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_insideSwitchExpression.dart.intertwined.expect
@@ -68,8 +68,8 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
parsePrecedenceExpression({, 17, false)
parseUnaryExpression({, false)
parsePrimary({, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_pseudoKeyword.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_pseudoKeyword.dart.intertwined.expect
index f93c4b0..625508e 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_pseudoKeyword.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_identifier_unprefixed_pseudoKeyword.dart.intertwined.expect
@@ -105,8 +105,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideCase.dart.intertwined.expect
index cf79697..f1e4d5c 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideCast.dart.intertwined.expect
index abda7aa..ffd8541 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideIfCase.dart.intertwined.expect
index 87bd6d7..8ba24be 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideNullAssert.dart.intertwined.expect
index 7d76540..e21948c 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideNullCheck.dart.intertwined.expect
index bbfddee..07f853d 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_empty_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideCase.dart.intertwined.expect
index cfecb37..74e32db 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideCast.dart.intertwined.expect
index 1df5f1a..cd614ea 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideIfCase.dart.intertwined.expect
index b46f1cc..b514275 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideNullAssert.dart.intertwined.expect
index 44a10c23..ab2984e 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideNullCheck.dart.intertwined.expect
index d6f53f8..5615bdb 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_typed_nonEmpty_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideCase.dart.intertwined.expect
index 3d89775..2b091b3 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideCast.dart.intertwined.expect
index da751d9..467fb1e 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideIfCase.dart.intertwined.expect
index bc000dd..23693bd 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideNullAssert.dart.intertwined.expect
index c8d3737..ef9a1976 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideNullCheck.dart.intertwined.expect
index 2fa02f0..914214d 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_empty_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideCase.dart.intertwined.expect
index 2d16fc6..20b0292 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideCast.dart.intertwined.expect
index bc12440..3e8765df 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideIfCase.dart.intertwined.expect
index f8c8fce..8bc259c 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideNullAssert.dart.intertwined.expect
index 2c9cb9d..41e00e2 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideNullCheck.dart.intertwined.expect
index 529c0ca..b58b956 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_list_untyped_nonEmpty_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideCase.dart.intertwined.expect
index e66dc5a..62dbd5e 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideCast.dart.intertwined.expect
index cec2c64..a19e1cd 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideIfCase.dart.intertwined.expect
index 814781d..5de20af 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideNullAssert.dart.intertwined.expect
index 2953c49..1ec5226 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideNullCheck.dart.intertwined.expect
index 8741a27..287b474 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_typed_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideCase.dart.intertwined.expect
index b279dfd..1df115c 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideCast.dart.intertwined.expect
index 9e8b736..cf08341 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideIfCase.dart.intertwined.expect
index 922d1a9..5f4a6ff 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideNullAssert.dart.intertwined.expect
index 1cda99b..55eb8d4 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideNullCheck.dart.intertwined.expect
index 3bb1045..c2e9b86 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_map_untyped_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideCase.dart.intertwined.expect
index 8ed47ae3..7744850 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideCast.dart.intertwined.expect
index 9226b57..6163756 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideIfCase.dart.intertwined.expect
index 19ee169..0c53e46 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideNullAssert.dart.intertwined.expect
index ef176e8..92d8992 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideNullCheck.dart.intertwined.expect
index 87732c6..76a331f 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_objectExpression_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideCase.dart.intertwined.expect
index 9b548d0..13baa44 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideCast.dart.intertwined.expect
index bdaa899..6ef8f98 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideIfCase.dart.intertwined.expect
index 9e6ce5bb..f689a3e 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideNullAssert.dart.intertwined.expect
index 039af5b..bc57b81 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideNullCheck.dart.intertwined.expect
index f8d1a04..01f56bb 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_parenthesized_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideCase.dart.intertwined.expect
index 2085bb9..1310d56 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideCast.dart.intertwined.expect
index 431879a..fd2e299 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideIfCase.dart.intertwined.expect
index 668cdb6..1ad4783 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideNullAssert.dart.intertwined.expect
index 0c2f5e1..c1cbd3d 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideNullCheck.dart.intertwined.expect
index 5b126ed..90d53ed 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_typed_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideCase.dart.intertwined.expect
index 3b0d39a..2f86114 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideCase.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideCast.dart.intertwined.expect
index 8bb8e06..ee986c1 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideCast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideIfCase.dart.intertwined.expect
index 7964395..a7d122c 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideIfCase.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideNullAssert.dart.intertwined.expect
index 8575618..09922178 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideNullAssert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideNullCheck.dart.intertwined.expect
index 8afddc3..a43de97 100644
--- a/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/constant_set_untyped_insideNullCheck.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/double_literal_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/double_literal_inside_case.dart.intertwined.expect
index 5dca641..074a32d 100644
--- a/pkg/front_end/parser_testcases/patterns/double_literal_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/double_literal_inside_case.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/double_literal_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/double_literal_inside_cast.dart.intertwined.expect
index 4c8ff87..31882d5 100644
--- a/pkg/front_end/parser_testcases/patterns/double_literal_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/double_literal_inside_cast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/double_literal_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/double_literal_inside_if_case.dart.intertwined.expect
index 721068a..9a582ef 100644
--- a/pkg/front_end/parser_testcases/patterns/double_literal_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/double_literal_inside_if_case.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/double_literal_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/double_literal_inside_null_assert.dart.intertwined.expect
index 9199719..5b52989 100644
--- a/pkg/front_end/parser_testcases/patterns/double_literal_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/double_literal_inside_null_assert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/double_literal_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/double_literal_inside_null_check.dart.intertwined.expect
index c6e5e8d..480b1a1 100644
--- a/pkg/front_end/parser_testcases/patterns/double_literal_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/double_literal_inside_null_check.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_cast.dart.intertwined.expect
index bfae2dc..5dafd3f 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_cast.dart.intertwined.expect
@@ -113,14 +113,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_null_assert.dart.intertwined.expect
index 3a2789a..91d15db 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_null_assert.dart.intertwined.expect
@@ -113,14 +113,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_null_check.dart.intertwined.expect
index 6c79e1c..6a5a19a 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_pattern_inside_null_check.dart.intertwined.expect
@@ -113,14 +113,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_pattern_with_type_args.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_pattern_with_type_args.dart.intertwined.expect
index 37c544a..8ca26ce 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_pattern_with_type_args.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_pattern_with_type_args.dart.intertwined.expect
@@ -104,14 +104,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: true)
+ parseObjectPatternRest(>, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(C, null, null)
ensureColon())
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_pattern_with_type_args_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_pattern_with_type_args_inside_null_assert.dart.intertwined.expect
index bf05643..fdf7e27 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_pattern_with_type_args_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_pattern_with_type_args_inside_null_assert.dart.intertwined.expect
@@ -121,18 +121,18 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: true)
+ parseObjectPatternRest(>, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_prefixedNamedUnderscore_withTypeArgs_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_prefixedNamedUnderscore_withTypeArgs_insideCase.dart.intertwined.expect
index c7c4d01..f770d35 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_prefixedNamedUnderscore_withTypeArgs_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_prefixedNamedUnderscore_withTypeArgs_insideCase.dart.intertwined.expect
@@ -66,14 +66,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: true)
+ parseObjectPatternRest(>, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(_, ., Future)
ensureColon())
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_prefixedNamedUnderscore_withoutTypeArgs_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_prefixedNamedUnderscore_withoutTypeArgs_insideCase.dart.intertwined.expect
index f1a4fb9..bb77a2d 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_prefixedNamedUnderscore_withoutTypeArgs_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_prefixedNamedUnderscore_withoutTypeArgs_insideCase.dart.intertwined.expect
@@ -66,10 +66,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(Future, isRefutableContext: true)
+ parseObjectPatternRest(Future, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(_, ., Future)
ensureColon())
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_unprefixedNamedUnderscore_withTypeArgs_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_unprefixedNamedUnderscore_withTypeArgs_insideCase.dart.intertwined.expect
index 66c28bd..b29259b 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_unprefixedNamedUnderscore_withTypeArgs_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_unprefixedNamedUnderscore_withTypeArgs_insideCase.dart.intertwined.expect
@@ -66,14 +66,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: true)
+ parseObjectPatternRest(>, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(_, null, null)
ensureColon())
diff --git a/pkg/front_end/parser_testcases/patterns/extractor_unprefixedNamedUnderscore_withoutTypeArgs_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/extractor_unprefixedNamedUnderscore_withoutTypeArgs_insideCase.dart.intertwined.expect
index 5e889cc4..a413a46 100644
--- a/pkg/front_end/parser_testcases/patterns/extractor_unprefixedNamedUnderscore_withoutTypeArgs_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/extractor_unprefixedNamedUnderscore_withoutTypeArgs_insideCase.dart.intertwined.expect
@@ -66,10 +66,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(_, isRefutableContext: true)
+ parseObjectPatternRest(_, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(_, null, null)
ensureColon())
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_case.dart.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_case.dart.expect
index 1d75c91..bf701cf 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_case.dart.expect
@@ -28,7 +28,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(final)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_case.dart.intertwined.expect
index 7518379..5039700 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_case.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
ensureColon(y)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_cast.dart.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_cast.dart.expect
index 80d63f7..53d4c95 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_cast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_cast.dart.expect
@@ -28,7 +28,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(final)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_cast.dart.intertwined.expect
index 7e74dcc..a357004 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_cast.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_if_case.dart.expect
index 58c69d9..3f6453f 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_if_case.dart.expect
@@ -25,7 +25,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(final)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_if_case.dart.intertwined.expect
index d4fcfb3..fbe35fd 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_if_case.dart.intertwined.expect
@@ -61,11 +61,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
ensureCloseParen(y, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_assert.dart.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_assert.dart.expect
index c9bf2ae..6d99048 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_assert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_assert.dart.expect
@@ -28,7 +28,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(final)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_assert.dart.intertwined.expect
index a05368d..aa192b4 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_assert.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_check.dart.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_check.dart.expect
index 9f5f380..af7172d 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_check.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_check.dart.expect
@@ -28,7 +28,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(final)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_check.dart.intertwined.expect
index 87f0321..1ca4c92 100644
--- a/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/final_variable_inside_null_check.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_element.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_element.dart.expect
index 62c4b0d..83bb0ea 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_element.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_element.dart.expect
@@ -30,7 +30,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleIdentifier(y, expression)
handleNoTypeArguments(+)
handleNoArguments(+)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_element.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_element.dart.intertwined.expect
index 15615fa..de77693 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_element.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_element.dart.intertwined.expect
@@ -73,11 +73,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_statement.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_statement.dart.expect
index 6b1a589..a300270 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_statement.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_statement.dart.expect
@@ -30,7 +30,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleIdentifier(y, expression)
handleNoTypeArguments(+)
handleNoArguments(+)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_statement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_statement.dart.intertwined.expect
index 2f39dad..5a9709a 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_statement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideIfCaseWhenClause_statement.dart.intertwined.expect
@@ -69,11 +69,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideListPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideListPattern.dart.intertwined.expect
index 7f3c915..7697b15 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideListPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideListPattern.dart.intertwined.expect
@@ -68,12 +68,12 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix({, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix({, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideMapPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideMapPattern.dart.intertwined.expect
index d09a90d..9861736 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideMapPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideMapPattern.dart.intertwined.expect
@@ -68,10 +68,10 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix({, isRefutableContext: true)
+ parseMapPatternSuffix({, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -82,8 +82,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('x')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideObjectPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideObjectPattern.dart.intertwined.expect
index 758e860..8cb22df 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideObjectPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideObjectPattern.dart.intertwined.expect
@@ -68,14 +68,14 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(Foo, isRefutableContext: true)
+ parseObjectPatternRest(Foo, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(bar, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideParenthesizedConstPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideParenthesizedConstPattern.dart.intertwined.expect
index 233de11..9e70f6f 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideParenthesizedConstPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideParenthesizedConstPattern.dart.intertwined.expect
@@ -68,8 +68,8 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideParenthesizedPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideParenthesizedPattern.dart.intertwined.expect
index 97b833b..7ee901e 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideParenthesizedPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideParenthesizedPattern.dart.intertwined.expect
@@ -68,11 +68,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern({, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern({, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_guarded.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_guarded.dart.expect
index 2914ad8..839eefc 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_guarded.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_guarded.dart.expect
@@ -25,7 +25,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginSwitchExpression(switch)
handleIdentifier(x, expression)
handleNoTypeArguments())
@@ -35,7 +35,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleLiteralBool(true)
handleNoTypeVariables(()
beginFunctionExpression(()
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_guarded.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_guarded.dart.intertwined.expect
index 4765fe3..2370762 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_guarded.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_guarded.dart.intertwined.expect
@@ -68,11 +68,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
@@ -105,11 +105,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_unguarded.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_unguarded.dart.expect
index 5489461..e75ae7d 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_unguarded.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_unguarded.dart.expect
@@ -25,7 +25,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginSwitchExpression(switch)
handleIdentifier(x, expression)
handleNoTypeArguments())
@@ -35,7 +35,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleNoTypeVariables(()
beginFunctionExpression(()
beginFormalParameters((, MemberKind.Local)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_unguarded.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_unguarded.dart.intertwined.expect
index 83b6117..d39675b 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_unguarded.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchExpressionCase_unguarded.dart.intertwined.expect
@@ -68,11 +68,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
@@ -105,11 +105,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureFunctionArrow(_)
parseExpression(=>)
looksLikeOuterPatternEquals(=>)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchStatementInWhenClause.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchStatementInWhenClause.dart.expect
index 7bcdc50..d20b829 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchStatementInWhenClause.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchStatementInWhenClause.dart.expect
@@ -33,7 +33,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleIdentifier(y, expression)
handleNoTypeArguments(+)
handleNoArguments(+)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchStatementInWhenClause.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchStatementInWhenClause.dart.intertwined.expect
index 873bb8a..1c663d7 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchStatementInWhenClause.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_allowed_insideSwitchStatementInWhenClause.dart.intertwined.expect
@@ -77,11 +77,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterListPattern.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterListPattern.dart.expect
index a4e8424..71d03d3 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterListPattern.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterListPattern.dart.expect
@@ -26,7 +26,7 @@
beginSwitchExpressionCase()
handleNoTypeArguments([)
handleNoType([)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleListPattern(1, [, ])
beginParenthesizedExpressionOrRecordLiteral(()
endRecordLiteral((, 0, null)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterListPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterListPattern.dart.intertwined.expect
index 4adb62d..cea5f98 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterListPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterListPattern.dart.intertwined.expect
@@ -68,15 +68,15 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix({, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix({, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
+ parseVariablePattern([, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handleListPattern(1, [, ])
parseExpression(when)
looksLikeOuterPatternEquals(when)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterMapPattern.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterMapPattern.dart.expect
index 8107fc2..fbdfcf2 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterMapPattern.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterMapPattern.dart.expect
@@ -28,7 +28,7 @@
beginLiteralString('x')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleMapPatternEntry(:, })
handleMapPattern(1, {, })
beginParenthesizedExpressionOrRecordLiteral(()
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterMapPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterMapPattern.dart.intertwined.expect
index 45e47dd..d3323d4 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterMapPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterMapPattern.dart.intertwined.expect
@@ -68,10 +68,10 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix({, isRefutableContext: true)
+ parseMapPatternSuffix({, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -82,11 +82,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('x')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(1, {, })
parseExpression(when)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterObjectPattern.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterObjectPattern.dart.expect
index fb59b3f..17a47ef 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterObjectPattern.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterObjectPattern.dart.expect
@@ -27,7 +27,7 @@
handleNoTypeArguments(()
handleIdentifier(bar, namedArgumentReference)
handleNoType(:)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
handleObjectPattern(Foo, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterObjectPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterObjectPattern.dart.intertwined.expect
index bbd787f..362f39b 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterObjectPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterObjectPattern.dart.intertwined.expect
@@ -68,17 +68,17 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(Foo, isRefutableContext: true)
+ parseObjectPatternRest(Foo, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(bar, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(Foo, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterParenthesizedPattern.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterParenthesizedPattern.dart.expect
index 3c7c550..adb8c11 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterParenthesizedPattern.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterParenthesizedPattern.dart.expect
@@ -25,7 +25,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType(()
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleParenthesizedPattern(()
beginParenthesizedExpressionOrRecordLiteral(()
endRecordLiteral((, 0, null)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterParenthesizedPattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterParenthesizedPattern.dart.intertwined.expect
index 089c757..70f50ec 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterParenthesizedPattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterParenthesizedPattern.dart.intertwined.expect
@@ -68,14 +68,14 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern({, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern({, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
+ parseVariablePattern((, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureCloseParen(_, ()
listener: handleParenthesizedPattern(()
parseExpression(when)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterSwitchExpressionInWhenClause.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterSwitchExpressionInWhenClause.dart.expect
index 3b0ac92..d96cbce 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterSwitchExpressionInWhenClause.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterSwitchExpressionInWhenClause.dart.expect
@@ -25,7 +25,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginSwitchExpression(switch)
handleIdentifier(x, expression)
handleNoTypeArguments())
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterSwitchExpressionInWhenClause.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterSwitchExpressionInWhenClause.dart.intertwined.expect
index ca03d26..50d1a34 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterSwitchExpressionInWhenClause.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_afterSwitchExpressionInWhenClause.dart.intertwined.expect
@@ -68,11 +68,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_insideSwitchExpressionInWhenClause.dart.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_insideSwitchExpressionInWhenClause.dart.expect
index 159847a..1b9122c 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_insideSwitchExpressionInWhenClause.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_insideSwitchExpressionInWhenClause.dart.expect
@@ -32,7 +32,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleIdentifier(y, expression)
handleNoTypeArguments(+)
handleNoArguments(+)
diff --git a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_insideSwitchExpressionInWhenClause.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_insideSwitchExpressionInWhenClause.dart.intertwined.expect
index f8ea54f..4c2f6bf 100644
--- a/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_insideSwitchExpressionInWhenClause.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/functionExpression_disallowed_insideSwitchExpressionInWhenClause.dart.intertwined.expect
@@ -78,11 +78,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_case.dart.intertwined.expect
index 764a624..b35c5c7 100644
--- a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_case.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_cast.dart.intertwined.expect
index 77fbfe0..03f2ce3f 100644
--- a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_cast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_if_case.dart.intertwined.expect
index b1c0dde..ebf4852 100644
--- a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_if_case.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_null_assert.dart.intertwined.expect
index e8178df..9684b99 100644
--- a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_null_assert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_null_check.dart.intertwined.expect
index aecb835..4fc7a7c 100644
--- a/pkg/front_end/parser_testcases/patterns/integer_literal_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/integer_literal_inside_null_check.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/issue50591.dart.expect b/pkg/front_end/parser_testcases/patterns/issue50591.dart.expect
index 96aa656..616b764 100644
--- a/pkg/front_end/parser_testcases/patterns/issue50591.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/issue50591.dart.expect
@@ -39,7 +39,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleIdentifier(a, expression)
handleNoTypeArguments(()
beginArguments(()
diff --git a/pkg/front_end/parser_testcases/patterns/issue50591.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/issue50591.dart.intertwined.expect
index e86e853..c5b75b9 100644
--- a/pkg/front_end/parser_testcases/patterns/issue50591.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/issue50591.dart.intertwined.expect
@@ -88,11 +88,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.expect b/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.expect
index abb05ed..3753b96 100644
--- a/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.expect
@@ -44,7 +44,7 @@
endSwitchExpressionCase(null, =>, 0)
beginSwitchExpressionCase()
handleNoType(,)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleLiteralInt(1)
endSwitchExpressionCase(null, =>, 1)
endSwitchExpressionBlock(2, {, })
diff --git a/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.intertwined.expect
index fa4b238..dfde1aaf 100644
--- a/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/issue50591_example2.dart.intertwined.expect
@@ -85,8 +85,8 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
@@ -114,11 +114,11 @@
listener: handleLiteralInt(0)
listener: endSwitchExpressionCase(null, =>, 0)
listener: beginSwitchExpressionCase()
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
+ parseVariablePattern(,, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureFunctionArrow(_)
parseExpression(=>)
looksLikeOuterPatternEquals(=>)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_typed_nonEmpty.dart.expect b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_typed_nonEmpty.dart.expect
index 5a0299c..0e83f25 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_typed_nonEmpty.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_typed_nonEmpty.dart.expect
@@ -23,9 +23,9 @@
handleType(int, null)
endTypeArguments(1, <, >)
handleNoType([)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, true)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, true)
handleListPattern(2, [, ])
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_typed_nonEmpty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_typed_nonEmpty.dart.intertwined.expect
index 370c1c3..edc3cbe 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_typed_nonEmpty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_typed_nonEmpty.dart.intertwined.expect
@@ -46,24 +46,24 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseListPatternSuffix(>, isRefutableContext: false)
- parsePattern([, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern([, isRefutableContext: false)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(>, PatternContext.assignment)
+ parsePattern([, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern([, PatternContext.assignment)
+ parseVariablePattern([, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, a)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ listener: handleVariablePattern(null, a, true)
+ parsePattern(,, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.assignment)
+ parseVariablePattern(,, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, true)
listener: handleListPattern(2, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_empty.dart.intertwined.expect
index 765865e..6e5150e 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_empty.dart.intertwined.expect
@@ -46,10 +46,10 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: handleNoTypeArguments([])
- parseListPatternSuffix({, isRefutableContext: false)
+ parseListPatternSuffix({, PatternContext.assignment)
rewriteSquareBrackets({)
link([, ])
rewriter()
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_emptyWithWhitespace.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_emptyWithWhitespace.dart.intertwined.expect
index 7f9f607..167ef33 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_emptyWithWhitespace.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_emptyWithWhitespace.dart.intertwined.expect
@@ -46,10 +46,10 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: handleNoTypeArguments([)
- parseListPatternSuffix({, isRefutableContext: false)
+ parseListPatternSuffix({, PatternContext.assignment)
listener: handleListPattern(0, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_nonEmpty.dart.expect b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_nonEmpty.dart.expect
index 5aba751..a005029 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_nonEmpty.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_nonEmpty.dart.expect
@@ -19,9 +19,9 @@
beginBlockFunctionBody({)
handleNoTypeArguments([)
handleNoType([)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, true)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, true)
handleListPattern(2, [, ])
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_nonEmpty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_nonEmpty.dart.intertwined.expect
index a32fef8..130bfe6 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_nonEmpty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideAssignment_untyped_nonEmpty.dart.intertwined.expect
@@ -46,20 +46,20 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: handleNoTypeArguments([)
- parseListPatternSuffix({, isRefutableContext: false)
- parsePattern([, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern([, isRefutableContext: false)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix({, PatternContext.assignment)
+ parsePattern([, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern([, PatternContext.assignment)
+ parseVariablePattern([, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, a)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ listener: handleVariablePattern(null, a, true)
+ parsePattern(,, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.assignment)
+ parseVariablePattern(,, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, true)
listener: handleListPattern(2, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_typed_nonEmpty.dart.expect b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_typed_nonEmpty.dart.expect
index bf8cf1d..9cdca2a 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_typed_nonEmpty.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_typed_nonEmpty.dart.expect
@@ -25,9 +25,9 @@
handleType(int, null)
endTypeArguments(1, <, >)
handleNoType([)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handleListPattern(2, [, ])
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_typed_nonEmpty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_typed_nonEmpty.dart.intertwined.expect
index 024b16b..e4b1685 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_typed_nonEmpty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_typed_nonEmpty.dart.intertwined.expect
@@ -43,24 +43,24 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseListPatternSuffix(>, isRefutableContext: false)
- parsePattern([, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern([, isRefutableContext: false)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(>, PatternContext.declaration)
+ parsePattern([, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern([, PatternContext.declaration)
+ parseVariablePattern([, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, a)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ listener: handleVariablePattern(null, a, false)
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handleListPattern(2, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_empty.dart.intertwined.expect
index e144134..30f3472 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_empty.dart.intertwined.expect
@@ -43,10 +43,10 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments([])
- parseListPatternSuffix(var, isRefutableContext: false)
+ parseListPatternSuffix(var, PatternContext.declaration)
rewriteSquareBrackets(var)
link([, ])
rewriter()
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_emptyWithWhitespace.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_emptyWithWhitespace.dart.intertwined.expect
index c07267a..ddb8436 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_emptyWithWhitespace.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_emptyWithWhitespace.dart.intertwined.expect
@@ -43,10 +43,10 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(var, isRefutableContext: false)
+ parseListPatternSuffix(var, PatternContext.declaration)
listener: handleListPattern(0, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_nonEmpty.dart.expect b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_nonEmpty.dart.expect
index deb1c8a..8de6776 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_nonEmpty.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_nonEmpty.dart.expect
@@ -21,9 +21,9 @@
endMetadataStar(0)
handleNoTypeArguments([)
handleNoType([)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handleListPattern(2, [, ])
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_nonEmpty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_nonEmpty.dart.intertwined.expect
index c1cd259..7f4fa2b 100644
--- a/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_nonEmpty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_insideDeclaration_untyped_nonEmpty.dart.intertwined.expect
@@ -43,20 +43,20 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(var, isRefutableContext: false)
- parsePattern([, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern([, isRefutableContext: false)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(var, PatternContext.declaration)
+ parsePattern([, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern([, PatternContext.declaration)
+ parseVariablePattern([, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, a)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ listener: handleVariablePattern(null, a, false)
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handleListPattern(2, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case.dart.intertwined.expect
index 9bee1bd..21e2fe9 100644
--- a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case.dart.intertwined.expect
@@ -69,20 +69,20 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression([, 17, false)
parseUnaryExpression([, false)
parsePrimary([, expression)
parseLiteralInt([)
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_empty.dart.intertwined.expect
index a64a4de..d4972bc 100644
--- a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_empty.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([])
- parseListPatternSuffix(case, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
rewriteSquareBrackets(case)
link([, ])
rewriter()
diff --git a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_empty_whitespace.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_empty_whitespace.dart.intertwined.expect
index 328818b..b581b40 100644
--- a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_empty_whitespace.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_empty_whitespace.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
listener: handleListPattern(0, [, ])
ensureColon(])
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_with_type_arguments.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_with_type_arguments.dart.intertwined.expect
index ef3375b..6778fca 100644
--- a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_with_type_arguments.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_case_with_type_arguments.dart.intertwined.expect
@@ -69,24 +69,24 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseListPatternSuffix(>, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(>, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression([, 17, false)
parseUnaryExpression([, false)
parsePrimary([, expression)
parseLiteralInt([)
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_cast.dart.intertwined.expect
index a5ffa1e..1944f7a 100644
--- a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_cast.dart.intertwined.expect
@@ -69,12 +69,12 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression([, 17, false)
parseUnaryExpression([, false)
parsePrimary([, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_null_assert.dart.intertwined.expect
index 2baba3e..89df196 100644
--- a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_null_assert.dart.intertwined.expect
@@ -69,12 +69,12 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression([, 17, false)
parseUnaryExpression([, false)
parsePrimary([, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_null_check.dart.intertwined.expect
index 0fbbdd9..ede71b0 100644
--- a/pkg/front_end/parser_testcases/patterns/list_pattern_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/list_pattern_inside_null_check.dart.intertwined.expect
@@ -69,12 +69,12 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression([, 17, false)
parseUnaryExpression([, false)
parsePrimary([, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_and_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/logical_and_inside_if_case.dart.expect
index a443956..6c81437 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_and_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_and_inside_if_case.dart.expect
@@ -27,12 +27,12 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(&&)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
handleType(double, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(&&)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_and_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/logical_and_inside_if_case.dart.intertwined.expect
index 1c74567..7f54f3e 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_and_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_and_inside_if_case.dart.intertwined.expect
@@ -61,21 +61,21 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
- parseVariablePattern(&&, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
+ parseVariablePattern(&&, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(double, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(double, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(&&)
ensureCloseParen(_, ()
listener: handleParenthesizedCondition((, case, null)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_and_lhs.dart.expect b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_and_lhs.dart.expect
index e37b8ce..aaa22b6 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_and_lhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_and_lhs.dart.expect
@@ -30,18 +30,18 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(&&)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
handleType(double, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(&&)
beginBinaryPattern(&&)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
handleType(Object, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(&&)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_and_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_and_lhs.dart.intertwined.expect
index 71b1314..cc0ed4e 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_and_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_and_lhs.dart.intertwined.expect
@@ -69,30 +69,30 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
- parseVariablePattern(&&, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
+ parseVariablePattern(&&, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(double, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(double, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(&&)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
- parseVariablePattern(&&, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
+ parseVariablePattern(&&, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(Object, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(&&)
ensureColon(_)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_lhs.dart.expect b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_lhs.dart.expect
index a0d09fd..da67e08 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_lhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_lhs.dart.expect
@@ -30,18 +30,18 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(&&)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
handleType(double, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(&&)
beginBinaryPattern(||)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
handleType(Object, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(||)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_lhs.dart.intertwined.expect
index 3fd4460..de424ac 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_lhs.dart.intertwined.expect
@@ -69,30 +69,30 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
- parseVariablePattern(&&, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
+ parseVariablePattern(&&, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(double, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(double, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(&&)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
- parseVariablePattern(||, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
+ parseVariablePattern(||, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(Object, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(||)
ensureColon(_)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_rhs.dart.expect b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_rhs.dart.expect
index 62b3b2a..ea6cae1 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_rhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_rhs.dart.expect
@@ -30,17 +30,17 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(||)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
handleType(double, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(&&)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
handleType(Object, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(&&)
endBinaryPattern(||)
endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_rhs.dart.intertwined.expect
index 0c70eaf..1d9d713 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_and_inside_logical_or_rhs.dart.intertwined.expect
@@ -69,29 +69,29 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
- parseVariablePattern(||, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
+ parseVariablePattern(||, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(double, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(double, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
- parseVariablePattern(&&, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
+ parseVariablePattern(&&, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(Object, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(&&)
listener: endBinaryPattern(||)
ensureColon(_)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_or_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/logical_or_inside_if_case.dart.expect
index bee0cb6..50919db 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_or_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_or_inside_if_case.dart.expect
@@ -27,12 +27,12 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(||)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
handleType(double, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(||)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_or_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/logical_or_inside_if_case.dart.intertwined.expect
index 270f6af..90a7bfb 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_or_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_or_inside_if_case.dart.intertwined.expect
@@ -61,21 +61,21 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
- parseVariablePattern(||, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
+ parseVariablePattern(||, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(double, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(double, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(||)
ensureCloseParen(_, ()
listener: handleParenthesizedCondition((, case, null)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_or_inside_logical_or_lhs.dart.expect b/pkg/front_end/parser_testcases/patterns/logical_or_inside_logical_or_lhs.dart.expect
index 585ccbd..7de3cea 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_or_inside_logical_or_lhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_or_inside_logical_or_lhs.dart.expect
@@ -30,18 +30,18 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(?)
handleType(int, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginBinaryPattern(||)
handleIdentifier(double, typeReference)
handleNoTypeArguments(?)
handleType(double, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(||)
beginBinaryPattern(||)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(?)
handleType(Object, ?)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endBinaryPattern(||)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/logical_or_inside_logical_or_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/logical_or_inside_logical_or_lhs.dart.intertwined.expect
index 5f60873..bf48544 100644
--- a/pkg/front_end/parser_testcases/patterns/logical_or_inside_logical_or_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/logical_or_inside_logical_or_lhs.dart.intertwined.expect
@@ -69,30 +69,30 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(int, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
- parseVariablePattern(||, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
+ parseVariablePattern(||, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(double, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(double, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(||)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
- parseVariablePattern(||, typeInfo: Instance of 'SimpleNullableType')
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
+ parseVariablePattern(||, PatternContext.matching, typeInfo: Instance of 'SimpleNullableType')
listener: handleIdentifier(Object, typeReference)
listener: handleNoTypeArguments(?)
listener: handleType(Object, ?)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: endBinaryPattern(||)
ensureColon(_)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_typed_nonEmpty.dart.expect b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_typed_nonEmpty.dart.expect
index ba77159..0bbb0aa 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_typed_nonEmpty.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_typed_nonEmpty.dart.expect
@@ -28,12 +28,12 @@
beginLiteralString('a')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, true)
handleMapPatternEntry(:, ,)
beginLiteralString('b')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, true)
handleMapPatternEntry(:, })
handleMapPattern(2, {, })
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_typed_nonEmpty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_typed_nonEmpty.dart.intertwined.expect
index 0cc0b7b..2258fb0 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_typed_nonEmpty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_typed_nonEmpty.dart.intertwined.expect
@@ -46,8 +46,8 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: beginTypeArguments(<)
listener: handleIdentifier(String, typeReference)
listener: handleNoTypeArguments(,)
@@ -56,7 +56,7 @@
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(2, <, >)
- parseMapPatternSuffix(>, isRefutableContext: false)
+ parseMapPatternSuffix(>, PatternContext.assignment)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -67,11 +67,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.assignment)
+ parseVariablePattern(:, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, true)
listener: handleMapPatternEntry(:, ,)
parseExpression(,)
looksLikeOuterPatternEquals(,)
@@ -83,11 +83,11 @@
parseSingleLiteralString(,)
listener: beginLiteralString('b')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.assignment)
+ parseVariablePattern(:, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, true)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(2, {, })
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_empty.dart.intertwined.expect
index aa5a74b..537011c 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_empty.dart.intertwined.expect
@@ -55,10 +55,10 @@
looksLikeOuterPatternEquals(()
skipOuterPattern(()
parsePatternAssignment(()
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
+ parsePattern((, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern((, PatternContext.assignment)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix((, isRefutableContext: false)
+ parseMapPatternSuffix((, PatternContext.assignment)
listener: handleMapPattern(0, {, })
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_empty_beginningOfStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_empty_beginningOfStatement.dart.intertwined.expect
index 46b43db..be77126 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_empty_beginningOfStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_empty_beginningOfStatement.dart.intertwined.expect
@@ -43,10 +43,10 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix({, isRefutableContext: false)
+ parseMapPatternSuffix({, PatternContext.assignment)
listener: handleMapPattern(0, {, })
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty.dart.expect b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty.dart.expect
index c20886b..4ece6138 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty.dart.expect
@@ -22,12 +22,12 @@
beginLiteralString('a')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, true)
handleMapPatternEntry(:, ,)
beginLiteralString('b')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, true)
handleMapPatternEntry(:, })
handleMapPattern(2, {, })
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty.dart.intertwined.expect
index 85484c9..cf8b2e0 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty.dart.intertwined.expect
@@ -55,10 +55,10 @@
looksLikeOuterPatternEquals(()
skipOuterPattern(()
parsePatternAssignment(()
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
+ parsePattern((, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern((, PatternContext.assignment)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix((, isRefutableContext: false)
+ parseMapPatternSuffix((, PatternContext.assignment)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -69,11 +69,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.assignment)
+ parseVariablePattern(:, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, true)
listener: handleMapPatternEntry(:, ,)
parseExpression(,)
looksLikeOuterPatternEquals(,)
@@ -85,11 +85,11 @@
parseSingleLiteralString(,)
listener: beginLiteralString('b')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.assignment)
+ parseVariablePattern(:, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, true)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(2, {, })
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty_beginningOfStatement.dart.expect b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty_beginningOfStatement.dart.expect
index 1d37e82..80d63fd 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty_beginningOfStatement.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty_beginningOfStatement.dart.expect
@@ -21,12 +21,12 @@
beginLiteralString('a')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, true)
handleMapPatternEntry(:, ,)
beginLiteralString('b')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, true)
handleMapPatternEntry(:, })
handleMapPattern(2, {, })
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty_beginningOfStatement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty_beginningOfStatement.dart.intertwined.expect
index 3337095..fbe6ce6 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty_beginningOfStatement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideAssignment_untyped_nonEmpty_beginningOfStatement.dart.intertwined.expect
@@ -43,10 +43,10 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix({, isRefutableContext: false)
+ parseMapPatternSuffix({, PatternContext.assignment)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -57,11 +57,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.assignment)
+ parseVariablePattern(:, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, true)
listener: handleMapPatternEntry(:, ,)
parseExpression(,)
looksLikeOuterPatternEquals(,)
@@ -73,11 +73,11 @@
parseSingleLiteralString(,)
listener: beginLiteralString('b')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.assignment)
+ parseVariablePattern(:, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, true)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(2, {, })
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_typed_nonEmpty.dart.expect b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_typed_nonEmpty.dart.expect
index b839413..1efd19a 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_typed_nonEmpty.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_typed_nonEmpty.dart.expect
@@ -30,12 +30,12 @@
beginLiteralString('a')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleMapPatternEntry(:, ,)
beginLiteralString('b')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handleMapPatternEntry(:, })
handleMapPattern(2, {, })
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_typed_nonEmpty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_typed_nonEmpty.dart.intertwined.expect
index 4d7cb65..473cc3d 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_typed_nonEmpty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_typed_nonEmpty.dart.intertwined.expect
@@ -43,8 +43,8 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: beginTypeArguments(<)
listener: handleIdentifier(String, typeReference)
listener: handleNoTypeArguments(,)
@@ -53,7 +53,7 @@
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(2, <, >)
- parseMapPatternSuffix(>, isRefutableContext: false)
+ parseMapPatternSuffix(>, PatternContext.declaration)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -64,11 +64,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handleMapPatternEntry(:, ,)
parseExpression(,)
looksLikeOuterPatternEquals(,)
@@ -80,11 +80,11 @@
parseSingleLiteralString(,)
listener: beginLiteralString('b')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(2, {, })
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_empty.dart.intertwined.expect
index 50f3979..8877636 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_empty.dart.intertwined.expect
@@ -43,10 +43,10 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(var, isRefutableContext: false)
+ parseMapPatternSuffix(var, PatternContext.declaration)
listener: handleMapPattern(0, {, })
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_nonEmpty.dart.expect b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_nonEmpty.dart.expect
index 4f41088..bdb2c58 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_nonEmpty.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_nonEmpty.dart.expect
@@ -23,12 +23,12 @@
beginLiteralString('a')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleMapPatternEntry(:, ,)
beginLiteralString('b')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handleMapPatternEntry(:, })
handleMapPattern(2, {, })
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_nonEmpty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_nonEmpty.dart.intertwined.expect
index de604f2..b19d2bc 100644
--- a/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_nonEmpty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_insideDeclaration_untyped_nonEmpty.dart.intertwined.expect
@@ -43,10 +43,10 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(var, isRefutableContext: false)
+ parseMapPatternSuffix(var, PatternContext.declaration)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -57,11 +57,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handleMapPatternEntry(:, ,)
parseExpression(,)
looksLikeOuterPatternEquals(,)
@@ -73,11 +73,11 @@
parseSingleLiteralString(,)
listener: beginLiteralString('b')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(2, {, })
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case.dart.intertwined.expect
index 4d288c1..3635047 100644
--- a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,8 +83,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
@@ -102,8 +102,8 @@
parseSingleLiteralString(,)
listener: beginLiteralString('b')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case_empty.dart.intertwined.expect
index 4fe0102..4178f51 100644
--- a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case_empty.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
listener: handleMapPattern(0, {, })
ensureColon(})
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case_with_type_arguments.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case_with_type_arguments.dart.intertwined.expect
index cbf3d1a..a140d56 100644
--- a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case_with_type_arguments.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_case_with_type_arguments.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(String, typeReference)
listener: handleNoTypeArguments(,)
@@ -79,7 +79,7 @@
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(2, <, >)
- parseMapPatternSuffix(>, isRefutableContext: true)
+ parseMapPatternSuffix(>, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -90,8 +90,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
@@ -109,8 +109,8 @@
parseSingleLiteralString(,)
listener: beginLiteralString('b')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_cast.dart.intertwined.expect
index ea06d8b..a2632c7 100644
--- a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_cast.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,8 +83,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_null_assert.dart.intertwined.expect
index 5f2a2cd..177c912 100644
--- a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_null_assert.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,8 +83,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_null_check.dart.intertwined.expect
index a4defa8..47c3489 100644
--- a/pkg/front_end/parser_testcases/patterns/map_pattern_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/map_pattern_inside_null_check.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,8 +83,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_case.dart.intertwined.expect
index 8eb976c..0edd0ab 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_case.dart.intertwined.expect
@@ -98,8 +98,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern.dart.intertwined.expect
index 285cc52..7f82ff4 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern.dart.intertwined.expect
@@ -113,14 +113,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern_implicitly_named.dart.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern_implicitly_named.dart.expect
index 3e73904..bf9caa7 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern_implicitly_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern_implicitly_named.dart.expect
@@ -56,7 +56,7 @@
handleNoTypeArguments(()
handleNoName(()
handleNoType(var)
- handleVariablePattern(var, f)
+ handleVariablePattern(var, f, false)
handleNullAssertPattern(!)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern_implicitly_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
index 4ed032b..4aaea54 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
@@ -113,16 +113,16 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
listener: handleNoName(()
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, f)
+ listener: handleVariablePattern(var, f, false)
listener: handleNullAssertPattern(!)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_if_case.dart.expect
index b2d7bdb..50e9e05 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_if_case.dart.expect
@@ -25,7 +25,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
handleNullAssertPattern(!)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_if_case.dart.intertwined.expect
index e16d340..d946278 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_if_case.dart.intertwined.expect
@@ -61,11 +61,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
listener: handleNullAssertPattern(!)
ensureCloseParen(!, ()
listener: handleParenthesizedCondition((, case, null)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_list_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_list_pattern.dart.intertwined.expect
index 0247763..a94e34b 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_list_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_list_pattern.dart.intertwined.expect
@@ -69,12 +69,12 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression([, 17, false)
parseUnaryExpression([, false)
parsePrimary([, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_and_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_and_lhs.dart.intertwined.expect
index 90ecf8f..a7426cc 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_and_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_and_lhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -79,8 +79,8 @@
listener: handleConstantPattern(null)
listener: handleNullAssertPattern(!)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
parsePrecedenceExpression(&&, 17, false)
parseUnaryExpression(&&, false)
parsePrimary(&&, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_and_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_and_rhs.dart.intertwined.expect
index da8754e..283fedf 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_and_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_and_rhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -78,8 +78,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
parsePrecedenceExpression(&&, 17, false)
parseUnaryExpression(&&, false)
parsePrimary(&&, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_or_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_or_lhs.dart.intertwined.expect
index 76c0a53..c01c1a8 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_or_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_or_lhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -79,8 +79,8 @@
listener: handleConstantPattern(null)
listener: handleNullAssertPattern(!)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
parsePrecedenceExpression(||, 17, false)
parseUnaryExpression(||, false)
parsePrimary(||, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_or_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_or_rhs.dart.intertwined.expect
index e5037f4..38a236e1 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_or_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_logical_or_rhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -78,8 +78,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
parsePrecedenceExpression(||, 17, false)
parseUnaryExpression(||, false)
parsePrimary(||, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_map_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_map_pattern.dart.intertwined.expect
index d125efa..b863dd4 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_map_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_map_pattern.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,8 +83,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_parenthesized_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_parenthesized_pattern.dart.intertwined.expect
index 8f344ec..b0619fa 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_parenthesized_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_parenthesized_pattern.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_implicitly_named.dart.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_implicitly_named.dart.expect
index e5eb56e..f9147db 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_implicitly_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_implicitly_named.dart.expect
@@ -29,7 +29,7 @@
beginCaseExpression(case)
handleNoName(()
handleNoType(var)
- handleVariablePattern(var, n)
+ handleVariablePattern(var, n, false)
handleNullAssertPattern(!)
handlePatternField(:)
handleLiteralInt(2)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_implicitly_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_implicitly_named.dart.intertwined.expect
index fb30f4f..808aa29 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_implicitly_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_implicitly_named.dart.intertwined.expect
@@ -69,19 +69,19 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
listener: handleNoName(()
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, n)
+ listener: handleVariablePattern(var, n, false)
listener: handleNullAssertPattern(!)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_named.dart.intertwined.expect
index 65e5bce..24214fc 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_named.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
ensureIdentifier((, namedRecordFieldReference)
listener: handleIdentifier(n, namedRecordFieldReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
@@ -84,8 +84,8 @@
listener: handleConstantPattern(null)
listener: handleNullAssertPattern(!)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_unnamed.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_unnamed.dart.intertwined.expect
index af80369..8d8f124 100644
--- a/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_unnamed.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_assert_inside_record_pattern_unnamed.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
@@ -82,8 +82,8 @@
listener: handleConstantPattern(null)
listener: handleNullAssertPattern(!)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_case.dart.intertwined.expect
index e6eb394..37406ac0 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_case.dart.intertwined.expect
@@ -98,8 +98,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern.dart.intertwined.expect
index 6047b92..43584a9 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern.dart.intertwined.expect
@@ -113,14 +113,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern_implicitly_named.dart.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern_implicitly_named.dart.expect
index 91fc022..f70fe79 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern_implicitly_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern_implicitly_named.dart.expect
@@ -56,7 +56,7 @@
handleNoTypeArguments(()
handleNoName(()
handleNoType(var)
- handleVariablePattern(var, f)
+ handleVariablePattern(var, f, false)
handleNullCheckPattern(?)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern_implicitly_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
index 742ccec..7ff83df 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
@@ -113,16 +113,16 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
listener: handleNoName(()
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, f)
+ listener: handleVariablePattern(var, f, false)
listener: handleNullCheckPattern(?)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_if_case.dart.expect
index 00e9683..f3fa194 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_if_case.dart.expect
@@ -25,7 +25,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
handleNullCheckPattern(?)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_if_case.dart.intertwined.expect
index f28e4e9..c7d077b 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_if_case.dart.intertwined.expect
@@ -61,11 +61,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
listener: handleNullCheckPattern(?)
ensureCloseParen(?, ()
listener: handleParenthesizedCondition((, case, null)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_list_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_list_pattern.dart.intertwined.expect
index 9ad5e5f..6cb1fe2 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_list_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_list_pattern.dart.intertwined.expect
@@ -69,12 +69,12 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression([, 17, false)
parseUnaryExpression([, false)
parsePrimary([, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_and_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_and_lhs.dart.intertwined.expect
index 628460e..002765d 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_and_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_and_lhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -79,8 +79,8 @@
listener: handleConstantPattern(null)
listener: handleNullCheckPattern(?)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
parsePrecedenceExpression(&&, 17, false)
parseUnaryExpression(&&, false)
parsePrimary(&&, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_and_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_and_rhs.dart.intertwined.expect
index ce7fa20..6f85c7c 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_and_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_and_rhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -78,8 +78,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
parsePrecedenceExpression(&&, 17, false)
parseUnaryExpression(&&, false)
parsePrimary(&&, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_or_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_or_lhs.dart.intertwined.expect
index ee4de62..5a3d2d3 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_or_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_or_lhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -79,8 +79,8 @@
listener: handleConstantPattern(null)
listener: handleNullCheckPattern(?)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
parsePrecedenceExpression(||, 17, false)
parseUnaryExpression(||, false)
parsePrimary(||, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_or_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_or_rhs.dart.intertwined.expect
index c171ba9..88b40c1 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_or_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_logical_or_rhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -78,8 +78,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
parsePrecedenceExpression(||, 17, false)
parseUnaryExpression(||, false)
parsePrimary(||, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_map_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_map_pattern.dart.intertwined.expect
index ee5071b..f76bdb1 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_map_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_map_pattern.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,8 +83,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_parenthesized_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_parenthesized_pattern.dart.intertwined.expect
index e68c63b..8917aca 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_parenthesized_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_parenthesized_pattern.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_implicitly_named.dart.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_implicitly_named.dart.expect
index 675b06e..debfad2 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_implicitly_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_implicitly_named.dart.expect
@@ -29,7 +29,7 @@
beginCaseExpression(case)
handleNoName(()
handleNoType(var)
- handleVariablePattern(var, n)
+ handleVariablePattern(var, n, false)
handleNullCheckPattern(?)
handlePatternField(:)
handleLiteralInt(2)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_implicitly_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_implicitly_named.dart.intertwined.expect
index a967b68..0cc84b3 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_implicitly_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_implicitly_named.dart.intertwined.expect
@@ -69,19 +69,19 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
listener: handleNoName(()
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, n)
+ listener: handleVariablePattern(var, n, false)
listener: handleNullCheckPattern(?)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_named.dart.intertwined.expect
index f2c778e..29d6e35 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_named.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
ensureIdentifier((, namedRecordFieldReference)
listener: handleIdentifier(n, namedRecordFieldReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(:, 17, false)
parseUnaryExpression(:, false)
parsePrimary(:, expression)
@@ -84,8 +84,8 @@
listener: handleConstantPattern(null)
listener: handleNullCheckPattern(?)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_unnamed.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_unnamed.dart.intertwined.expect
index 94fa288..deb6809 100644
--- a/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_unnamed.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_check_inside_record_pattern_unnamed.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
@@ -82,8 +82,8 @@
listener: handleConstantPattern(null)
listener: handleNullCheckPattern(?)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_literal_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_literal_inside_case.dart.intertwined.expect
index fb69cf4..0b112a6 100644
--- a/pkg/front_end/parser_testcases/patterns/null_literal_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_literal_inside_case.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_literal_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_literal_inside_cast.dart.intertwined.expect
index a15d7da..b469529 100644
--- a/pkg/front_end/parser_testcases/patterns/null_literal_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_literal_inside_cast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_literal_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_literal_inside_if_case.dart.intertwined.expect
index ae737f3..5f4ef70 100644
--- a/pkg/front_end/parser_testcases/patterns/null_literal_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_literal_inside_if_case.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_literal_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_literal_inside_null_assert.dart.intertwined.expect
index fc60c6b..1ccabe5 100644
--- a/pkg/front_end/parser_testcases/patterns/null_literal_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_literal_inside_null_assert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/null_literal_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/null_literal_inside_null_check.dart.intertwined.expect
index a9f117e..5fe7a47e 100644
--- a/pkg/front_end/parser_testcases/patterns/null_literal_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/null_literal_inside_null_check.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/object_prefixedNamedUnderscore_withoutTypeArgs_insideDeclaration.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/object_prefixedNamedUnderscore_withoutTypeArgs_insideDeclaration.dart.intertwined.expect
index 1234770..a05efc1 100644
--- a/pkg/front_end/parser_testcases/patterns/object_prefixedNamedUnderscore_withoutTypeArgs_insideDeclaration.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/object_prefixedNamedUnderscore_withoutTypeArgs_insideDeclaration.dart.intertwined.expect
@@ -44,10 +44,10 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(Future, isRefutableContext: false)
+ parseObjectPatternRest(Future, PatternContext.declaration)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(_, ., Future)
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/object_prefixed_withTypeArgs_insideAssignment.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/object_prefixed_withTypeArgs_insideAssignment.dart.intertwined.expect
index 8171b60..e84eae5 100644
--- a/pkg/front_end/parser_testcases/patterns/object_prefixed_withTypeArgs_insideAssignment.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/object_prefixed_withTypeArgs_insideAssignment.dart.intertwined.expect
@@ -47,14 +47,14 @@
skipOuterPattern({)
skipObjectPatternRest(Future)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: false)
+ parseObjectPatternRest(>, PatternContext.assignment)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(async, ., Future)
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/object_prefixed_withTypeArgs_insideDeclaration.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/object_prefixed_withTypeArgs_insideDeclaration.dart.intertwined.expect
index e5d58ee..9a0854c8 100644
--- a/pkg/front_end/parser_testcases/patterns/object_prefixed_withTypeArgs_insideDeclaration.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/object_prefixed_withTypeArgs_insideDeclaration.dart.intertwined.expect
@@ -44,14 +44,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: false)
+ parseObjectPatternRest(>, PatternContext.declaration)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(async, ., Future)
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/object_unprefixedNamedUnderscore_withTypeArgs_insideDeclaration.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/object_unprefixedNamedUnderscore_withTypeArgs_insideDeclaration.dart.intertwined.expect
index 430f2d7..8e56a96 100644
--- a/pkg/front_end/parser_testcases/patterns/object_unprefixedNamedUnderscore_withTypeArgs_insideDeclaration.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/object_unprefixedNamedUnderscore_withTypeArgs_insideDeclaration.dart.intertwined.expect
@@ -44,14 +44,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: false)
+ parseObjectPatternRest(>, PatternContext.declaration)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(_, null, null)
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/object_unprefixedNamedUnderscore_withoutTypeArgs_insideDeclaration.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/object_unprefixedNamedUnderscore_withoutTypeArgs_insideDeclaration.dart.intertwined.expect
index 8380688..5be4c38 100644
--- a/pkg/front_end/parser_testcases/patterns/object_unprefixedNamedUnderscore_withoutTypeArgs_insideDeclaration.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/object_unprefixedNamedUnderscore_withoutTypeArgs_insideDeclaration.dart.intertwined.expect
@@ -44,10 +44,10 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(_, isRefutableContext: false)
+ parseObjectPatternRest(_, PatternContext.declaration)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(_, null, null)
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/object_unprefixed_withTypeArgs_insideDeclaration.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/object_unprefixed_withTypeArgs_insideDeclaration.dart.intertwined.expect
index a7b9b5e..505a32f 100644
--- a/pkg/front_end/parser_testcases/patterns/object_unprefixed_withTypeArgs_insideDeclaration.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/object_unprefixed_withTypeArgs_insideDeclaration.dart.intertwined.expect
@@ -79,14 +79,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: false)
+ parseObjectPatternRest(>, PatternContext.declaration)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(C, null, null)
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/parenthesized_insideAssignment.dart.expect b/pkg/front_end/parser_testcases/patterns/parenthesized_insideAssignment.dart.expect
index 99e8f880..e65a41e 100644
--- a/pkg/front_end/parser_testcases/patterns/parenthesized_insideAssignment.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/parenthesized_insideAssignment.dart.expect
@@ -18,7 +18,7 @@
handleAsyncModifier(null, null)
beginBlockFunctionBody({)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, true)
handleParenthesizedPattern(()
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/parenthesized_insideAssignment.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/parenthesized_insideAssignment.dart.intertwined.expect
index ab37f5d..ecba959 100644
--- a/pkg/front_end/parser_testcases/patterns/parenthesized_insideAssignment.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/parenthesized_insideAssignment.dart.intertwined.expect
@@ -47,14 +47,14 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern({, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
+ parseParenthesizedPatternOrRecordPattern({, PatternContext.assignment)
+ parsePattern((, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern((, PatternContext.assignment)
+ parseVariablePattern((, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, true)
ensureCloseParen(a, ()
listener: handleParenthesizedPattern(()
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/parenthesized_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/parenthesized_insideCase.dart.intertwined.expect
index 6bd438b..8797a44 100644
--- a/pkg/front_end/parser_testcases/patterns/parenthesized_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/parenthesized_insideCase.dart.intertwined.expect
@@ -67,11 +67,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/parenthesized_insideDeclaration.dart.expect b/pkg/front_end/parser_testcases/patterns/parenthesized_insideDeclaration.dart.expect
index 9433514..ddbadb4 100644
--- a/pkg/front_end/parser_testcases/patterns/parenthesized_insideDeclaration.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/parenthesized_insideDeclaration.dart.expect
@@ -20,7 +20,7 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleParenthesizedPattern(()
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/parenthesized_insideDeclaration.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/parenthesized_insideDeclaration.dart.intertwined.expect
index 005421f..a95645f 100644
--- a/pkg/front_end/parser_testcases/patterns/parenthesized_insideDeclaration.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/parenthesized_insideDeclaration.dart.intertwined.expect
@@ -44,14 +44,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
ensureCloseParen(a, ()
listener: handleParenthesizedPattern(()
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_cast.dart.intertwined.expect
index cffc2cf..129eacb 100644
--- a/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_cast.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_null_assert.dart.intertwined.expect
index 4b3656f..52cbc7f 100644
--- a/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_null_assert.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_null_check.dart.intertwined.expect
index 5af2d83..ad2f816 100644
--- a/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/parenthesized_pattern_inside_null_check.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.expect
index 68e1e4d..e60b59e 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.expect
@@ -22,7 +22,7 @@
handleNoTypeArguments(()
handleIdentifier(f, namedArgumentReference)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.intertwined.expect
index 9fbb680..f73b7b0 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_final_extractor.dart.intertwined.expect
@@ -45,17 +45,17 @@
listener: beginMetadataStar(final)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(final, {, final)
- parsePattern(final, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(final, isRefutableContext: false)
+ parsePattern(final, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(final, PatternContext.declaration)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: false)
+ parseObjectPatternRest(C, PatternContext.declaration)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.expect
index f1cb460..d760397 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.expect
@@ -22,7 +22,7 @@
handleNoTypeArguments(()
handleIdentifier(f, namedArgumentReference)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.intertwined.expect
index 343b018..aadc9546 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_extractor.dart.intertwined.expect
@@ -45,17 +45,17 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: false)
+ parseObjectPatternRest(C, PatternContext.declaration)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.expect
index 0e70c97..5dfe376 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.expect
@@ -21,7 +21,7 @@
endMetadataStar(0)
handleNoTypeArguments([)
handleNoType([)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleListPattern(1, [, ])
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.intertwined.expect
index 935ec12..b11d0be 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_list.dart.intertwined.expect
@@ -44,15 +44,15 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(var, isRefutableContext: false)
- parsePattern([, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern([, isRefutableContext: false)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(var, PatternContext.declaration)
+ parsePattern([, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern([, PatternContext.declaration)
+ parseVariablePattern([, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handleListPattern(1, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.expect
index 46117ad..b1d68da 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.expect
@@ -23,7 +23,7 @@
beginLiteralString('a')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleMapPatternEntry(:, })
handleMapPattern(1, {, })
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.intertwined.expect
index efbc9f3..584da9d 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_map.dart.intertwined.expect
@@ -44,10 +44,10 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(var, isRefutableContext: false)
+ parseMapPatternSuffix(var, PatternContext.declaration)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -58,11 +58,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(1, {, })
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.expect
index 9433514..ddbadb4 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.expect
@@ -20,7 +20,7 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleParenthesizedPattern(()
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.intertwined.expect
index 005421f..a95645f 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_parenthesized.dart.intertwined.expect
@@ -44,14 +44,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
ensureCloseParen(a, ()
listener: handleParenthesizedPattern(()
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.expect
index 1a8c47a..73a7d53 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.expect
@@ -20,7 +20,7 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleRecordPattern((, 1)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.intertwined.expect
index e79dabe..5bf0080 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_noMetadata_var_record.dart.intertwined.expect
@@ -44,14 +44,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
ensureCloseParen(,, ()
listener: handleRecordPattern((, 1)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.expect
index fa819b7..5c3a57c 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.expect
@@ -27,7 +27,7 @@
handleNoTypeArguments(()
handleIdentifier(f, namedArgumentReference)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.intertwined.expect
index 38c8c17..c2f1ffa 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_extractor.dart.intertwined.expect
@@ -56,17 +56,17 @@
skipOuterPattern(final)
skipObjectPatternRest(C)
parsePatternVariableDeclarationStatement(final, {, final)
- parsePattern(final, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(final, isRefutableContext: false)
+ parsePattern(final, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(final, PatternContext.declaration)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: false)
+ parseObjectPatternRest(C, PatternContext.declaration)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.expect
index c223f8a..3a515f4 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.expect
@@ -26,7 +26,7 @@
endMetadataStar(1)
handleNoTypeArguments([)
handleNoType([)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleListPattern(1, [, ])
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.intertwined.expect
index bdf621f..4a45050 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_list.dart.intertwined.expect
@@ -55,15 +55,15 @@
parseExpressionStatementOrDeclarationAfterModifiers(final, {, null, final, null, null)
skipOuterPattern(final)
parsePatternVariableDeclarationStatement(final, {, final)
- parsePattern(final, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(final, isRefutableContext: false)
+ parsePattern(final, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(final, PatternContext.declaration)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(final, isRefutableContext: false)
- parsePattern([, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern([, isRefutableContext: false)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(final, PatternContext.declaration)
+ parsePattern([, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern([, PatternContext.declaration)
+ parseVariablePattern([, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handleListPattern(1, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.expect
index e2a2e95..0eb9ae9 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.expect
@@ -28,7 +28,7 @@
beginLiteralString('a')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleMapPatternEntry(:, })
handleMapPattern(1, {, })
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.intertwined.expect
index abc339e..63dea9f 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_map.dart.intertwined.expect
@@ -55,10 +55,10 @@
parseExpressionStatementOrDeclarationAfterModifiers(final, {, null, final, null, null)
skipOuterPattern(final)
parsePatternVariableDeclarationStatement(final, {, final)
- parsePattern(final, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(final, isRefutableContext: false)
+ parsePattern(final, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(final, PatternContext.declaration)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(final, isRefutableContext: false)
+ parseMapPatternSuffix(final, PatternContext.declaration)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -69,11 +69,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(1, {, })
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.expect
index 289c8d2..51c7417 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.expect
@@ -25,7 +25,7 @@
endMetadata(@, null, final)
endMetadataStar(1)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleParenthesizedPattern(()
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.intertwined.expect
index e8de68b..b31dea6 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_parenthesized.dart.intertwined.expect
@@ -55,14 +55,14 @@
parseExpressionStatementOrDeclarationAfterModifiers(final, {, null, final, null, null)
skipOuterPattern(final)
parsePatternVariableDeclarationStatement(final, {, final)
- parsePattern(final, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(final, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(final, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(final, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(final, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(final, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
ensureCloseParen(a, ()
listener: handleParenthesizedPattern(()
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.expect
index beab512..0b64c13 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.expect
@@ -25,7 +25,7 @@
endMetadata(@, null, final)
endMetadataStar(1)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleRecordPattern((, 1)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.intertwined.expect
index b3db92d..f0d647b 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_final_record.dart.intertwined.expect
@@ -55,14 +55,14 @@
parseExpressionStatementOrDeclarationAfterModifiers(final, {, null, final, null, null)
skipOuterPattern(final)
parsePatternVariableDeclarationStatement(final, {, final)
- parsePattern(final, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(final, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(final, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(final, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(final, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(final, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
ensureCloseParen(,, ()
listener: handleRecordPattern((, 1)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.expect
index eb25e24..63859cf 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.expect
@@ -27,7 +27,7 @@
handleNoTypeArguments(()
handleIdentifier(f, namedArgumentReference)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.intertwined.expect
index b425558..537eefc 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_extractor.dart.intertwined.expect
@@ -56,17 +56,17 @@
skipOuterPattern(var)
skipObjectPatternRest(C)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: false)
+ parseObjectPatternRest(C, PatternContext.declaration)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.expect
index 9863e06..89abea1 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.expect
@@ -26,7 +26,7 @@
endMetadataStar(1)
handleNoTypeArguments([)
handleNoType([)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleListPattern(1, [, ])
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.intertwined.expect
index 6884531..b3babc6 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_list.dart.intertwined.expect
@@ -55,15 +55,15 @@
parseExpressionStatementOrDeclarationAfterModifiers(var, {, null, var, null, null)
skipOuterPattern(var)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(var, isRefutableContext: false)
- parsePattern([, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern([, isRefutableContext: false)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(var, PatternContext.declaration)
+ parsePattern([, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern([, PatternContext.declaration)
+ parseVariablePattern([, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handleListPattern(1, [, ])
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.expect
index a5e4077..5698def 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.expect
@@ -28,7 +28,7 @@
beginLiteralString('a')
endLiteralString(0, :)
handleNoType(:)
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleMapPatternEntry(:, })
handleMapPattern(1, {, })
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.intertwined.expect
index aa22f12..4f9dbfa 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_map.dart.intertwined.expect
@@ -55,10 +55,10 @@
parseExpressionStatementOrDeclarationAfterModifiers(var, {, null, var, null, null)
skipOuterPattern(var)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(var, isRefutableContext: false)
+ parseMapPatternSuffix(var, PatternContext.declaration)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -69,11 +69,11 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(:, isRefutableContext: false)
- parseVariablePattern(:, typeInfo: Instance of 'NoType')
+ parsePattern(:, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.declaration)
+ parseVariablePattern(:, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(:)
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(1, {, })
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.expect
index 3f694a5..f2ab180 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.expect
@@ -25,7 +25,7 @@
endMetadata(@, null, var)
endMetadataStar(1)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handleParenthesizedPattern(()
handleIdentifier(x, expression)
handleNoTypeArguments(;)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.intertwined.expect
index 5a2aa1c..3e51e33 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_parenthesized.dart.intertwined.expect
@@ -55,14 +55,14 @@
parseExpressionStatementOrDeclarationAfterModifiers(var, {, null, var, null, null)
skipOuterPattern(var)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
ensureCloseParen(a, ()
listener: handleParenthesizedPattern(()
parseExpression(=)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.expect
index 58b0912..bf48b06 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.expect
@@ -25,7 +25,7 @@
endMetadata(@, null, var)
endMetadataStar(1)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleRecordPattern((, 1)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.intertwined.expect
index 64161f0..34152dc 100644
--- a/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/patternVariableDeclarationStatement_withMetadata_var_record.dart.intertwined.expect
@@ -55,14 +55,14 @@
parseExpressionStatementOrDeclarationAfterModifiers(var, {, null, var, null, null)
skipOuterPattern(var)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
ensureCloseParen(,, ()
listener: handleRecordPattern((, 1)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element.dart.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element.dart.expect
index cf7b5c5..dce7a8f 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element.dart.expect
@@ -21,10 +21,10 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handlePatternField(null)
handleRecordPattern((, 2)
beginForInExpression(x)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element.dart.intertwined.expect
index 50e3bc5..e469acf 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element.dart.intertwined.expect
@@ -50,20 +50,20 @@
skipOuterPattern(var)
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handlePatternField(null)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 2)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element_withMetadata.dart.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element_withMetadata.dart.expect
index d24ff18..b16e31c 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element_withMetadata.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element_withMetadata.dart.expect
@@ -26,10 +26,10 @@
endMetadata(@, null, var)
endMetadataStar(1)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handlePatternField(null)
handleRecordPattern((, 2)
beginForInExpression(x)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element_withMetadata.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element_withMetadata.dart.intertwined.expect
index 1193376..96d9a60 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element_withMetadata.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_element_withMetadata.dart.intertwined.expect
@@ -60,20 +60,20 @@
listener: endMetadataStar(1)
parseExpressionStatementOrDeclarationAfterModifiers(var, (, null, var, null, ForPartsContext(null))
skipOuterPattern(var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handlePatternField(null)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 2)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement.dart.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement.dart.expect
index 9d6ceb6..988d2c3 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement.dart.expect
@@ -21,10 +21,10 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handlePatternField(null)
handleRecordPattern((, 2)
beginForInExpression(x)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement.dart.intertwined.expect
index d183f13..120e29a 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement.dart.intertwined.expect
@@ -46,20 +46,20 @@
skipOuterPattern(var)
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handlePatternField(null)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 2)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement_withMetadata.dart.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement_withMetadata.dart.expect
index d5e68a3..e89cc63 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement_withMetadata.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement_withMetadata.dart.expect
@@ -26,10 +26,10 @@
endMetadata(@, null, var)
endMetadataStar(1)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handlePatternField(null)
handleRecordPattern((, 2)
beginForInExpression(x)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement_withMetadata.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement_withMetadata.dart.intertwined.expect
index 8a4314b..d715215 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement_withMetadata.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForIn_statement_withMetadata.dart.intertwined.expect
@@ -56,20 +56,20 @@
listener: endMetadataStar(1)
parseExpressionStatementOrDeclarationAfterModifiers(var, (, null, var, null, ForPartsContext(null))
skipOuterPattern(var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handlePatternField(null)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 2)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_element.dart.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_element.dart.expect
index 0617d4a..bf4dbda 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_element.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_element.dart.expect
@@ -21,10 +21,10 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handlePatternField(null)
handleRecordPattern((, 2)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_element.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_element.dart.intertwined.expect
index bc80dba..d4b0d3a 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_element.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_element.dart.intertwined.expect
@@ -50,20 +50,20 @@
skipOuterPattern(var)
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handlePatternField(null)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 2)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_statement.dart.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_statement.dart.expect
index 1ec7d1d..026d103 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_statement.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_statement.dart.expect
@@ -21,10 +21,10 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handlePatternField(null)
handleRecordPattern((, 2)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_statement.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_statement.dart.intertwined.expect
index c6de210..8d6ad05 100644
--- a/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_statement.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/pattern_inForInitializer_statement.dart.intertwined.expect
@@ -46,20 +46,20 @@
skipOuterPattern(var)
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handlePatternField(null)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 2)
diff --git a/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args.dart.intertwined.expect
index 551f0e3..89925ef 100644
--- a/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args.dart.intertwined.expect
@@ -94,14 +94,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: true)
+ parseObjectPatternRest(>, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(async, ., Future)
ensureColon())
diff --git a/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_cast.dart.intertwined.expect
index 3dbbf7a..f51f6de 100644
--- a/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_cast.dart.intertwined.expect
@@ -94,14 +94,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: true)
+ parseObjectPatternRest(>, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(async, ., Future)
listener: beginAsOperatorType(as)
diff --git a/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_null_assert.dart.intertwined.expect
index f6e5089..14a3d60 100644
--- a/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_null_assert.dart.intertwined.expect
@@ -94,14 +94,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: true)
+ parseObjectPatternRest(>, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(async, ., Future)
listener: handleNullAssertPattern(!)
diff --git a/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_null_check.dart.intertwined.expect
index e8cddcc..38506f8 100644
--- a/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/prefixed_extractor_pattern_with_type_args_inside_null_check.dart.intertwined.expect
@@ -94,14 +94,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseObjectPatternRest(>, isRefutableContext: true)
+ parseObjectPatternRest(>, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(async, ., Future)
listener: handleNullCheckPattern(?)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_empty.dart.intertwined.expect
index 48b0010..7d5d679 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_empty.dart.intertwined.expect
@@ -46,8 +46,8 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
listener: handleRecordPattern((, 0)
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_oneField.dart.expect b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_oneField.dart.expect
index be279f6..bb4b783 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_oneField.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_oneField.dart.expect
@@ -18,7 +18,7 @@
handleAsyncModifier(null, null)
beginBlockFunctionBody({)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, true)
handlePatternField(null)
handleRecordPattern((, 1)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_oneField.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_oneField.dart.intertwined.expect
index e81e57a..203d542 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_oneField.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_oneField.dart.intertwined.expect
@@ -46,14 +46,14 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern({, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
+ parseParenthesizedPatternOrRecordPattern({, PatternContext.assignment)
+ parsePattern((, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern((, PatternContext.assignment)
+ parseVariablePattern((, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, true)
listener: handlePatternField(null)
ensureCloseParen(,, ()
listener: handleRecordPattern((, 1)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_twoFields.dart.expect b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_twoFields.dart.expect
index b095b19..f2d965d 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_twoFields.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_twoFields.dart.expect
@@ -18,10 +18,10 @@
handleAsyncModifier(null, null)
beginBlockFunctionBody({)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, true)
handlePatternField(null)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, true)
handlePatternField(null)
handleRecordPattern((, 2)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_twoFields.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_twoFields.dart.intertwined.expect
index f47a51b..2a87ab4 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideAssignment_twoFields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideAssignment_twoFields.dart.intertwined.expect
@@ -46,20 +46,20 @@
looksLikeOuterPatternEquals({)
skipOuterPattern({)
parsePatternAssignment({)
- parsePattern({, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern({, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern({, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern({, PatternContext.assignment)
+ parseParenthesizedPatternOrRecordPattern({, PatternContext.assignment)
+ parsePattern((, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern((, PatternContext.assignment)
+ parseVariablePattern((, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, true)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.assignment, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.assignment)
+ parseVariablePattern(,, PatternContext.assignment, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, true)
listener: handlePatternField(null)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 2)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_empty.dart.intertwined.expect
index 8dbab78..a3ce115 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_empty.dart.intertwined.expect
@@ -43,8 +43,8 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
listener: handleRecordPattern((, 0)
parseExpression(=)
looksLikeOuterPatternEquals(=)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_oneField.dart.expect b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_oneField.dart.expect
index 703a2ce..9abd848 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_oneField.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_oneField.dart.expect
@@ -20,7 +20,7 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleRecordPattern((, 1)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_oneField.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_oneField.dart.intertwined.expect
index d819fd5..e92604b 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_oneField.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_oneField.dart.intertwined.expect
@@ -43,14 +43,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
ensureCloseParen(,, ()
listener: handleRecordPattern((, 1)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_twoFields.dart.expect b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_twoFields.dart.expect
index 3a8bcc8..979dacc 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_twoFields.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_twoFields.dart.expect
@@ -20,10 +20,10 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, a)
+ handleVariablePattern(null, a, false)
handlePatternField(null)
handleNoType(,)
- handleVariablePattern(null, b)
+ handleVariablePattern(null, b, false)
handlePatternField(null)
handleRecordPattern((, 2)
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_twoFields.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_twoFields.dart.intertwined.expect
index 05ff7af..0e8675c 100644
--- a/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_twoFields.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_insideDeclaration_twoFields.dart.intertwined.expect
@@ -43,20 +43,20 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, a)
+ listener: handleVariablePattern(null, a, false)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(,, isRefutableContext: false)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.declaration)
+ parseVariablePattern(,, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, b)
+ listener: handleVariablePattern(null, b, false)
listener: handlePatternField(null)
ensureCloseParen(b, ()
listener: handleRecordPattern((, 2)
diff --git a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case.dart.intertwined.expect
index de50760..c6c3abf 100644
--- a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
@@ -81,8 +81,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case_empty.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case_empty.dart.intertwined.expect
index cdcb8ff..3bfec97 100644
--- a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case_empty.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case_empty.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleRecordPattern((, 0)
ensureColon())
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case_singleton.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case_singleton.dart.intertwined.expect
index b0f156f..8cdd2f8 100644
--- a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case_singleton.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_case_singleton.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_cast.dart.intertwined.expect
index a4805ec3d..690bdef 100644
--- a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_cast.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
@@ -81,8 +81,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_null_assert.dart.intertwined.expect
index 829ec4a..d1221f2 100644
--- a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_null_assert.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
@@ -81,8 +81,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_null_check.dart.intertwined.expect
index 7f54fad..2b5e21c 100644
--- a/pkg/front_end/parser_testcases/patterns/record_pattern_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/record_pattern_inside_null_check.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression((, 17, false)
parseUnaryExpression((, false)
parsePrimary((, expression)
@@ -81,8 +81,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_case_equal.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_case_equal.dart.intertwined.expect
index cb84638..3002c02 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_case_equal.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_case_equal.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_case_greater_than.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_case_greater_than.dart.intertwined.expect
index 7cf536a..8f4d7bf 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_case_greater_than.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_case_greater_than.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(>, 12, false)
parseUnaryExpression(>, false)
parsePrimary(>, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_case_greater_than_or_equal.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_case_greater_than_or_equal.dart.intertwined.expect
index cbbc975..68631b0 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_case_greater_than_or_equal.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_case_greater_than_or_equal.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(>=, 12, false)
parseUnaryExpression(>=, false)
parsePrimary(>=, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_case_less_than.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_case_less_than.dart.intertwined.expect
index 1628e75..83a89f5 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_case_less_than.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_case_less_than.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(<, 12, false)
parseUnaryExpression(<, false)
parsePrimary(<, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_case_less_than_or_equal.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_case_less_than_or_equal.dart.intertwined.expect
index 8d31a4d..e3da00c 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_case_less_than_or_equal.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_case_less_than_or_equal.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(<=, 12, false)
parseUnaryExpression(<=, false)
parsePrimary(<=, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_case_not_equal.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_case_not_equal.dart.intertwined.expect
index 735f72b..0a45d3b 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_case_not_equal.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_case_not_equal.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(!=, 12, false)
parseUnaryExpression(!=, false)
parsePrimary(!=, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_extractor_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_extractor_pattern.dart.intertwined.expect
index db803df..381db96 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_extractor_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_extractor_pattern.dart.intertwined.expect
@@ -113,14 +113,14 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_if_case.dart.intertwined.expect
index d816943..b390bac 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_if_case.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_list_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_list_pattern.dart.intertwined.expect
index 5f599d5..76412b1 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_list_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_list_pattern.dart.intertwined.expect
@@ -69,12 +69,12 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_logical_and_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_logical_and_lhs.dart.intertwined.expect
index 9dd0282..bfe462b 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_logical_and_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_logical_and_lhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
@@ -78,8 +78,8 @@
listener: handleLiteralInt(1)
listener: handleRelationalPattern(==)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
parsePrecedenceExpression(&&, 17, false)
parseUnaryExpression(&&, false)
parsePrimary(&&, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_logical_and_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_logical_and_rhs.dart.intertwined.expect
index 627c28e..9f3bafc 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_logical_and_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_logical_and_rhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -78,8 +78,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_logical_or_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_logical_or_lhs.dart.intertwined.expect
index 640530e..32073fb 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_logical_or_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_logical_or_lhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
@@ -78,8 +78,8 @@
listener: handleLiteralInt(1)
listener: handleRelationalPattern(==)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
parsePrecedenceExpression(||, 17, false)
parseUnaryExpression(||, false)
parsePrimary(||, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_logical_or_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_logical_or_rhs.dart.intertwined.expect
index 029c43a..3423655 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_logical_or_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_logical_or_rhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -78,8 +78,8 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_map_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_map_pattern.dart.intertwined.expect
index e0f887a..f6b19d4 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_map_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_map_pattern.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,8 +83,8 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_parenthesized_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_parenthesized_pattern.dart.intertwined.expect
index 9cf1de7..485d5e2 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_parenthesized_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_parenthesized_pattern.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_record_pattern_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_record_pattern_named.dart.intertwined.expect
index 0f7f8ab..8e1307a 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_record_pattern_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_record_pattern_named.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
ensureIdentifier((, namedRecordFieldReference)
listener: handleIdentifier(n, namedRecordFieldReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
@@ -83,8 +83,8 @@
listener: handleLiteralInt(1)
listener: handleRelationalPattern(==)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/relational_inside_record_pattern_unnamed.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/relational_inside_record_pattern_unnamed.dart.intertwined.expect
index 4c864e0..2fcd439 100644
--- a/pkg/front_end/parser_testcases/patterns/relational_inside_record_pattern_unnamed.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/relational_inside_record_pattern_unnamed.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
@@ -81,8 +81,8 @@
listener: handleLiteralInt(1)
listener: handleRelationalPattern(==)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/rest_subpatternStartingTokens.dart.expect b/pkg/front_end/parser_testcases/patterns/rest_subpatternStartingTokens.dart.expect
index defb798..0cfb59d 100644
--- a/pkg/front_end/parser_testcases/patterns/rest_subpatternStartingTokens.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/rest_subpatternStartingTokens.dart.expect
@@ -140,14 +140,14 @@
beginCaseExpression(case)
handleNoTypeArguments([)
handleNoType(var)
- handleVariablePattern(var, x)
+ handleVariablePattern(var, x, false)
handleRestPattern(..., true)
handleListPattern(1, [, ])
endCaseExpression(case, null, :)
beginCaseExpression(case)
handleNoTypeArguments([)
handleNoType(final)
- handleVariablePattern(final, x)
+ handleVariablePattern(final, x, false)
handleRestPattern(..., true)
handleListPattern(1, [, ])
endCaseExpression(case, null, :)
@@ -156,21 +156,21 @@
handleIdentifier(List, typeReference)
handleNoTypeArguments(x)
handleType(List, null)
- handleVariablePattern(null, x)
+ handleVariablePattern(null, x, false)
handleRestPattern(..., true)
handleListPattern(1, [, ])
endCaseExpression(case, null, :)
beginCaseExpression(case)
handleNoTypeArguments([)
handleNoType(...)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleRestPattern(..., true)
handleListPattern(1, [, ])
endCaseExpression(case, null, :)
beginCaseExpression(case)
handleNoTypeArguments([)
handleNoType(()
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleParenthesizedPattern(()
handleRestPattern(..., true)
handleListPattern(1, [, ])
@@ -179,7 +179,7 @@
handleNoTypeArguments([)
handleNoTypeArguments([)
handleNoType([)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleListPattern(1, [, ])
handleRestPattern(..., true)
handleListPattern(1, [, ])
diff --git a/pkg/front_end/parser_testcases/patterns/rest_subpatternStartingTokens.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/rest_subpatternStartingTokens.dart.intertwined.expect
index fd44329..314939f 100644
--- a/pkg/front_end/parser_testcases/patterns/rest_subpatternStartingTokens.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/rest_subpatternStartingTokens.dart.intertwined.expect
@@ -66,12 +66,12 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(==, 12, false)
parseUnaryExpression(==, false)
parsePrimary(==, expression)
@@ -84,12 +84,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(!=, 12, false)
parseUnaryExpression(!=, false)
parsePrimary(!=, expression)
@@ -102,12 +102,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(<, 12, false)
parseUnaryExpression(<, false)
parsePrimary(<, expression)
@@ -120,12 +120,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(>, 12, false)
parseUnaryExpression(>, false)
parsePrimary(>, expression)
@@ -138,12 +138,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(<=, 12, false)
parseUnaryExpression(<=, false)
parsePrimary(<=, expression)
@@ -156,12 +156,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(>=, 12, false)
parseUnaryExpression(>=, false)
parsePrimary(>=, expression)
@@ -174,12 +174,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(..., 17, false)
parseUnaryExpression(..., false)
parsePrimary(..., expression)
@@ -192,12 +192,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(..., 17, false)
parseUnaryExpression(..., false)
parsePrimary(..., expression)
@@ -210,12 +210,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(..., 17, false)
parseUnaryExpression(..., false)
parsePrimary(..., expression)
@@ -228,12 +228,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(..., 17, false)
parseUnaryExpression(..., false)
parsePrimary(..., expression)
@@ -246,12 +246,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(..., 17, false)
parseUnaryExpression(..., false)
parsePrimary(..., expression)
@@ -264,12 +264,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(..., 17, false)
parseUnaryExpression(..., false)
parsePrimary(..., expression)
@@ -282,12 +282,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(..., 17, false)
parseUnaryExpression(..., false)
parsePrimary(..., expression)
@@ -302,12 +302,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(..., 17, false)
parseUnaryExpression(..., false)
parsePrimary(..., expression)
@@ -327,12 +327,12 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
parsePrecedenceExpression(const, 17, false)
parseUnaryExpression(const, false)
parsePrimary(const, expression)
@@ -356,80 +356,80 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
- parseVariablePattern(..., typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
+ parseVariablePattern(..., PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, x)
+ listener: handleVariablePattern(var, x, false)
listener: handleRestPattern(..., true)
listener: handleListPattern(1, [, ])
ensureColon(])
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
- parseVariablePattern(..., typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
+ parseVariablePattern(..., PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, x)
+ listener: handleVariablePattern(final, x, false)
listener: handleRestPattern(..., true)
listener: handleListPattern(1, [, ])
ensureColon(])
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
- parseVariablePattern(..., typeInfo: Instance of 'SimpleType')
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
+ parseVariablePattern(..., PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(List, typeReference)
listener: handleNoTypeArguments(x)
listener: handleType(List, null)
- listener: handleVariablePattern(null, x)
+ listener: handleVariablePattern(null, x, false)
listener: handleRestPattern(..., true)
listener: handleListPattern(1, [, ])
ensureColon(])
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
- parseVariablePattern(..., typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
+ parseVariablePattern(..., PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(...)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handleRestPattern(..., true)
listener: handleListPattern(1, [, ])
ensureColon(])
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(..., isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(..., PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
+ parseVariablePattern((, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureCloseParen(_, ()
listener: handleParenthesizedPattern(()
listener: handleRestPattern(..., true)
@@ -438,19 +438,19 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(..., isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
- parseVariablePattern([, typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(..., PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
+ parseVariablePattern([, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType([)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handleListPattern(1, [, ])
listener: handleRestPattern(..., true)
listener: handleListPattern(1, [, ])
@@ -458,14 +458,14 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
listener: handleNoTypeArguments([])
- parseListPatternSuffix(..., isRefutableContext: true)
+ parseListPatternSuffix(..., PatternContext.matching)
rewriteSquareBrackets(...)
link([, ])
rewriter()
@@ -476,18 +476,18 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
listener: beginTypeArguments(<)
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(>)
listener: handleType(int, null)
listener: endTypeArguments(1, <, >)
- parseListPatternSuffix(>, isRefutableContext: true)
+ parseListPatternSuffix(>, PatternContext.matching)
rewriteSquareBrackets(>)
link([, ])
rewriter()
@@ -498,14 +498,14 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(..., isRefutableContext: true)
+ parseMapPatternSuffix(..., PatternContext.matching)
listener: handleMapPattern(0, {, })
listener: handleRestPattern(..., true)
listener: handleListPattern(1, [, ])
@@ -513,14 +513,14 @@
listener: endCaseExpression(case, null, :)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(List, isRefutableContext: true)
+ parseObjectPatternRest(List, PatternContext.matching)
listener: handleObjectPatternFields(0, (, ))
listener: handleObjectPattern(List, null, null)
listener: handleRestPattern(..., true)
diff --git a/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideList.dart.expect b/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideList.dart.expect
index fcea1c3..2c55dc7 100644
--- a/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideList.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideList.dart.expect
@@ -27,7 +27,7 @@
beginCaseExpression(case)
handleNoTypeArguments([)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
handleRestPattern(..., true)
handleListPattern(1, [, ])
endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideList.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideList.dart.intertwined.expect
index 276cfe3..ab2f880 100644
--- a/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideList.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideList.dart.intertwined.expect
@@ -66,15 +66,15 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
- parseVariablePattern(..., typeInfo: Instance of 'NoType')
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
+ parseVariablePattern(..., PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
listener: handleRestPattern(..., true)
listener: handleListPattern(1, [, ])
ensureColon(])
diff --git a/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideMap.dart.expect b/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideMap.dart.expect
index 19fc18b..3acf44c 100644
--- a/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideMap.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideMap.dart.expect
@@ -27,7 +27,7 @@
beginCaseExpression(case)
handleNoTypeArguments({)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
handleRestPattern(..., true)
handleMapPattern(1, {, })
endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideMap.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideMap.dart.intertwined.expect
index ac15736..069304b 100644
--- a/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideMap.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/rest_withSubpattern_insideMap.dart.intertwined.expect
@@ -66,15 +66,15 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
- parsePattern(..., precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(..., isRefutableContext: true)
- parseVariablePattern(..., typeInfo: Instance of 'NoType')
+ parseMapPatternSuffix(case, PatternContext.matching)
+ parsePattern(..., PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(..., PatternContext.matching)
+ parseVariablePattern(..., PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
listener: handleRestPattern(..., true)
listener: handleMapPattern(1, {, })
ensureColon(})
diff --git a/pkg/front_end/parser_testcases/patterns/rest_withoutSubpattern_insideList.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/rest_withoutSubpattern_insideList.dart.intertwined.expect
index ffc1408..1b60eb7 100644
--- a/pkg/front_end/parser_testcases/patterns/rest_withoutSubpattern_insideList.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/rest_withoutSubpattern_insideList.dart.intertwined.expect
@@ -66,10 +66,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
+ parseListPatternSuffix(case, PatternContext.matching)
listener: handleRestPattern(..., false)
listener: handleListPattern(1, [, ])
ensureColon(])
diff --git a/pkg/front_end/parser_testcases/patterns/rest_withoutSubpattern_insideMap.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/rest_withoutSubpattern_insideMap.dart.intertwined.expect
index 66ad0ad..32012e5 100644
--- a/pkg/front_end/parser_testcases/patterns/rest_withoutSubpattern_insideMap.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/rest_withoutSubpattern_insideMap.dart.intertwined.expect
@@ -66,10 +66,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
listener: handleRestPattern(..., false)
listener: handleMapPattern(1, {, })
ensureColon(})
diff --git a/pkg/front_end/parser_testcases/patterns/string_literal_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/string_literal_inside_case.dart.intertwined.expect
index 7faeb94..e30b204 100644
--- a/pkg/front_end/parser_testcases/patterns/string_literal_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/string_literal_inside_case.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/string_literal_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/string_literal_inside_cast.dart.intertwined.expect
index 5099fa2..8bcf0e4 100644
--- a/pkg/front_end/parser_testcases/patterns/string_literal_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/string_literal_inside_cast.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/string_literal_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/string_literal_inside_if_case.dart.intertwined.expect
index 2f58582..7a8c47d 100644
--- a/pkg/front_end/parser_testcases/patterns/string_literal_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/string_literal_inside_if_case.dart.intertwined.expect
@@ -61,8 +61,8 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/string_literal_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/string_literal_inside_null_assert.dart.intertwined.expect
index de1a790..27fd80b 100644
--- a/pkg/front_end/parser_testcases/patterns/string_literal_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/string_literal_inside_null_assert.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/string_literal_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/string_literal_inside_null_check.dart.intertwined.expect
index d37214c..6f95e53 100644
--- a/pkg/front_end/parser_testcases/patterns/string_literal_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/string_literal_inside_null_check.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_guarded.dart.expect b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_guarded.dart.expect
index 63a1deb..35746eb 100644
--- a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_guarded.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_guarded.dart.expect
@@ -25,7 +25,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleLiteralBool(true)
handleLiteralInt(0)
endSwitchExpressionCase(when, =>, 0)
diff --git a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_guarded.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_guarded.dart.intertwined.expect
index 2856e27..35f7578 100644
--- a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_guarded.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_guarded.dart.intertwined.expect
@@ -68,11 +68,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_noTrailingComma.dart.expect b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_noTrailingComma.dart.expect
index 47a894c..6d77bd1 100644
--- a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_noTrailingComma.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_noTrailingComma.dart.expect
@@ -25,7 +25,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleLiteralInt(0)
endSwitchExpressionCase(null, =>, 0)
endSwitchExpressionBlock(1, {, })
diff --git a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_noTrailingComma.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_noTrailingComma.dart.intertwined.expect
index c49a163..950bdcf 100644
--- a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_noTrailingComma.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_noTrailingComma.dart.intertwined.expect
@@ -68,11 +68,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureFunctionArrow(_)
parseExpression(=>)
looksLikeOuterPatternEquals(=>)
diff --git a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_trailingComma.dart.expect b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_trailingComma.dart.expect
index 47a894c..6d77bd1 100644
--- a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_trailingComma.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_trailingComma.dart.expect
@@ -25,7 +25,7 @@
beginSwitchExpressionBlock({)
beginSwitchExpressionCase()
handleNoType({)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleLiteralInt(0)
endSwitchExpressionCase(null, =>, 0)
endSwitchExpressionBlock(1, {, })
diff --git a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_trailingComma.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_trailingComma.dart.intertwined.expect
index c49a163..950bdcf 100644
--- a/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_trailingComma.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/switchExpression_onePattern_trailingComma.dart.intertwined.expect
@@ -68,11 +68,11 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'NoType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType({)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureFunctionArrow(_)
parseExpression(=>)
looksLikeOuterPatternEquals(=>)
diff --git a/pkg/front_end/parser_testcases/patterns/switchExpression_twoPatterns.dart.expect b/pkg/front_end/parser_testcases/patterns/switchExpression_twoPatterns.dart.expect
index cb8b925..af8753f 100644
--- a/pkg/front_end/parser_testcases/patterns/switchExpression_twoPatterns.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/switchExpression_twoPatterns.dart.expect
@@ -27,12 +27,12 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleLiteralInt(0)
endSwitchExpressionCase(null, =>, 0)
beginSwitchExpressionCase()
handleNoType(,)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleLiteralInt(1)
endSwitchExpressionCase(null, =>, 1)
endSwitchExpressionBlock(2, {, })
diff --git a/pkg/front_end/parser_testcases/patterns/switchExpression_twoPatterns.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/switchExpression_twoPatterns.dart.intertwined.expect
index 7eb93b3..b0854f7 100644
--- a/pkg/front_end/parser_testcases/patterns/switchExpression_twoPatterns.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/switchExpression_twoPatterns.dart.intertwined.expect
@@ -68,13 +68,13 @@
ensureBlock(), null, switch expression)
listener: beginSwitchExpressionBlock({)
listener: beginSwitchExpressionCase()
- parsePattern({, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern({, isRefutableContext: true)
- parseVariablePattern({, typeInfo: Instance of 'SimpleType')
+ parsePattern({, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern({, PatternContext.matching)
+ parseVariablePattern({, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureFunctionArrow(_)
parseExpression(=>)
looksLikeOuterPatternEquals(=>)
@@ -86,11 +86,11 @@
listener: handleLiteralInt(0)
listener: endSwitchExpressionCase(null, =>, 0)
listener: beginSwitchExpressionCase()
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
- parseVariablePattern(,, typeInfo: Instance of 'NoType')
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
+ parseVariablePattern(,, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(,)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureFunctionArrow(_)
parseExpression(=>)
looksLikeOuterPatternEquals(=>)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_case.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_case.dart.expect
index 596e195..3ae67e7 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_case.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_case.dart.intertwined.expect
index 25a5e4d..0b7e427 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_case.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
ensureColon(y)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_cast.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_cast.dart.expect
index fca4e04..d943a81 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_cast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_cast.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_cast.dart.intertwined.expect
index 6044f02..1ced8dc 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_cast.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_if_case.dart.expect
index e78ddaf..512b27f 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_if_case.dart.expect
@@ -27,7 +27,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_if_case.dart.intertwined.expect
index 35abab9..1a74858 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_if_case.dart.intertwined.expect
@@ -61,13 +61,13 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
ensureCloseParen(y, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_assert.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_assert.dart.expect
index 6910183..0fa4b1f 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_assert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_assert.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_assert.dart.intertwined.expect
index 107cb0e..de23b2a 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_assert.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_check.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_check.dart.expect
index 62bae9d..52913ac 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_check.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_check.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(final, y)
+ handleVariablePattern(final, y, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_check.dart.intertwined.expect
index 4671c05..aaef33a 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_final_variable_inside_null_check.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(final, y)
+ listener: handleVariablePattern(final, y, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_case.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_case.dart.expect
index 3417c20..d0e64e5 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_case.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(null, y)
+ handleVariablePattern(null, y, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_case.dart.intertwined.expect
index b89ab98..f8e913b 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_case.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(null, y)
+ listener: handleVariablePattern(null, y, false)
ensureColon(y)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_cast.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_cast.dart.expect
index 5e0206f..1a6a8be 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_cast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_cast.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(null, y)
+ handleVariablePattern(null, y, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_cast.dart.intertwined.expect
index 39b50ec..b33ade9 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_cast.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(null, y)
+ listener: handleVariablePattern(null, y, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_if_case.dart.expect
index 21dc891..8b813be 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_if_case.dart.expect
@@ -27,7 +27,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(null, y)
+ handleVariablePattern(null, y, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_if_case.dart.intertwined.expect
index 4f85e86..eefd064 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_if_case.dart.intertwined.expect
@@ -61,13 +61,13 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(null, y)
+ listener: handleVariablePattern(null, y, false)
ensureCloseParen(y, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_assert.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_assert.dart.expect
index e23efb3..a76a058 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_assert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_assert.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(null, y)
+ handleVariablePattern(null, y, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_assert.dart.intertwined.expect
index b5b9792..94ea139 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_assert.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(null, y)
+ listener: handleVariablePattern(null, y, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_check.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_check.dart.expect
index 8ccc145..86abef0 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_check.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_check.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(y)
handleType(int, null)
- handleVariablePattern(null, y)
+ handleVariablePattern(null, y, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_check.dart.intertwined.expect
index 0cbed80..0f6d547 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_inside_null_check.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(int, null)
- listener: handleVariablePattern(null, y)
+ listener: handleVariablePattern(null, y, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_case.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_case.dart.expect
index 60ac9d5..a864098 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_case.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_case.dart.intertwined.expect
index 64b6ca8..475809c 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_case.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
ensureColon(as)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_cast.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_cast.dart.expect
index 826a4e5..46f0561 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_cast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_cast.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_cast.dart.intertwined.expect
index b46724d..5e72bfd 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_cast.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern.dart.expect
index 8f830f6..925258e 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern.dart.expect
@@ -58,7 +58,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern.dart.intertwined.expect
index fc1c039..2748738 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern.dart.intertwined.expect
@@ -113,19 +113,19 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
ensureIdentifier((, namedArgumentReference)
listener: handleIdentifier(f, namedArgumentReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'SimpleType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern_implicitly_named.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern_implicitly_named.dart.expect
index bdad397..34d0911 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern_implicitly_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern_implicitly_named.dart.expect
@@ -58,7 +58,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handlePatternField(:)
handleObjectPatternFields(1, (, ))
handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern_implicitly_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
index 1be356f..953c119 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_extractor_pattern_implicitly_named.dart.intertwined.expect
@@ -113,18 +113,18 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments(()
- parseObjectPatternRest(C, isRefutableContext: true)
+ parseObjectPatternRest(C, PatternContext.matching)
listener: handleNoName(()
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'SimpleType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handlePatternField(:)
listener: handleObjectPatternFields(1, (, ))
listener: handleObjectPattern(C, null, null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_if_case.dart.expect
index fcf10b5..9a152a0 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_if_case.dart.expect
@@ -27,7 +27,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_if_case.dart.intertwined.expect
index 375ff7b..2671e52 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_if_case.dart.intertwined.expect
@@ -61,13 +61,13 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
ensureCloseParen(as, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_list_pattern.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_list_pattern.dart.expect
index fc6c843..d16a8fa 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_list_pattern.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_list_pattern.dart.expect
@@ -31,7 +31,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handleListPattern(1, [, ])
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_list_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_list_pattern.dart.intertwined.expect
index a8cc4ae..ebb66bf 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_list_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_list_pattern.dart.intertwined.expect
@@ -69,17 +69,17 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments([)
- parseListPatternSuffix(case, isRefutableContext: true)
- parsePattern([, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern([, isRefutableContext: true)
- parseVariablePattern([, typeInfo: Instance of 'SimpleType')
+ parseListPatternSuffix(case, PatternContext.matching)
+ parsePattern([, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern([, PatternContext.matching)
+ parseVariablePattern([, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handleListPattern(1, [, ])
ensureColon(])
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_lhs.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_lhs.dart.expect
index 25bc0ff..fc33a01 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_lhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_lhs.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
beginBinaryPattern(&&)
handleLiteralInt(2)
handleConstantPattern(null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_lhs.dart.intertwined.expect
index 8fc5f36..899c2d5 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_lhs.dart.intertwined.expect
@@ -69,16 +69,16 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
parsePrecedenceExpression(&&, 17, false)
parseUnaryExpression(&&, false)
parsePrimary(&&, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_rhs.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_rhs.dart.expect
index fb75ae0..2e506d2 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_rhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_rhs.dart.expect
@@ -33,7 +33,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
endBinaryPattern(&&)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_rhs.dart.intertwined.expect
index 5d1d765..b544dd4 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_and_rhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -78,13 +78,13 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: beginBinaryPattern(&&)
- parsePattern(&&, precedence: 7, isRefutableContext: true)
- parsePrimaryPattern(&&, isRefutableContext: true)
- parseVariablePattern(&&, typeInfo: Instance of 'SimpleType')
+ parsePattern(&&, PatternContext.matching, precedence: 7)
+ parsePrimaryPattern(&&, PatternContext.matching)
+ parseVariablePattern(&&, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: endBinaryPattern(&&)
ensureColon(as)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_lhs.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_lhs.dart.expect
index d6ddd32..9d29ee1 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_lhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_lhs.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
beginBinaryPattern(||)
handleLiteralInt(2)
handleConstantPattern(null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_lhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_lhs.dart.intertwined.expect
index dd78502..44d90bb 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_lhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_lhs.dart.intertwined.expect
@@ -69,16 +69,16 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
parsePrecedenceExpression(||, 17, false)
parseUnaryExpression(||, false)
parsePrimary(||, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_rhs.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_rhs.dart.expect
index 7efdc8b..0e5df4a 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_rhs.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_rhs.dart.expect
@@ -33,7 +33,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
endBinaryPattern(||)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_rhs.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_rhs.dart.intertwined.expect
index c878c9d..1eae7e2 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_rhs.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_logical_or_rhs.dart.intertwined.expect
@@ -69,8 +69,8 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
parsePrecedenceExpression(case, 17, false)
parseUnaryExpression(case, false)
parsePrimary(case, expression)
@@ -78,13 +78,13 @@
listener: handleLiteralInt(1)
listener: handleConstantPattern(null)
listener: beginBinaryPattern(||)
- parsePattern(||, precedence: 6, isRefutableContext: true)
- parsePrimaryPattern(||, isRefutableContext: true)
- parseVariablePattern(||, typeInfo: Instance of 'SimpleType')
+ parsePattern(||, PatternContext.matching, precedence: 6)
+ parsePrimaryPattern(||, PatternContext.matching)
+ parseVariablePattern(||, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: endBinaryPattern(||)
ensureColon(as)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_map_pattern.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_map_pattern.dart.expect
index cc0d616..3aa8245 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_map_pattern.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_map_pattern.dart.expect
@@ -33,7 +33,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handleMapPatternEntry(:, })
handleMapPattern(1, {, })
endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_map_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_map_pattern.dart.intertwined.expect
index 7793305..c0d3568 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_map_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_map_pattern.dart.intertwined.expect
@@ -69,10 +69,10 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
listener: handleNoTypeArguments({)
- parseMapPatternSuffix(case, isRefutableContext: true)
+ parseMapPatternSuffix(case, PatternContext.matching)
parseExpression({)
looksLikeOuterPatternEquals({)
skipOuterPattern({)
@@ -83,13 +83,13 @@
parseSingleLiteralString({)
listener: beginLiteralString('a')
listener: endLiteralString(0, :)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'SimpleType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handleMapPatternEntry(:, })
listener: handleMapPattern(1, {, })
ensureColon(})
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_assert.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_assert.dart.expect
index 2b033bc24..f5c3d10 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_assert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_assert.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_assert.dart.intertwined.expect
index 09057e0..8abffc7 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_assert.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_check.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_check.dart.expect
index 348b602..c8abc1d 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_check.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_check.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_check.dart.intertwined.expect
index 4d3b2fd..21d23b7 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_null_check.dart.intertwined.expect
@@ -69,13 +69,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_parenthesized_pattern.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_parenthesized_pattern.dart.expect
index ca127fd..f3405b2 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_parenthesized_pattern.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_parenthesized_pattern.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handleParenthesizedPattern(()
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_parenthesized_pattern.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_parenthesized_pattern.dart.intertwined.expect
index a18b0d7..4444b7e 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_parenthesized_pattern.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_parenthesized_pattern.dart.intertwined.expect
@@ -69,16 +69,16 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
- parseVariablePattern((, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
+ parseVariablePattern((, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
ensureCloseParen(as, ()
listener: handleParenthesizedPattern(()
ensureColon())
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_implicitly_named.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_implicitly_named.dart.expect
index 5df8df2..5adc0ac 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_implicitly_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_implicitly_named.dart.expect
@@ -31,7 +31,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handlePatternField(:)
handleLiteralInt(2)
handleConstantPattern(null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_implicitly_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_implicitly_named.dart.intertwined.expect
index f1e2939..781d8dd 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_implicitly_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_implicitly_named.dart.intertwined.expect
@@ -69,20 +69,20 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
listener: handleNoName(()
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'SimpleType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_named.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_named.dart.expect
index e7596cc..6413dfb 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_named.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_named.dart.expect
@@ -31,7 +31,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handlePatternField(:)
handleLiteralInt(2)
handleConstantPattern(null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_named.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_named.dart.intertwined.expect
index 9cf8b60..3e619f5 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_named.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_named.dart.intertwined.expect
@@ -69,21 +69,21 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
ensureIdentifier((, namedRecordFieldReference)
listener: handleIdentifier(n, namedRecordFieldReference)
- parsePattern(:, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(:, isRefutableContext: true)
- parseVariablePattern(:, typeInfo: Instance of 'SimpleType')
+ parsePattern(:, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(:, PatternContext.matching)
+ parseVariablePattern(:, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handlePatternField(:)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_unnamed.dart.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_unnamed.dart.expect
index ddb6cd7..7d3dc38 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_unnamed.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_unnamed.dart.expect
@@ -30,7 +30,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handlePatternField(null)
handleLiteralInt(2)
handleConstantPattern(null)
diff --git a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_unnamed.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_unnamed.dart.intertwined.expect
index cee0258..83478dd 100644
--- a/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_unnamed.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/typed_variable_named_as_inside_record_pattern_unnamed.dart.intertwined.expect
@@ -69,19 +69,19 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseParenthesizedPatternOrRecordPattern(case, isRefutableContext: true)
- parsePattern((, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern((, isRefutableContext: true)
- parseVariablePattern((, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseParenthesizedPatternOrRecordPattern(case, PatternContext.matching)
+ parsePattern((, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern((, PatternContext.matching)
+ parseVariablePattern((, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: handlePatternField(null)
- parsePattern(,, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(,, isRefutableContext: true)
+ parsePattern(,, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(,, PatternContext.matching)
parsePrecedenceExpression(,, 17, false)
parseUnaryExpression(,, false)
parsePrimary(,, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_case.dart.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_case.dart.expect
index a24021e..9edfb72 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_case.dart.expect
@@ -28,7 +28,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_case.dart.intertwined.expect
index 28b8b38..6efa133 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_case.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
ensureColon(y)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_cast.dart.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_cast.dart.expect
index 0b2137b..5eafc6b 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_cast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_cast.dart.expect
@@ -28,7 +28,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_cast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_cast.dart.intertwined.expect
index 97623b4..f258103 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_cast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_cast.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_if_case.dart.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_if_case.dart.expect
index 35e81a1..099c8c6 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_if_case.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_if_case.dart.expect
@@ -25,7 +25,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_if_case.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_if_case.dart.intertwined.expect
index 63bdaec..19a111f 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_if_case.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_if_case.dart.intertwined.expect
@@ -61,11 +61,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
ensureCloseParen(y, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_assert.dart.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_assert.dart.expect
index 23e1545..ebbdf18 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_assert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_assert.dart.expect
@@ -28,7 +28,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_assert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_assert.dart.intertwined.expect
index 9aebd7a..1df60f8 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_assert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_assert.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_check.dart.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_check.dart.expect
index 8a314d4..74eb962 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_check.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_check.dart.expect
@@ -28,7 +28,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(var)
- handleVariablePattern(var, y)
+ handleVariablePattern(var, y, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_check.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_check.dart.intertwined.expect
index ba37e50..4ed8e70 100644
--- a/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_check.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/var_variable_inside_null_check.dart.intertwined.expect
@@ -69,11 +69,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, y)
+ listener: handleVariablePattern(var, y, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_bare_insideCast.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_bare_insideCast.dart.expect
index e4df700..8e896c4 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_bare_insideCast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_bare_insideCast.dart.expect
@@ -20,7 +20,7 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, y)
+ handleVariablePattern(null, y, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments())
diff --git a/pkg/front_end/parser_testcases/patterns/variable_bare_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_bare_insideCast.dart.intertwined.expect
index 04b93d1..7438844 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_bare_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_bare_insideCast.dart.intertwined.expect
@@ -43,14 +43,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, y)
+ listener: handleVariablePattern(null, y, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_bare_insideNullAssert.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_bare_insideNullAssert.dart.expect
index 55aa98d..fdf9081 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_bare_insideNullAssert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_bare_insideNullAssert.dart.expect
@@ -20,7 +20,7 @@
beginMetadataStar(var)
endMetadataStar(0)
handleNoType(()
- handleVariablePattern(null, y)
+ handleVariablePattern(null, y, false)
handleNullAssertPattern(!)
handleParenthesizedPattern(()
handleIdentifier(x, expression)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_bare_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_bare_insideNullAssert.dart.intertwined.expect
index 5750635..25e92a9 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_bare_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_bare_insideNullAssert.dart.intertwined.expect
@@ -43,14 +43,14 @@
listener: beginMetadataStar(var)
listener: endMetadataStar(0)
parsePatternVariableDeclarationStatement(var, {, var)
- parsePattern(var, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern(var, isRefutableContext: false)
- parseParenthesizedPatternOrRecordPattern(var, isRefutableContext: false)
- parsePattern((, precedence: 1, isRefutableContext: false)
- parsePrimaryPattern((, isRefutableContext: false)
- parseVariablePattern((, typeInfo: Instance of 'NoType')
+ parsePattern(var, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern(var, PatternContext.declaration)
+ parseParenthesizedPatternOrRecordPattern(var, PatternContext.declaration)
+ parsePattern((, PatternContext.declaration, precedence: 1)
+ parsePrimaryPattern((, PatternContext.declaration)
+ parseVariablePattern((, PatternContext.declaration, typeInfo: Instance of 'NoType')
listener: handleNoType(()
- listener: handleVariablePattern(null, y)
+ listener: handleVariablePattern(null, y, false)
listener: handleNullAssertPattern(!)
ensureCloseParen(!, ()
listener: handleParenthesizedPattern(()
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_absurd.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_absurd.dart.expect
index 13285e6..c00527a 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_absurd.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_absurd.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(when, typeReference)
handleNoTypeArguments(as)
handleType(when, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
beginAsOperatorType(as)
handleIdentifier(when, typeReference)
handleNoTypeArguments(when)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_absurd.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_absurd.dart.intertwined.expect
index 3a5ebc64..664c49c 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_absurd.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_absurd.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(when, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(when, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(when, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_beforeWhen.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_beforeWhen.dart.expect
index 14f4083..1b0e83a 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_beforeWhen.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_beforeWhen.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(as)
handleType(int, null)
- handleVariablePattern(null, as)
+ handleVariablePattern(null, as, false)
handleLiteralBool(true)
endCaseExpression(case, when, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_beforeWhen.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_beforeWhen.dart.intertwined.expect
index 21039e2..fed5462 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_beforeWhen.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedAs_beforeWhen.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(as)
listener: handleType(int, null)
- listener: handleVariablePattern(null, as)
+ listener: handleVariablePattern(null, as, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedUnderscore_insideCase.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedUnderscore_insideCase.dart.expect
index cff09b1..ab1df05 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedUnderscore_insideCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedUnderscore_insideCase.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(_, typeReference)
handleNoTypeArguments(y)
handleType(_, null)
- handleVariablePattern(null, y)
+ handleVariablePattern(null, y, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedUnderscore_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedUnderscore_insideCase.dart.intertwined.expect
index c432898..03fecc3 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedUnderscore_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedUnderscore_insideCase.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(_, typeReference)
listener: handleNoTypeArguments(y)
listener: handleType(_, null)
- listener: handleVariablePattern(null, y)
+ listener: handleVariablePattern(null, y, false)
ensureColon(y)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_absurd.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_absurd.dart.expect
index 9178316..f725b81 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_absurd.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_absurd.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(when)
handleType(int, null)
- handleVariablePattern(null, when)
+ handleVariablePattern(null, when, false)
handleIdentifier(when, expression)
handleNoTypeArguments(>)
handleNoArguments(>)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_absurd.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_absurd.dart.intertwined.expect
index 1a60140..154fbdb 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_absurd.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_absurd.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(when)
listener: handleType(int, null)
- listener: handleVariablePattern(null, when)
+ listener: handleVariablePattern(null, when, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_beforeWhen.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_beforeWhen.dart.expect
index 917df1b..c96ab9b 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_beforeWhen.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_beforeWhen.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(when)
handleType(int, null)
- handleVariablePattern(null, when)
+ handleVariablePattern(null, when, false)
handleLiteralBool(true)
endCaseExpression(case, when, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_beforeWhen.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_beforeWhen.dart.intertwined.expect
index 45e16c6..7c4fdab 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_beforeWhen.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_beforeWhen.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(when)
listener: handleType(int, null)
- listener: handleVariablePattern(null, when)
+ listener: handleVariablePattern(null, when, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCase.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCase.dart.expect
index 60738b5..8fb17cd 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCase.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(when)
handleType(int, null)
- handleVariablePattern(null, when)
+ handleVariablePattern(null, when, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCase.dart.intertwined.expect
index 04d4933..3df47a4 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCase.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(when)
listener: handleType(int, null)
- listener: handleVariablePattern(null, when)
+ listener: handleVariablePattern(null, when, false)
ensureColon(when)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCast.dart.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCast.dart.expect
index 23a828b..8afdf74 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCast.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(when)
handleType(int, null)
- handleVariablePattern(null, when)
+ handleVariablePattern(null, when, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCast.dart.intertwined.expect
index c8875c2..f10f7e5 100644
--- a/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/variable_typedNamedWhen_insideCast.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(when)
listener: handleType(int, null)
- listener: handleVariablePattern(null, when)
+ listener: handleVariablePattern(null, when, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_beforeWhen.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_beforeWhen.dart.expect
index f46d108..3e2413f 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_beforeWhen.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_beforeWhen.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleLiteralBool(true)
endCaseExpression(case, when, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_beforeWhen.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_beforeWhen.dart.intertwined.expect
index 834f982..ee295f1 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_beforeWhen.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_beforeWhen.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
parseExpression(when)
looksLikeOuterPatternEquals(when)
skipOuterPattern(when)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCase.dart.expect
index 79ab344..cc77baf 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCase.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCase.dart.intertwined.expect
index 8e18b62..d951e75 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCase.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureColon(_)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCast.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCast.dart.expect
index 57a6a7c..cec3c66 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCast.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCast.dart.intertwined.expect
index d5713b4..c2b3d1f 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideCast.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideIfCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideIfCase.dart.expect
index 69c2a6e..64d472e 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideIfCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideIfCase.dart.expect
@@ -23,7 +23,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideIfCase.dart.intertwined.expect
index da25590..e62a8bc 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideIfCase.dart.intertwined.expect
@@ -58,11 +58,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureCloseParen(_, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullAssert.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullAssert.dart.expect
index 8fc402b..a92ee56 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullAssert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullAssert.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullAssert.dart.intertwined.expect
index 32f7146..bc3db43 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullAssert.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullCheck.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullCheck.dart.expect
index 6173c1d..c2a6225 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullCheck.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullCheck.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(case)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullCheck.dart.intertwined.expect
index 47e4ca8..b715816 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_bare_insideNullCheck.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(case)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCase.dart.expect
index 30ca722..b3e862e 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCase.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCase.dart.intertwined.expect
index d9928fa..0ca52d2 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCase.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
ensureColon(_)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCast.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCast.dart.expect
index 386d32c..4922e956 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCast.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCast.dart.intertwined.expect
index 595e205..4880b96 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideCast.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideIfCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideIfCase.dart.expect
index 0da0ee4..32cc4f1 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideIfCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideIfCase.dart.expect
@@ -25,7 +25,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideIfCase.dart.intertwined.expect
index ce2f6ce..92bf338 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideIfCase.dart.intertwined.expect
@@ -58,13 +58,13 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
ensureCloseParen(_, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullAssert.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullAssert.dart.expect
index 457968a..498b71a 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullAssert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullAssert.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullAssert.dart.intertwined.expect
index a286af7..eb70e8b 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullAssert.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullCheck.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullCheck.dart.expect
index ffb5838..da4d00d 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullCheck.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullCheck.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullCheck.dart.intertwined.expect
index 8c9bf86..913a32e 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_typed_insideNullCheck.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCase.dart.expect
index 9501ba9..e71fb0b 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCase.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(final)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCase.dart.intertwined.expect
index bdf5f18..284e8c5 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCase.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
ensureColon(_)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCast.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCast.dart.expect
index a10616e..e1723da 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCast.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(final)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCast.dart.intertwined.expect
index 938b639..f5005ab 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideCast.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideIfCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideIfCase.dart.expect
index cba2ec3..918226c 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideIfCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideIfCase.dart.expect
@@ -23,7 +23,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(final)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideIfCase.dart.intertwined.expect
index a64ce73..d7fcd80 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideIfCase.dart.intertwined.expect
@@ -58,11 +58,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
ensureCloseParen(_, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullAssert.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullAssert.dart.expect
index afe67b8..60cb3cc 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullAssert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullAssert.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(final)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullAssert.dart.intertwined.expect
index 1348b6c..6f5dec9 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullAssert.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullCheck.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullCheck.dart.expect
index 10d05e1..d9ff7a2b 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullCheck.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullCheck.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(final)
- handleVariablePattern(final, _)
+ handleVariablePattern(final, _, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullCheck.dart.intertwined.expect
index 0e6cfae..57ab3d6 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_final_untyped_insideNullCheck.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(final)
- listener: handleVariablePattern(final, _)
+ listener: handleVariablePattern(final, _, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCase.dart.expect
index 13dfb17..76836d4 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCase.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCase.dart.intertwined.expect
index 2d39ff2..26dfe9c 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCase.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureColon(_)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCast.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCast.dart.expect
index c9b9f6b..e13df50 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCast.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCast.dart.intertwined.expect
index 0904571..d1abfe6 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideCast.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideIfCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideIfCase.dart.expect
index 08609dd..df8ef1f 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideIfCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideIfCase.dart.expect
@@ -25,7 +25,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideIfCase.dart.intertwined.expect
index 9c1c220..c64245a 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideIfCase.dart.intertwined.expect
@@ -58,13 +58,13 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
ensureCloseParen(_, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullAssert.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullAssert.dart.expect
index ebe7f20..f68dffd 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullAssert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullAssert.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullAssert.dart.intertwined.expect
index 9387d6c..4586cd0 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullAssert.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullCheck.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullCheck.dart.expect
index cc0b1c4..89f7dd8 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullCheck.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullCheck.dart.expect
@@ -28,7 +28,7 @@
handleIdentifier(int, typeReference)
handleNoTypeArguments(_)
handleType(int, null)
- handleVariablePattern(null, _)
+ handleVariablePattern(null, _, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullCheck.dart.intertwined.expect
index 144dc83..e6b27d9 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_typed_insideNullCheck.dart.intertwined.expect
@@ -66,13 +66,13 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'SimpleType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'SimpleType')
listener: handleIdentifier(int, typeReference)
listener: handleNoTypeArguments(_)
listener: handleType(int, null)
- listener: handleVariablePattern(null, _)
+ listener: handleVariablePattern(null, _, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCase.dart.expect
index e60492a..f354621 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCase.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(var)
- handleVariablePattern(var, _)
+ handleVariablePattern(var, _, false)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
handleBreakStatement(false, break, ;)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCase.dart.intertwined.expect
index 37d2829..2175d56 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCase.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, _)
+ listener: handleVariablePattern(var, _, false)
ensureColon(_)
listener: endCaseExpression(case, null, :)
peekPastLabels(break)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCast.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCast.dart.expect
index e59f822..1948141 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCast.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCast.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(var)
- handleVariablePattern(var, _)
+ handleVariablePattern(var, _, false)
beginAsOperatorType(as)
handleIdentifier(Object, typeReference)
handleNoTypeArguments(:)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCast.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCast.dart.intertwined.expect
index 6f4748c..356da03d 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCast.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideCast.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, _)
+ listener: handleVariablePattern(var, _, false)
listener: beginAsOperatorType(as)
computeTypeAfterIsOrAs(as)
listener: handleIdentifier(Object, typeReference)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideIfCase.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideIfCase.dart.expect
index 476a022..39c2813 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideIfCase.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideIfCase.dart.expect
@@ -23,7 +23,7 @@
handleNoArguments(case)
handleSend(x, case)
handleNoType(var)
- handleVariablePattern(var, _)
+ handleVariablePattern(var, _, false)
handleParenthesizedCondition((, case, null)
beginThenStatement({)
beginBlock({, BlockKind(statement))
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideIfCase.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideIfCase.dart.intertwined.expect
index 50241ab..6b0cdf9 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideIfCase.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideIfCase.dart.intertwined.expect
@@ -58,11 +58,11 @@
parseArgumentsOpt(x)
listener: handleNoArguments(case)
listener: handleSend(x, case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, _)
+ listener: handleVariablePattern(var, _, false)
ensureCloseParen(_, ()
listener: handleParenthesizedCondition((, case, null)
listener: beginThenStatement({)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullAssert.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullAssert.dart.expect
index 5da8419..d3f45ee 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullAssert.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullAssert.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(var)
- handleVariablePattern(var, _)
+ handleVariablePattern(var, _, false)
handleNullAssertPattern(!)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullAssert.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullAssert.dart.intertwined.expect
index 1067c1b..9cfb26a 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullAssert.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullAssert.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, _)
+ listener: handleVariablePattern(var, _, false)
listener: handleNullAssertPattern(!)
ensureColon(!)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullCheck.dart.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullCheck.dart.expect
index fa6db20..fd66968 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullCheck.dart.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullCheck.dart.expect
@@ -26,7 +26,7 @@
beginSwitchBlock({)
beginCaseExpression(case)
handleNoType(var)
- handleVariablePattern(var, _)
+ handleVariablePattern(var, _, false)
handleNullCheckPattern(?)
endCaseExpression(case, null, :)
beginSwitchCase(0, 1, case)
diff --git a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullCheck.dart.intertwined.expect b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullCheck.dart.intertwined.expect
index 6fafc16..0ee6c7b 100644
--- a/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullCheck.dart.intertwined.expect
+++ b/pkg/front_end/parser_testcases/patterns/wildcard_var_insideNullCheck.dart.intertwined.expect
@@ -66,11 +66,11 @@
notEofOrValue(}, case)
peekPastLabels(case)
listener: beginCaseExpression(case)
- parsePattern(case, precedence: 1, isRefutableContext: true)
- parsePrimaryPattern(case, isRefutableContext: true)
- parseVariablePattern(case, typeInfo: Instance of 'NoType')
+ parsePattern(case, PatternContext.matching, precedence: 1)
+ parsePrimaryPattern(case, PatternContext.matching)
+ parseVariablePattern(case, PatternContext.matching, typeInfo: Instance of 'NoType')
listener: handleNoType(var)
- listener: handleVariablePattern(var, _)
+ listener: handleVariablePattern(var, _, false)
listener: handleNullCheckPattern(?)
ensureColon(?)
listener: endCaseExpression(case, null, :)
diff --git a/pkg/front_end/test/parser_test_listener.dart b/pkg/front_end/test/parser_test_listener.dart
index eda5d69..ddd9b6d 100644
--- a/pkg/front_end/test/parser_test_listener.dart
+++ b/pkg/front_end/test/parser_test_listener.dart
@@ -2074,10 +2074,14 @@
}
@override
- void handleVariablePattern(Token? keyword, Token variable) {
+ void handleVariablePattern(Token? keyword, Token variable,
+ {required bool inAssignmentPattern}) {
seen(keyword);
seen(variable);
- doPrint('handleVariablePattern(' '$keyword, ' '$variable)');
+ doPrint('handleVariablePattern('
+ '$keyword, '
+ '$variable, '
+ '$inAssignmentPattern)');
}
@override
diff --git a/pkg/front_end/test/parser_test_parser.dart b/pkg/front_end/test/parser_test_parser.dart
index e5d192d..366425b 100644
--- a/pkg/front_end/test/parser_test_parser.dart
+++ b/pkg/front_end/test/parser_test_parser.dart
@@ -14,7 +14,7 @@
import 'package:_fe_analyzer_shared/src/parser/member_kind.dart';
import 'package:_fe_analyzer_shared/src/parser/parser.dart' show Parser;
import 'package:_fe_analyzer_shared/src/parser/parser_impl.dart'
- show AwaitOrYieldContext, ForPartsContext;
+ show AwaitOrYieldContext, ForPartsContext, PatternContext;
import 'package:_fe_analyzer_shared/src/parser/token_stream_rewriter.dart';
import 'package:_fe_analyzer_shared/src/parser/type_info.dart';
import 'package:_fe_analyzer_shared/src/scanner/token.dart';
@@ -2667,87 +2667,78 @@
}
@override
- Token parsePattern(Token token,
- {int precedence = 1, required bool isRefutableContext}) {
+ Token parsePattern(Token token, PatternContext patternContext,
+ {int precedence = 1}) {
doPrint('parsePattern('
'$token, '
- 'precedence: $precedence, '
- 'isRefutableContext: $isRefutableContext)');
+ '$patternContext, '
+ 'precedence: $precedence)');
indent++;
- var result = super.parsePattern(token,
- precedence: precedence, isRefutableContext: isRefutableContext);
+ var result =
+ super.parsePattern(token, patternContext, precedence: precedence);
indent--;
return result;
}
@override
- Token parsePrimaryPattern(Token token, {required bool isRefutableContext}) {
- doPrint('parsePrimaryPattern('
+ Token parsePrimaryPattern(Token token, PatternContext patternContext) {
+ doPrint('parsePrimaryPattern(' '$token, ' '$patternContext)');
+ indent++;
+ var result = super.parsePrimaryPattern(token, patternContext);
+ indent--;
+ return result;
+ }
+
+ @override
+ Token parseVariablePattern(Token token, PatternContext patternContext,
+ {TypeInfo typeInfo = noType}) {
+ doPrint('parseVariablePattern('
'$token, '
- 'isRefutableContext: $isRefutableContext)');
+ '$patternContext, '
+ 'typeInfo: $typeInfo)');
indent++;
- var result = super
- .parsePrimaryPattern(token, isRefutableContext: isRefutableContext);
+ var result =
+ super.parseVariablePattern(token, patternContext, typeInfo: typeInfo);
indent--;
return result;
}
@override
- Token parseVariablePattern(Token token, {TypeInfo typeInfo = noType}) {
- doPrint('parseVariablePattern(' '$token, ' 'typeInfo: $typeInfo)');
+ Token parseListPatternSuffix(Token token, PatternContext patternContext) {
+ doPrint('parseListPatternSuffix(' '$token, ' '$patternContext)');
indent++;
- var result = super.parseVariablePattern(token, typeInfo: typeInfo);
+ var result = super.parseListPatternSuffix(token, patternContext);
indent--;
return result;
}
@override
- Token parseListPatternSuffix(Token token,
- {required bool isRefutableContext}) {
- doPrint('parseListPatternSuffix('
- '$token, '
- 'isRefutableContext: $isRefutableContext)');
+ Token parseMapPatternSuffix(Token token, PatternContext patternContext) {
+ doPrint('parseMapPatternSuffix(' '$token, ' '$patternContext)');
indent++;
- var result = super
- .parseListPatternSuffix(token, isRefutableContext: isRefutableContext);
+ var result = super.parseMapPatternSuffix(token, patternContext);
indent--;
return result;
}
@override
- Token parseMapPatternSuffix(Token token, {required bool isRefutableContext}) {
- doPrint('parseMapPatternSuffix('
- '$token, '
- 'isRefutableContext: $isRefutableContext)');
- indent++;
- var result = super
- .parseMapPatternSuffix(token, isRefutableContext: isRefutableContext);
- indent--;
- return result;
- }
-
- @override
- Token parseParenthesizedPatternOrRecordPattern(Token token,
- {required bool isRefutableContext}) {
+ Token parseParenthesizedPatternOrRecordPattern(
+ Token token, PatternContext patternContext) {
doPrint('parseParenthesizedPatternOrRecordPattern('
'$token, '
- 'isRefutableContext: $isRefutableContext)');
+ '$patternContext)');
indent++;
- var result = super.parseParenthesizedPatternOrRecordPattern(token,
- isRefutableContext: isRefutableContext);
+ var result =
+ super.parseParenthesizedPatternOrRecordPattern(token, patternContext);
indent--;
return result;
}
@override
- Token parseObjectPatternRest(Token token,
- {required bool isRefutableContext}) {
- doPrint('parseObjectPatternRest('
- '$token, '
- 'isRefutableContext: $isRefutableContext)');
+ Token parseObjectPatternRest(Token token, PatternContext patternContext) {
+ doPrint('parseObjectPatternRest(' '$token, ' '$patternContext)');
indent++;
- var result = super
- .parseObjectPatternRest(token, isRefutableContext: isRefutableContext);
+ var result = super.parseObjectPatternRest(token, patternContext);
indent--;
return result;
}
diff --git a/pkg/front_end/test/parser_test_parser_creator.dart b/pkg/front_end/test/parser_test_parser_creator.dart
index 5715d21..c345900 100644
--- a/pkg/front_end/test/parser_test_parser_creator.dart
+++ b/pkg/front_end/test/parser_test_parser_creator.dart
@@ -51,7 +51,7 @@
import 'package:_fe_analyzer_shared/src/parser/listener.dart' show Listener;
import 'package:_fe_analyzer_shared/src/parser/member_kind.dart';
import 'package:_fe_analyzer_shared/src/parser/parser.dart' show Parser;
-import 'package:_fe_analyzer_shared/src/parser/parser_impl.dart' show AwaitOrYieldContext, ForPartsContext;
+import 'package:_fe_analyzer_shared/src/parser/parser_impl.dart' show AwaitOrYieldContext, ForPartsContext, PatternContext;
import 'package:_fe_analyzer_shared/src/parser/token_stream_rewriter.dart';
import 'package:_fe_analyzer_shared/src/parser/type_info.dart';
import 'package:_fe_analyzer_shared/src/scanner/token.dart';