Parses a block of statements. # Panics If the parser isn't positioned at an `Indent` token.
(&mut self)
| 3122 | /// |
| 3123 | /// If the parser isn't positioned at an `Indent` token. |
| 3124 | fn parse_block(&mut self) -> Suite { |
| 3125 | self.bump(TokenKind::Indent); |
| 3126 | |
| 3127 | let statements = if let Some(statements) = self.with_recursion(|parser| { |
| 3128 | parser.parse_list_into_thin_vec( |
| 3129 | RecoveryContextKind::BlockStatements, |
| 3130 | Parser::parse_statement, |
| 3131 | ) |
| 3132 | }) { |
| 3133 | statements |
| 3134 | } else { |
| 3135 | self.report_recursion_limit_exceeded(self.current_token_range()); |
| 3136 | Suite::new() |
| 3137 | }; |
| 3138 | |
| 3139 | self.expect(TokenKind::Dedent); |
| 3140 | |
| 3141 | statements |
| 3142 | } |
| 3143 | |
| 3144 | /// Parses a single parameter for the given function kind. |
| 3145 | /// |
no test coverage detected