sway_parse/
literal.rs

1use crate::{Parse, ParseResult, Parser, Peek, Peeker};
2
3use sway_ast::Literal;
4use sway_error::parser_error::ParseErrorKind;
5
6impl Peek for Literal {
7    fn peek(peeker: Peeker<'_>) -> Option<Literal> {
8        peeker.peek_literal().ok().cloned()
9    }
10}
11
12impl Parse for Literal {
13    fn parse(parser: &mut Parser) -> ParseResult<Literal> {
14        parser
15            .take()
16            .ok_or_else(|| parser.emit_error(ParseErrorKind::ExpectedLiteral))
17    }
18}