(&mut self, visibility: Visibility)
| 1047 | } |
| 1048 | |
| 1049 | fn const_declaration(&mut self, visibility: Visibility) -> Option<Stmt<'gc>> { |
| 1050 | self.consume(TokenType::Identifier, "Expect constant name."); |
| 1051 | let name = self.previous; |
| 1052 | |
| 1053 | self.consume( |
| 1054 | TokenType::Equal, |
| 1055 | "Const declarations must have an initializer.", |
| 1056 | ); |
| 1057 | let initializer = self.expression()?; |
| 1058 | |
| 1059 | self.consume( |
| 1060 | TokenType::Semicolon, |
| 1061 | "Expect ';' after constant declaration.", |
| 1062 | ); |
| 1063 | Some(Stmt::Const { |
| 1064 | name, |
| 1065 | initializer, |
| 1066 | visibility, |
| 1067 | line: name.line, |
| 1068 | }) |
| 1069 | } |
| 1070 | |
| 1071 | fn var_declaration(&mut self, visibility: Visibility) -> Option<Stmt<'gc>> { |
| 1072 | self.consume(TokenType::Identifier, "Expect variable name."); |
no test coverage detected