mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 03:42:44 +00:00 
			
		
		
		
	 f3db548a3d
			
		
	
	
		f3db548a3d
		
	
	
	
	
		
			
			DeprecatedFlyString relies heavily on DeprecatedString's StringImpl, so let's rename it to A) match the name of DeprecatedString, B) write a new FlyString class that is tied to String.
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			917 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			917 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2020-2021, the SerenityOS developers.
 | |
|  * Copyright (c) 2021-2022, Sam Atkins <atkinssj@serenityos.org>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #include <LibWeb/CSS/Parser/Rule.h>
 | |
| #include <LibWeb/CSS/Serialize.h>
 | |
| 
 | |
| namespace Web::CSS::Parser {
 | |
| 
 | |
| Rule::Rule(Rule::Type type, DeprecatedFlyString name, Vector<ComponentValue> prelude, RefPtr<Block> block)
 | |
|     : m_type(type)
 | |
|     , m_at_rule_name(move(name))
 | |
|     , m_prelude(move(prelude))
 | |
|     , m_block(move(block))
 | |
| {
 | |
| }
 | |
| 
 | |
| Rule::~Rule() = default;
 | |
| 
 | |
| DeprecatedString Rule::to_deprecated_string() const
 | |
| {
 | |
|     StringBuilder builder;
 | |
| 
 | |
|     if (is_at_rule()) {
 | |
|         builder.append('@');
 | |
|         serialize_an_identifier(builder, m_at_rule_name);
 | |
|     }
 | |
| 
 | |
|     builder.join(' ', m_prelude);
 | |
| 
 | |
|     if (m_block)
 | |
|         builder.append(m_block->to_deprecated_string());
 | |
|     else
 | |
|         builder.append(';');
 | |
| 
 | |
|     return builder.to_deprecated_string();
 | |
| }
 | |
| 
 | |
| }
 |