protected void parseFunctionInnards(@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();
  }
protected void parseFunctionInnards(@NotNull SyntaxTreeBuilder.Marker functionMarker, boolean async)