ladybird/Userland/Libraries/LibWeb/CSS/Parser/StyleBlockRule.h
Sam Atkins 89bfde29dc LibWeb: Convert some CSS parser *Rule classes to using pointers
Previously these were all passed around by value, but some of them
(StyleComponentValueRule and StyleBlockRule) want to include each
other as fields, so this had to change.
2021-07-11 23:19:56 +02:00

35 lines
770 B
C++

/*
* Copyright (c) 2020-2021, the SerenityOS developers.
* Copyright (c) 2021, Sam Atkins <atkinssj@gmail.com>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/RefCounted.h>
#include <AK/Vector.h>
#include <LibWeb/CSS/Parser/Token.h>
namespace Web::CSS {
class StyleBlockRule : public RefCounted<StyleBlockRule> {
friend class Parser;
public:
StyleBlockRule();
~StyleBlockRule();
bool is_curly() const { return m_token.is_open_curly(); }
bool is_paren() const { return m_token.is_open_paren(); }
bool is_square() const { return m_token.is_open_square(); }
Vector<String> const& values() const { return m_values; }
String to_string() const;
private:
Token m_token;
Vector<String> m_values;
};
}