mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 19:07:35 +00:00
LibWeb: Add direct StyleComponentValueRule constructors
Rather than passing a ComponentType, and then manually modifying the data fields, we now create them initialized. The constructor that takes a Token is intentionally left implicit, so that we can automatically convert when using the TokenStream later.
This commit is contained in:
parent
82d12b170a
commit
8671d79ba4
3 changed files with 22 additions and 20 deletions
|
@ -559,21 +559,13 @@ StyleComponentValueRule Parser::consume_a_component_value()
|
|||
{
|
||||
auto token = next_token();
|
||||
|
||||
if (token.is_open_curly() || token.is_open_square() || token.is_open_paren()) {
|
||||
auto component = StyleComponentValueRule(StyleComponentValueRule::ComponentType::Block);
|
||||
component.m_block = consume_a_simple_block();
|
||||
return component;
|
||||
}
|
||||
if (token.is_open_curly() || token.is_open_square() || token.is_open_paren())
|
||||
return StyleComponentValueRule(consume_a_simple_block());
|
||||
|
||||
if (token.is_function()) {
|
||||
auto component = StyleComponentValueRule(StyleComponentValueRule::ComponentType::Function);
|
||||
component.m_function = consume_a_function();
|
||||
return component;
|
||||
}
|
||||
if (token.is_function())
|
||||
return StyleComponentValueRule(consume_a_function());
|
||||
|
||||
auto component = StyleComponentValueRule(StyleComponentValueRule::ComponentType::Token);
|
||||
component.m_token = token;
|
||||
return component;
|
||||
return StyleComponentValueRule(token);
|
||||
}
|
||||
|
||||
NonnullRefPtr<StyleBlockRule> Parser::consume_a_simple_block()
|
||||
|
@ -722,10 +714,7 @@ Vector<DeclarationOrAtRule> Parser::consume_a_list_of_declarations()
|
|||
|
||||
if (token.is_ident()) {
|
||||
Vector<StyleComponentValueRule> temp;
|
||||
|
||||
auto component = StyleComponentValueRule(StyleComponentValueRule::ComponentType::Token);
|
||||
component.m_token = token;
|
||||
temp.append(component);
|
||||
temp.append(StyleComponentValueRule(token));
|
||||
|
||||
for (;;) {
|
||||
auto peek = peek_token();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue