Code Duplication    Length = 6-8 lines in 2 locations

grammar/rebuildParsers.php 2 locations

@@ 156-161 (lines=6) @@
153
                return 'substr(' . $args[0] . ', 1)';
154
            }
155
156
            if ('parseEncapsed' == $name) {
157
                assertArgs(3, $args, $name);
158
159
                return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) {'
160
                     . ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, ' . $args[1] . ', ' . $args[2] . '); } }';
161
            }
162
163
            if ('parseEncapsedDoc' == $name) {
164
                assertArgs(2, $args, $name);
@@ 163-170 (lines=8) @@
160
                     . ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, ' . $args[1] . ', ' . $args[2] . '); } }';
161
            }
162
163
            if ('parseEncapsedDoc' == $name) {
164
                assertArgs(2, $args, $name);
165
166
                return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) {'
167
                     . ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, null, ' . $args[1] . '); } }'
168
                     . ' $s->value = preg_replace(\'~(\r\n|\n|\r)\z~\', \'\', $s->value);'
169
                     . ' if (\'\' === $s->value) array_pop(' . $args[0] . ');';
170
            }
171
172
            return $matches[0];
173
        },