diff vendor/symfony/translation/Extractor/PhpExtractor.php @ 17:129ea1e6d783

Update, including to Drupal core 8.6.10
author Chris Cannam
date Thu, 28 Feb 2019 13:21:36 +0000
parents 1fec387a4317
children af1871eacc83
line wrap: on
line diff
--- a/vendor/symfony/translation/Extractor/PhpExtractor.php	Tue Jul 10 15:07:59 2018 +0100
+++ b/vendor/symfony/translation/Extractor/PhpExtractor.php	Thu Feb 28 13:21:36 2019 +0000
@@ -37,8 +37,8 @@
      *
      * @var array
      */
-    protected $sequences = array(
-        array(
+    protected $sequences = [
+        [
             '->',
             'trans',
             '(',
@@ -47,8 +47,8 @@
             self::METHOD_ARGUMENTS_TOKEN,
             ',',
             self::DOMAIN_TOKEN,
-        ),
-        array(
+        ],
+        [
             '->',
             'transChoice',
             '(',
@@ -59,20 +59,20 @@
             self::METHOD_ARGUMENTS_TOKEN,
             ',',
             self::DOMAIN_TOKEN,
-        ),
-        array(
+        ],
+        [
             '->',
             'trans',
             '(',
             self::MESSAGE_TOKEN,
-        ),
-        array(
+        ],
+        [
             '->',
             'transChoice',
             '(',
             self::MESSAGE_TOKEN,
-        ),
-    );
+        ],
+    ];
 
     /**
      * {@inheritdoc}
@@ -156,9 +156,14 @@
     {
         $message = '';
         $docToken = '';
+        $docPart = '';
 
         for (; $tokenIterator->valid(); $tokenIterator->next()) {
             $t = $tokenIterator->current();
+            if ('.' === $t) {
+                // Concatenate with next token
+                continue;
+            }
             if (!isset($t[1])) {
                 break;
             }
@@ -169,19 +174,24 @@
                     break;
                 case T_ENCAPSED_AND_WHITESPACE:
                 case T_CONSTANT_ENCAPSED_STRING:
-                    $message .= $t[1];
+                    if ('' === $docToken) {
+                        $message .= PhpStringTokenParser::parse($t[1]);
+                    } else {
+                        $docPart = $t[1];
+                    }
                     break;
                 case T_END_HEREDOC:
-                    return PhpStringTokenParser::parseDocString($docToken, $message);
+                    $message .= PhpStringTokenParser::parseDocString($docToken, $docPart);
+                    $docToken = '';
+                    $docPart = '';
+                    break;
+                case T_WHITESPACE:
+                    break;
                 default:
                     break 2;
             }
         }
 
-        if ($message) {
-            $message = PhpStringTokenParser::parse($message);
-        }
-
         return $message;
     }
 
@@ -210,7 +220,7 @@
                     } elseif (self::MESSAGE_TOKEN === $item) {
                         $message = $this->getValue($tokenIterator);
 
-                        if (count($sequence) === ($sequenceKey + 1)) {
+                        if (\count($sequence) === ($sequenceKey + 1)) {
                             break;
                         }
                     } elseif (self::METHOD_ARGUMENTS_TOKEN === $item) {