<commit_before><?php

namespace Htsl\Parser\Node;

use Htsl\Htsl;
use Htsl\ReadingBuffer\Line;
use Htsl\Parser\Node\Contracts\ANode;
use Htsl\Parser\Section;

////////////////////////////////////////////////////////////////

class NamelessSectionNode extends ANode
{
	/**
	 * The name of the section.
	 *
	 * @access private
	 *
	 * @var string
	 */
	private $name;

	/**
	 * Real constructor.
	 *
	 * @access protected
	 *
	 * @return \Htsl\Parser\Node\Contracts\ANode
	 */
	protected function construct():parent
	{
		$this->name= null;

		return $this;
	}

	/**
	 * Opening this node, and returning node opener.
	 *
	 * @access public
	 *
	 * @return string
	 */
	public function open():string
	{
		$this->document->setSection(new Section($this->name));

		return '';
	}

	/**
	 * Close this node, and returning node closer.
	 *
	 * @access public
	 *
	 * @param  \Htsl\ReadingBuffer\Line   $closerLine  The line when node closed.
	 *
	 * @return string
	 */
	public function close( Line$closerLine ):string
	{
		$this->document->setSection(null);

		return '';
	}
}<commit_msg>Let NamelessSectionNode extends SectionNode to reuse code<commit_after><?php

namespace Htsl\Parser\Node;

use Htsl\Htsl;
use Htsl\ReadingBuffer\Line;
use Htsl\Parser\Section;

////////////////////////////////////////////////////////////////

class NamelessSectionNode extends SectionNode
{
	/**
	 * Real constructor.
	 *
	 * @access protected
	 *
	 * @return \Htsl\Parser\Node\Contracts\ANode
	 */
	protected function construct():parent
	{
		$this->name= null;

		return $this;
	}
}
{'fraction_non_alphanumeric': 0.2034548944337812, 'fraction_numerical': 0.0, 'mean_word_length': 2.3634408602150536, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 10, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3299644', 'n_tokens_mistral': 538, 'n_tokens_neox': 485, 'n_words': 114}