67 $this->parts = [
new $class ];
69 foreach ( $data as $name => $value ) {
70 $this->$name = $value;
75 return $this->parts[count( $this->parts ) - 1]->out;
80 $this->parts[] =
new $class(
$s );
87 return $this->parts[count( $this->parts ) - 1];
94 $partCount = count( $this->parts );
95 $findPipe = $this->open !=
"\n" && $this->open !=
'[';
97 'findPipe' => $findPipe,
98 'findEquals' => $findPipe && $partCount > 1 && !isset( $this->parts[$partCount - 1]->eqpos ),
99 'inHeading' => $this->open ==
"\n",
110 if ( $this->open ==
"\n" ) {
111 $accum = array_merge( [ $this->savedPrefix ], $this->parts[0]->out );
113 if ( $openingCount ===
false ) {
116 $s = substr( $this->open, 0, -1 );
118 substr( $this->open, -1 ),
119 $openingCount - strlen(
$s )
121 $accum = [ $this->savedPrefix .
$s ];
124 foreach ( $this->parts as $part ) {
127 } elseif ( is_string( $accum[$lastIndex] ) ) {
128 $accum[$lastIndex] .=
'|';
130 $accum[++$lastIndex] =
'|';
133 foreach ( $part->out as $node ) {
134 if ( is_string( $node ) && is_string( $accum[$lastIndex] ) ) {
135 $accum[$lastIndex] .= $node;
137 $accum[++$lastIndex] = $node;
string $savedPrefix
Saved prefix that may affect later processing, e.g.
int $count
Number of opening characters found (number of "=" for heading)
bool $lineStart
True if the open char appeared at the start of the input line.
PPDPart_Hash[] $parts
Array of PPDPart objects describing pipe-separated parts.
breakSyntax( $openingCount=false)
Get the accumulator that would result if the close is not found.
string $close
Matching closing character.
string $open
Opening character (\n for heading)
foreach( $mmfl['setupFiles'] as $fileName) if( $queue) if(empty( $mmfl['quiet'])) $s