Skip to content

Commit 5e477ab

Browse files
authored
Add declaration_start parameter to DeclarationParser parse_value (#400)
1 parent 008a91c commit 5e477ab

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

src/rules_and_declarations.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ pub trait DeclarationParser<'i> {
4949
&mut self,
5050
name: CowRcStr<'i>,
5151
input: &mut Parser<'i, 't>,
52+
_declaration_start: &ParserState,
5253
) -> Result<Self::Declaration, ParseError<'i, Self::Error>> {
5354
Err(input.new_error(BasicParseErrorKind::UnexpectedToken(Token::Ident(name))))
5455
}
@@ -279,7 +280,7 @@ where
279280
error_behavior,
280281
|input| {
281282
input.expect_colon()?;
282-
parser.parse_value(name, input)
283+
parser.parse_value(name, input, &start)
283284
},
284285
)
285286
};
@@ -408,12 +409,13 @@ pub fn parse_one_declaration<'i, 't, P, E>(
408409
where
409410
P: DeclarationParser<'i, Error = E>,
410411
{
412+
let start = input.state();
411413
let start_position = input.position();
412414
input
413415
.parse_entirely(|input| {
414416
let name = input.expect_ident()?.clone();
415417
input.expect_colon()?;
416-
parser.parse_value(name, input)
418+
parser.parse_value(name, input, &start)
417419
})
418420
.map_err(|e| (e, input.slice_from(start_position)))
419421
}

src/tests.rs

+1
Original file line numberDiff line numberDiff line change
@@ -849,6 +849,7 @@ impl<'i> DeclarationParser<'i> for JsonParser {
849849
&mut self,
850850
name: CowRcStr<'i>,
851851
input: &mut Parser<'i, 't>,
852+
_declaration_start: &ParserState,
852853
) -> Result<Value, ParseError<'i, ()>> {
853854
let mut value = vec![];
854855
let mut important = false;

0 commit comments

Comments
 (0)