Problems reported: parser/patterns/variable_namedWhen:3:14: The variable declared by a variable pattern can't be named 'when'. case var when: ^^^^ beginCompilationUnit(void) beginMetadataStar(void) endMetadataStar(0) beginTopLevelMember(void) beginTopLevelMethod(, null, null) handleVoidKeyword(void) handleIdentifier(f, topLevelFunctionDeclaration) handleNoTypeVariables(() beginFormalParameters((, MemberKind.TopLevelMethod) beginMetadataStar(x) endMetadataStar(0) beginFormalParameter(x, MemberKind.TopLevelMethod, null, null, null) handleNoType(() handleIdentifier(x, formalParameterDeclaration) handleFormalParameterWithoutValue()) endFormalParameter(null, null, null, null, x, null, null, FormalParameterKind.requiredPositional, MemberKind.TopLevelMethod) endFormalParameters(1, (, ), MemberKind.TopLevelMethod) handleAsyncModifier(null, null) beginBlockFunctionBody({) beginSwitchStatement(switch) handleIdentifier(x, expression) handleNoTypeArguments()) handleNoArguments()) handleSend(x, x) handleParenthesizedCondition((, null, null) beginSwitchBlock({) beginCaseExpression(case) beginPattern(case) handleNoType(var) handleRecoverableError(Message[Template(IllegalPatternVariableName), The variable declared by a variable pattern can't be named 'when'., Choose a different name., {variableName: when}], when, when) handleDeclaredVariablePattern(var, when, false) endPattern(when) handleSwitchCaseNoWhenClause(when) endCaseExpression(case, null, :) beginSwitchCase(0, 1, case) endSwitchCase(0, 1, null, null, 0, case, :) endSwitchBlock(1, {, }) endSwitchStatement(switch, }) endBlockFunctionBody(1, {, }) endTopLevelMethod(void, null, }) endTopLevelDeclaration(}) endCompilationUnit(1, )