aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2017-05-02 13:07:18 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2017-05-02 13:07:30 +0200
commit1ee1d859346c01db59e2a9b462362dc10a3863b5 (patch)
tree6bc05735b8e78b6a1928df0254e51651a3bc3bf5
parentf1ae547b9faf82c74f1680b1c5ff456b57d153c2 (diff)
downloadservo-1ee1d859346c01db59e2a9b462362dc10a3863b5.tar.gz
servo-1ee1d859346c01db59e2a9b462362dc10a3863b5.zip
Simplify parsing code of JustifyItems
-rw-r--r--components/style/values/specified/align.rs48
1 files changed, 19 insertions, 29 deletions
diff --git a/components/style/values/specified/align.rs b/components/style/values/specified/align.rs
index 22135532885..b66c4503903 100644
--- a/components/style/values/specified/align.rs
+++ b/components/style/values/specified/align.rs
@@ -337,7 +337,7 @@ impl Parse for JustifyItems {
return Ok(JustifyItems(value))
}
// [ legacy && [ left | right | center ] ]
- if let Ok(value) = input.try(parse_legacy) {
+ if let Ok(value) = parse_legacy(input) {
return Ok(JustifyItems(value))
}
Err(())
@@ -346,7 +346,7 @@ impl Parse for JustifyItems {
// auto | normal | stretch | <baseline-position>
fn parse_auto_normal_stretch_baseline(input: &mut Parser) -> Result<AlignFlags, ()> {
- if let Ok(baseline) = input.try(|input| parse_baseline(input)) {
+ if let Ok(baseline) = input.try(parse_baseline) {
return Ok(baseline);
}
@@ -361,7 +361,7 @@ fn parse_auto_normal_stretch_baseline(input: &mut Parser) -> Result<AlignFlags,
// normal | stretch | <baseline-position>
fn parse_normal_stretch_baseline(input: &mut Parser) -> Result<AlignFlags, ()> {
- if let Ok(baseline) = input.try(|input| parse_baseline(input)) {
+ if let Ok(baseline) = input.try(parse_baseline) {
return Ok(baseline);
}
@@ -375,7 +375,7 @@ fn parse_normal_stretch_baseline(input: &mut Parser) -> Result<AlignFlags, ()> {
// normal | <baseline-position>
fn parse_normal_or_baseline(input: &mut Parser) -> Result<AlignFlags, ()> {
- if let Ok(baseline) = input.try(|input| parse_baseline(input)) {
+ if let Ok(baseline) = input.try(parse_baseline) {
return Ok(baseline);
}
@@ -391,18 +391,8 @@ fn parse_baseline(input: &mut Parser) -> Result<AlignFlags, ()> {
let ident = input.expect_ident()?;
match_ignore_ascii_case! { &ident,
"baseline" => Ok(ALIGN_BASELINE),
- "first" => {
- if input.try(|input| input.expect_ident_matching("baseline")).is_ok() {
- return Ok(ALIGN_BASELINE);
- }
- Err(())
- },
- "last" => {
- if input.try(|input| input.expect_ident_matching("baseline")).is_ok() {
- return Ok(ALIGN_LAST_BASELINE);
- }
- Err(())
- },
+ "first" => input.expect_ident_matching("baseline").map(|_| ALIGN_BASELINE),
+ "last" => input.expect_ident_matching("baseline").map(|_| ALIGN_LAST_BASELINE),
_ => Err(())
}
}
@@ -411,26 +401,26 @@ fn parse_baseline(input: &mut Parser) -> Result<AlignFlags, ()> {
fn parse_content_distribution(input: &mut Parser) -> Result<AlignFlags, ()> {
let ident = input.expect_ident()?;
match_ignore_ascii_case! { &ident,
- "stretch" => Ok(ALIGN_STRETCH),
- "space-between" => Ok(ALIGN_SPACE_BETWEEN),
- "space-around" => Ok(ALIGN_SPACE_AROUND),
- "space-evenly" => Ok(ALIGN_SPACE_EVENLY),
- _ => Err(())
+ "stretch" => Ok(ALIGN_STRETCH),
+ "space-between" => Ok(ALIGN_SPACE_BETWEEN),
+ "space-around" => Ok(ALIGN_SPACE_AROUND),
+ "space-evenly" => Ok(ALIGN_SPACE_EVENLY),
+ _ => Err(())
}
}
// [ <overflow-position>? && <content-position> ]
fn parse_overflow_content_position(input: &mut Parser) -> Result<AlignFlags, ()> {
// <content-position> followed by optional <overflow-position>
- if let Ok(mut content) = input.try(|input| parse_content_position(input)) {
- if let Ok(overflow) = input.try(|input| parse_overflow_position(input)) {
+ if let Ok(mut content) = input.try(parse_content_position) {
+ if let Ok(overflow) = input.try(parse_overflow_position) {
content |= overflow;
}
return Ok(content)
}
// <overflow-position> followed by required <content-position>
- if let Ok(overflow) = input.try(|input| parse_overflow_position(input)) {
- if let Ok(content) = input.try(|input| parse_content_position(input)) {
+ if let Ok(overflow) = parse_overflow_position(input) {
+ if let Ok(content) = parse_content_position(input) {
return Ok(overflow | content)
}
}
@@ -465,15 +455,15 @@ fn parse_overflow_position(input: &mut Parser) -> Result<AlignFlags, ()> {
// [ <overflow-position>? && <self-position> ]
fn parse_overflow_self_position(input: &mut Parser) -> Result<AlignFlags, ()> {
// <self-position> followed by optional <overflow-position>
- if let Ok(mut self_position) = input.try(|input| parse_self_position(input)) {
- if let Ok(overflow) = input.try(|input| parse_overflow_position(input)) {
+ if let Ok(mut self_position) = input.try(parse_self_position) {
+ if let Ok(overflow) = input.try(parse_overflow_position) {
self_position |= overflow;
}
return Ok(self_position)
}
// <overflow-position> followed by required <self-position>
- if let Ok(overflow) = input.try(|input| parse_overflow_position(input)) {
- if let Ok(self_position) = input.try(|input| parse_self_position(input)) {
+ if let Ok(overflow) = parse_overflow_position(input) {
+ if let Ok(self_position) = parse_self_position(input) {
return Ok(overflow | self_position)
}
}