void () { boolean insideFStringFragment = !myFStringStack.isEmpty() && !myFStringStack.peek().fragments.isEmpty(); final IElementType tokenType = getTokenType(); if (PyTokenTypes.OPEN_BRACES.contains(tokenType)) { myBraceLevel++; } else if (PyTokenTypes.CLOSE_BRACES.contains(tokenType)) { myBraceLevel--; } else if ((myBraceLevel != 0 || insideFStringFragment) && RECOVERY_TOKENS.contains(tokenType)) { myBraceLevel = 0; if (insideFStringFragment) { myFStringStack.clear(); } final int pos = getTokenStart(); pushToken(PyTokenTypes.STATEMENT_BREAK, pos, pos); final int indents = myIndentStack.size(); for (int i = 0; i < indents - 1; i++) { final int indent = myIndentStack.topInt(); if (myCurrentNewLineIndent >= indent) { break; } if (myIndentStack.size() > 1) { myIndentStack.pop(); pushToken(PyTokenTypes.DEDENT, pos, pos); } } pushToken(PyTokenTypes.LINE_BREAK, pos, pos); } }