void (@NotNull SyntaxTreeBuilder.Marker functionMarker, boolean async) { myBuilder.advanceLexer(); parseIdentifierOrSkip(PyTokenTypes.LPAR, PyTokenTypes.LBRACKET); myContext.getStatementParser().parseTypeParameterList(); parseParameterList(); parseReturnTypeAnnotation(); checkMatches(PyTokenTypes.COLON, message("PARSE.expected.colon")); final ParsingContext context = getParsingContext(); context.pushScope(context.getScope().withFunction(async)); getStatementParser().parseSuite(functionMarker, getFunctionType()); context.popScope(); }