3 namespace MediaWiki\Tidy
;
8 class RemexMungerData
{
10 * The Element for the mw:p-wrap which is a child of the current node. If
11 * this is set, inline insertions into this node will be diverted so that
12 * they insert into the p-wrap.
14 * @var \RemexHtml\TreeBuilder\Element|null
16 public $childPElement;
19 * This tracks the mw:p-wrap node in the Serializer stack which is an
20 * ancestor of this node. If there is no mw:p-wrap ancestor, it is null.
22 * @var \RemexHtml\Serializer\SerializerNode|null
24 public $ancestorPNode;
27 * The wrap base node is the body or blockquote node which is the parent
28 * of active p-wrappers. This is set if there is an ancestor p-wrapper,
29 * or if a p-wrapper was closed due to a block element being encountered
32 * @var \RemexHtml\Serializer\SerializerNode|null
37 * Stack splitting (essentially our idea of AFE reconstruction) can clone
38 * formatting elements which are split over multiple paragraphs.
39 * TreeBuilder is not aware of the cloning, and continues to insert into
40 * the original element. This is set to the newer clone if this node was
41 * cloned, i.e. if there is an active diversion of the insertion location.
43 * @var \RemexHtml\TreeBuilder\Element|null
45 public $currentCloneElement;
48 * Is the node a p-wrapper, with name mw:p-wrap?
52 public $isPWrapper = false;
55 * Is the node splittable, i.e. a formatting element or a node with a
56 * formatting element ancestor which is under an active or deactivated
61 public $isSplittable = false;
64 * This is true if the node is a body or blockquote, which activates
65 * p-wrapping of child nodes.
67 public $needsPWrapping = false;
70 * The number of child nodes, not counting whitespace-only text nodes or
73 public $nonblankNodeCount = 0;
75 public function __set( $name, $value ) {
76 throw new \
Exception( "Cannot set property \"$name\"" );