PyFile:PatternMatchingClassPatterns.py
  PyMatchStatement
    PsiElement(Py:MATCH_KEYWORD)('match')
    PsiWhiteSpace(' ')
    PyReferenceExpression: x
      PsiElement(Py:IDENTIFIER)('x')
    PsiElement(Py:COLON)(':')
    PsiWhiteSpace('\n    ')
    PyCaseClause
      PsiElement(Py:CASE_KEYWORD)('case')
      PsiWhiteSpace(' ')
      PyClassPattern
        PyReferenceExpression: C
          PsiElement(Py:IDENTIFIER)('C')
        PyPatternArgumentList
          PsiElement(Py:LPAR)('(')
          PsiElement(Py:RPAR)(')')
      PsiElement(Py:COLON)(':')
      PsiWhiteSpace('\n        ')
      PyStatementList
        PyPassStatement
          PsiElement(Py:PASS_KEYWORD)('pass')
    PsiWhiteSpace('\n    ')
    PyCaseClause
      PsiElement(Py:CASE_KEYWORD)('case')
      PsiWhiteSpace(' ')
      PyClassPattern
        PyReferenceExpression: C
          PyReferenceExpression: mod
            PyReferenceExpression: pkg
              PsiElement(Py:IDENTIFIER)('pkg')
            PsiElement(Py:DOT)('.')
            PsiElement(Py:IDENTIFIER)('mod')
          PsiElement(Py:DOT)('.')
          PsiElement(Py:IDENTIFIER)('C')
        PyPatternArgumentList
          PsiElement(Py:LPAR)('(')
          PyLiteralPattern
            PyNumericLiteralExpression
              PsiElement(Py:INTEGER_LITERAL)('1')
          PsiElement(Py:COMMA)(',')
          PsiWhiteSpace(' ')
          PyLiteralPattern
            PyNumericLiteralExpression
              PsiElement(Py:INTEGER_LITERAL)('2')
          PsiElement(Py:RPAR)(')')
      PsiElement(Py:COLON)(':')
      PsiWhiteSpace('\n        ')
      PyStatementList
        PyPassStatement
          PsiElement(Py:PASS_KEYWORD)('pass')
    PsiWhiteSpace('\n    ')
    PyCaseClause
      PsiElement(Py:CASE_KEYWORD)('case')
      PsiWhiteSpace(' ')
      PyClassPattern
        PyReferenceExpression: C
          PsiElement(Py:IDENTIFIER)('C')
        PyPatternArgumentList
          PsiElement(Py:LPAR)('(')
          PyLiteralPattern
            PyNumericLiteralExpression
              PsiElement(Py:INTEGER_LITERAL)('1')
          PsiElement(Py:COMMA)(',')
          PsiWhiteSpace(' ')
          PyLiteralPattern
            PyNumericLiteralExpression
              PsiElement(Py:INTEGER_LITERAL)('2')
          PsiElement(Py:COMMA)(',')
          PsiElement(Py:RPAR)(')')
      PsiElement(Py:COLON)(':')
      PsiWhiteSpace('\n        ')
      PyStatementList
        PyPassStatement
          PsiElement(Py:PASS_KEYWORD)('pass')
    PsiWhiteSpace('\n    ')
    PyCaseClause
      PsiElement(Py:CASE_KEYWORD)('case')
      PsiWhiteSpace(' ')
      PyClassPattern
        PyReferenceExpression: C
          PsiElement(Py:IDENTIFIER)('C')
        PyPatternArgumentList
          PsiElement(Py:LPAR)('(')
          PyClassPattern
            PyReferenceExpression: D
              PsiElement(Py:IDENTIFIER)('D')
            PyPatternArgumentList
              PsiElement(Py:LPAR)('(')
              PyLiteralPattern
                PyNumericLiteralExpression
                  PsiElement(Py:INTEGER_LITERAL)('1')
              PsiElement(Py:RPAR)(')')
          PsiElement(Py:COMMA)(',')
          PsiWhiteSpace(' ')
          PyLiteralPattern
            PyNumericLiteralExpression
              PsiElement(Py:INTEGER_LITERAL)('2')
          PsiElement(Py:RPAR)(')')
      PsiElement(Py:COLON)(':')
      PsiWhiteSpace('\n        ')
      PyStatementList
        PyPassStatement
          PsiElement(Py:PASS_KEYWORD)('pass')
    PsiWhiteSpace('\n    ')
    PyCaseClause
      PsiElement(Py:CASE_KEYWORD)('case')
      PsiWhiteSpace(' ')
      PyClassPattern
        PyReferenceExpression: C
          PsiElement(Py:IDENTIFIER)('C')
        PyPatternArgumentList
          PsiElement(Py:LPAR)('(')
          PyKeywordPattern
            PsiElement(Py:IDENTIFIER)('attr')
            PsiElement(Py:EQ)('=')
            PyLiteralPattern
              PyNumericLiteralExpression
                PsiElement(Py:INTEGER_LITERAL)('1')
          PsiElement(Py:RPAR)(')')
      PsiElement(Py:COLON)(':')
      PsiWhiteSpace('\n        ')
      PyStatementList
        PyPassStatement
          PsiElement(Py:PASS_KEYWORD)('pass')
    PsiWhiteSpace('\n    ')
    PyCaseClause
      PsiElement(Py:CASE_KEYWORD)('case')
      PsiWhiteSpace(' ')
      PyClassPattern
        PyReferenceExpression: C
          PsiElement(Py:IDENTIFIER)('C')
        PyPatternArgumentList
          PsiElement(Py:LPAR)('(')
          PyLiteralPattern
            PyNumericLiteralExpression
              PsiElement(Py:INTEGER_LITERAL)('1')
          PsiElement(Py:COMMA)(',')
          PsiWhiteSpace(' ')
          PyKeywordPattern
            PsiElement(Py:IDENTIFIER)('attr')
            PsiElement(Py:EQ)('=')
            PyLiteralPattern
              PyNumericLiteralExpression
                PsiElement(Py:INTEGER_LITERAL)('2')
          PsiElement(Py:RPAR)(')')
      PsiElement(Py:COLON)(':')
      PsiWhiteSpace('\n        ')
      PyStatementList
        PyPassStatement
          PsiElement(Py:PASS_KEYWORD)('pass')
    PsiWhiteSpace('\n    ')
    PyCaseClause
      PsiElement(Py:CASE_KEYWORD)('case')
      PsiWhiteSpace(' ')
      PyClassPattern
        PyReferenceExpression: C
          PsiElement(Py:IDENTIFIER)('C')
        PyPatternArgumentList
          PsiElement(Py:LPAR)('(')
          PyLiteralPattern
            PyNumericLiteralExpression
              PsiElement(Py:INTEGER_LITERAL)('1')
          PsiElement(Py:COMMA)(',')
          PsiWhiteSpace(' ')
          PyKeywordPattern
            PsiElement(Py:IDENTIFIER)('attr')
            PsiElement(Py:EQ)('=')
            PyLiteralPattern
              PyNumericLiteralExpression
                PsiElement(Py:INTEGER_LITERAL)('2')
          PsiElement(Py:COMMA)(',')
          PsiElement(Py:RPAR)(')')
      PsiElement(Py:COLON)(':')
      PsiWhiteSpace('\n        ')
      PyStatementList
        PyPassStatement
          PsiElement(Py:PASS_KEYWORD)('pass')