diff options
Diffstat (limited to 'Userland/Libraries/LibWeb/CSS/Parser/Block.h')
-rw-r--r-- | Userland/Libraries/LibWeb/CSS/Parser/Block.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Userland/Libraries/LibWeb/CSS/Parser/Block.h b/Userland/Libraries/LibWeb/CSS/Parser/Block.h new file mode 100644 index 0000000000..2ea17f0d9d --- /dev/null +++ b/Userland/Libraries/LibWeb/CSS/Parser/Block.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2020-2021, the SerenityOS developers. + * Copyright (c) 2021, Sam Atkins <atkinssj@serenityos.org> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include <AK/RefCounted.h> +#include <AK/Vector.h> +#include <LibWeb/CSS/Parser/ComponentValue.h> +#include <LibWeb/CSS/Parser/Token.h> +#include <LibWeb/Forward.h> + +namespace Web::CSS::Parser { + +class Block : public RefCounted<Block> { + friend class Parser; + +public: + Block(); + Block(Token, Vector<ComponentValue>&&); + ~Block(); + + bool is_curly() const { return m_token.is(Token::Type::OpenCurly); } + bool is_paren() const { return m_token.is(Token::Type::OpenParen); } + bool is_square() const { return m_token.is(Token::Type::OpenSquare); } + + Token const& token() const { return m_token; } + + Vector<ComponentValue> const& values() const { return m_values; } + + String to_string() const; + +private: + Token m_token; + Vector<ComponentValue> m_values; +}; +} |