wp/wp-includes/class-wp-block-parser-frame.php
changeset 21 48c4eec2b7e6
child 22 8c2e4d02f4ef
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wp/wp-includes/class-wp-block-parser-frame.php	Fri Sep 05 18:40:08 2025 +0200
@@ -0,0 +1,78 @@
+<?php
+/**
+ * Block Serialization Parser
+ *
+ * @package WordPress
+ */
+
+/**
+ * Class WP_Block_Parser_Frame
+ *
+ * Holds partial blocks in memory while parsing
+ *
+ * @internal
+ * @since 5.0.0
+ */
+class WP_Block_Parser_Frame {
+	/**
+	 * Full or partial block
+	 *
+	 * @since 5.0.0
+	 * @var WP_Block_Parser_Block
+	 */
+	public $block;
+
+	/**
+	 * Byte offset into document for start of parse token
+	 *
+	 * @since 5.0.0
+	 * @var int
+	 */
+	public $token_start;
+
+	/**
+	 * Byte length of entire parse token string
+	 *
+	 * @since 5.0.0
+	 * @var int
+	 */
+	public $token_length;
+
+	/**
+	 * Byte offset into document for after parse token ends
+	 * (used during reconstruction of stack into parse production)
+	 *
+	 * @since 5.0.0
+	 * @var int
+	 */
+	public $prev_offset;
+
+	/**
+	 * Byte offset into document where leading HTML before token starts
+	 *
+	 * @since 5.0.0
+	 * @var int
+	 */
+	public $leading_html_start;
+
+	/**
+	 * Constructor
+	 *
+	 * Will populate object properties from the provided arguments.
+	 *
+	 * @since 5.0.0
+	 *
+	 * @param WP_Block_Parser_Block $block              Full or partial block.
+	 * @param int                   $token_start        Byte offset into document for start of parse token.
+	 * @param int                   $token_length       Byte length of entire parse token string.
+	 * @param int                   $prev_offset        Byte offset into document for after parse token ends.
+	 * @param int                   $leading_html_start Byte offset into document where leading HTML before token starts.
+	 */
+	public function __construct( $block, $token_start, $token_length, $prev_offset = null, $leading_html_start = null ) {
+		$this->block              = $block;
+		$this->token_start        = $token_start;
+		$this->token_length       = $token_length;
+		$this->prev_offset        = isset( $prev_offset ) ? $prev_offset : $token_start + $token_length;
+		$this->leading_html_start = $leading_html_start;
+	}
+}