Passed
Pull Request — development (#3792)
by Spuds
06:41
created
sources/ElkArte/SettingsForm/SettingsFormAdapter/File.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -486,7 +486,7 @@
 block discarded – undo
486 486
 	{
487 487
 		// Now loop through the remaining (database-based) settings.
488 488
 		$this->configVars = array_map(
489
-			static function ($configVar) {
489
+			static function($configVar) {
490 490
 				// We just saved the file-based settings, so skip their definitions.
491 491
 				if (!is_array($configVar) || $configVar[2] === 'file')
492 492
 				{
Please login to merge, or discard this patch.
sources/ElkArte/Search/API/Sphinxql.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -275,7 +275,7 @@
 block discarded – undo
275 275
 	{
276 276
 		global $modSettings;
277 277
 
278
-		set_error_handler(static function () { /* ignore errors */ });
278
+		set_error_handler(static function() { /* ignore errors */ });
279 279
 		try
280 280
 		{
281 281
 			$mySphinx = mysqli_connect(($modSettings['sphinx_searchd_server'] === 'localhost' ? '127.0.0.1' : $modSettings['sphinx_searchd_server']), '', '', '', (int) $modSettings['sphinxql_searchd_port']);
Please login to merge, or discard this patch.
sources/ElkArte/Http/FsockFetchWebdata.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -210,7 +210,7 @@
 block discarded – undo
210 210
 		// no socket, then we need to open one to do much
211 211
 		if (!is_resource($this->_fp))
212 212
 		{
213
-			set_error_handler(static function () { /* ignore errors */ });
213
+			set_error_handler(static function() { /* ignore errors */ });
214 214
 			try
215 215
 			{
216 216
 				$this->_fp = fsockopen($this->_url['host'], $this->_url['port'], $errno, $errstr, 5);
Please login to merge, or discard this patch.
sources/ElkArte/Emoji.php 1 patch
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -163,7 +163,7 @@  discard block
 block discarded – undo
163 163
 	public function emojiFromHTML($string)
164 164
 	{
165 165
 		// If there are 4byte encoded values &#x1f123, change those back to utf8 characters
166
-		return preg_replace_callback(self::POSSIBLE_HTML_EMOJI, static function ($match) {
166
+		return preg_replace_callback(self::POSSIBLE_HTML_EMOJI, static function($match) {
167 167
 			$replace = html_entity_decode($match[0], ENT_NOQUOTES | ENT_SUBSTITUTE | ENT_HTML401, 'UTF-8');
168 168
 
169 169
 			// The Fitzpatrick Scale modifiers are not (well) supported across all graphics sets.  For now
@@ -264,7 +264,7 @@  discard block
 block discarded – undo
264 264
 			return $string;
265 265
 		}
266 266
 
267
-		$result = preg_replace_callback($this->emoji_regex, function ($match) {
267
+		$result = preg_replace_callback($this->emoji_regex, function($match) {
268 268
 			$hex_str = $this->unicodeCharacterToNumber($match[0]);
269 269
 			$found = $this->findEmojiByCode($hex_str);
270 270
 
Please login to merge, or discard this patch.
sources/ElkArte/Controller/MessageIndex.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -777,7 +777,7 @@
 block discarded – undo
777 777
 		updateTopicStats();
778 778
 		require_once(SUBSDIR . '/Messages.subs.php');
779 779
 		updateMessageStats();
780
-		updateSettings(['calendar_updated' => time(),]);
780
+		updateSettings(['calendar_updated' => time(), ]);
781 781
 
782 782
 		if (!empty($affectedBoards))
783 783
 		{
Please login to merge, or discard this patch.
themes/default/PersonalMessage.template.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -230,7 +230,7 @@
 block discarded – undo
230 230
 								</div>';
231 231
 		}
232 232
 
233
-		$has_top_border =(!empty($message['member']['signature']) && empty($options['show_no_signatures']) && $context['signature_enabled'])
233
+		$has_top_border = (!empty($message['member']['signature']) && empty($options['show_no_signatures']) && $context['signature_enabled'])
234 234
 			|| (!empty($message['member']['custom_fields']) && empty($options['show_no_signatures']) && $context['signature_enabled']);
235 235
 
236 236
 		echo '
Please login to merge, or discard this patch.
sources/ElkArte/Menu/Menu.php 1 patch
Braces   +1 added lines, -2 removed lines patch added patch discarded remove patch
@@ -607,8 +607,7 @@
 block discarded – undo
607 607
 		if ($subIdCheck === $subId
608 608
 			|| (empty($this->currentSubaction) && $sub->isDefault())
609 609
 			|| in_array($subIdCheck, $sub->getActive(), true)
610
-		)
611
-		{
610
+		) {
612 611
 			$this->currentSubaction = $subId;
613 612
 		}
614 613
 	}
Please login to merge, or discard this patch.
sources/ElkArte/Mail/Mail.php 1 patch
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -274,7 +274,7 @@
 block discarded – undo
274 274
 		global $txt;
275 275
 
276 276
 		// Try to connect to the SMTP server... if it doesn't exist, only wait three seconds.
277
-		set_error_handler(static function () { /* ignore errors */ });
277
+		set_error_handler(static function() { /* ignore errors */ });
278 278
 		try
279 279
 		{
280 280
 			$socket = fsockopen($smtp_host, $smtp_port, $errno, $errstr, 3);
Please login to merge, or discard this patch.
sources/ext/JavaScriptMinifier.php 2 patches
Spacing   +110 added lines, -111 removed lines patch added patch discarded remove patch
@@ -1205,7 +1205,7 @@  discard block
 block discarded – undo
1205 1205
 	 */
1206 1206
 	private static function ensureExpandedStates() {
1207 1207
 		// Already done?
1208
-		if ( self::$expandedStates ) {
1208
+		if (self::$expandedStates) {
1209 1209
 			return;
1210 1210
 		}
1211 1211
 		self::$expandedStates = true;
@@ -1213,12 +1213,12 @@  discard block
 block discarded – undo
1213 1213
 		// Add copies of all states (except FUNC and GENFUNC) with negative numbers.
1214 1214
 		// These negative states represent states inside generator functions. When in these states,
1215 1215
 		// TYPE_YIELD is treated as TYPE_RETURN, otherwise as TYPE_LITERAL
1216
-		foreach ( self::$model as $state => $transitions ) {
1217
-			if ( $state !== self::FUNC && $state !== self::GENFUNC ) {
1218
-				foreach ( $transitions as $tokenType => $actions ) {
1219
-					foreach ( $actions as $action => $target ) {
1220
-						if ( is_array( $target ) ) {
1221
-							foreach ( $target as $subaction => $subtarget ) {
1216
+		foreach (self::$model as $state => $transitions) {
1217
+			if ($state !== self::FUNC && $state !== self::GENFUNC) {
1218
+				foreach ($transitions as $tokenType => $actions) {
1219
+					foreach ($actions as $action => $target) {
1220
+						if (is_array($target)) {
1221
+							foreach ($target as $subaction => $subtarget) {
1222 1222
 								self::$model[-$state][$tokenType][$action][$subaction] =
1223 1223
 									$subtarget === self::FUNC || $subtarget === true || $subtarget === self::GENFUNC
1224 1224
 									? $subtarget : -$subtarget;
@@ -1237,10 +1237,10 @@  discard block
 block discarded – undo
1237 1237
 		self::$model[-self::PROPERTY_ASSIGNMENT][self::TYPE_BRACE_OPEN][self::ACTION_GOTO] = self::STATEMENT;
1238 1238
 
1239 1239
 		// Also add negative versions of states to the other arrays
1240
-		foreach ( self::$semicolon as $state => $value ) {
1240
+		foreach (self::$semicolon as $state => $value) {
1241 1241
 			self::$semicolon[-$state] = $value;
1242 1242
 		}
1243
-		foreach ( self::$divStates as $state => $value ) {
1243
+		foreach (self::$divStates as $state => $value) {
1244 1244
 			self::$divStates[-$state] = $value;
1245 1245
 		}
1246 1246
 	}
@@ -1251,8 +1251,8 @@  discard block
 block discarded – undo
1251 1251
 	 * @param string $s JavaScript code to minify
1252 1252
 	 * @return string|bool Minified code or false on failure
1253 1253
 	 */
1254
-	public static function minify( $s ) {
1255
-		return self::minifyInternal( $s );
1254
+	public static function minify($s) {
1255
+		return self::minifyInternal($s);
1256 1256
 	}
1257 1257
 
1258 1258
 	/**
@@ -1297,14 +1297,14 @@  discard block
 block discarded – undo
1297 1297
 	 * @param MappingsGenerator|null $mapGenerator
1298 1298
 	 * @return bool|string
1299 1299
 	 */
1300
-	public static function minifyInternal( $s, $mapGenerator = null ) {
1300
+	public static function minifyInternal($s, $mapGenerator = null) {
1301 1301
 		self::ensureExpandedStates();
1302 1302
 
1303 1303
 		// Here's where the minifying takes place: Loop through the input, looking for tokens
1304 1304
 		// and output them to $out, taking actions to the above defined rules when appropriate.
1305 1305
 		$out = '';
1306 1306
 		$pos = 0;
1307
-		$length = strlen( $s );
1307
+		$length = strlen($s);
1308 1308
 		$lineLength = 0;
1309 1309
 		$dotlessNum = false;
1310 1310
 		$lastDotlessNum = false;
@@ -1313,26 +1313,26 @@  discard block
 block discarded – undo
1313 1313
 		$stack = [];
1314 1314
 		$topOfStack = null; // Optimization: calling end( $stack ) repeatedly is expensive
1315 1315
 		$last = ';'; // Pretend that we have seen a semicolon yet
1316
-		while ( $pos < $length ) {
1316
+		while ($pos < $length) {
1317 1317
 			// First, skip over any whitespace and multiline comments, recording whether we
1318 1318
 			// found any newline character
1319
-			$skip = strspn( $s, " \t\n\r\xb\xc", $pos );
1320
-			if ( !$skip ) {
1319
+			$skip = strspn($s, " \t\n\r\xb\xc", $pos);
1320
+			if (!$skip) {
1321 1321
 				$ch = $s[$pos];
1322
-				if ( $ch === '/' && substr( $s, $pos, 2 ) === '/*' ) {
1322
+				if ($ch === '/' && substr($s, $pos, 2) === '/*') {
1323 1323
 					// Multiline comment. Search for the end token or EOT.
1324
-					$end = strpos( $s, '*/', $pos + 2 );
1324
+					$end = strpos($s, '*/', $pos + 2);
1325 1325
 					$skip = $end === false ? $length - $pos : $end - $pos + 2;
1326 1326
 				}
1327 1327
 			}
1328
-			if ( $skip ) {
1328
+			if ($skip) {
1329 1329
 				// The semicolon insertion mechanism needs to know whether there was a newline
1330 1330
 				// between two tokens, so record it now.
1331
-				if ( !$newlineFound && strcspn( $s, "\r\n", $pos, $skip ) !== $skip ) {
1331
+				if (!$newlineFound && strcspn($s, "\r\n", $pos, $skip) !== $skip) {
1332 1332
 					$newlineFound = true;
1333 1333
 				}
1334
-				if ( $mapGenerator ) {
1335
-					$mapGenerator->consumeSource( $skip );
1334
+				if ($mapGenerator) {
1335
+					$mapGenerator->consumeSource($skip);
1336 1336
 				}
1337 1337
 				$pos += $skip;
1338 1338
 				continue;
@@ -1341,13 +1341,13 @@  discard block
 block discarded – undo
1341 1341
 			// comments by the browser, regardless of whether the end tag is on the same line.
1342 1342
 			// Handle --> the same way, but only if it's at the beginning of the line
1343 1343
 			// @phan-suppress-next-line PhanPossiblyUndeclaredVariable
1344
-			if ( ( $ch === '/' && substr( $s, $pos, 2 ) === '//' )
1345
-				|| ( $ch === '<' && substr( $s, $pos, 4 ) === '<!--' )
1346
-				|| ( $ch === '-' && $newlineFound && substr( $s, $pos, 3 ) === '-->' )
1344
+			if (($ch === '/' && substr($s, $pos, 2) === '//')
1345
+				|| ($ch === '<' && substr($s, $pos, 4) === '<!--')
1346
+				|| ($ch === '-' && $newlineFound && substr($s, $pos, 3) === '-->')
1347 1347
 			) {
1348
-				$skip = strcspn( $s, "\r\n", $pos );
1349
-				if ( $mapGenerator ) {
1350
-					$mapGenerator->consumeSource( $skip );
1348
+				$skip = strcspn($s, "\r\n", $pos);
1349
+				if ($mapGenerator) {
1350
+					$mapGenerator->consumeSource($skip);
1351 1351
 				}
1352 1352
 				$pos += $skip;
1353 1353
 				continue;
@@ -1361,7 +1361,7 @@  discard block
 block discarded – undo
1361 1361
 			// of any next token in the stream.
1362 1362
 			$end = $pos + 1;
1363 1363
 			// Handle string literals
1364
-			if ( $ch === "'" || $ch === '"' ) {
1364
+			if ($ch === "'" || $ch === '"') {
1365 1365
 				// Search to the end of the string literal, skipping over backslash escapes
1366 1366
 				$search = $ch . '\\';
1367 1367
 				do {
@@ -1369,13 +1369,13 @@  discard block
 block discarded – undo
1369 1369
 					// the next iteration will start 2 characters further (one for the
1370 1370
 					// backslash, one for the escaped character).
1371 1371
 					// We'll correct this outside the loop.
1372
-					$end += strcspn( $s, $search, $end ) + 2;
1372
+					$end += strcspn($s, $search, $end) + 2;
1373 1373
 					// If the last character in our search for a quote or a backlash
1374 1374
 					// matched a backslash and we haven't reached the end, keep searching..
1375
-				} while ( $end - 2 < $length && $s[$end - 2] === '\\' );
1375
+				} while ($end - 2 < $length && $s[$end - 2] === '\\');
1376 1376
 				// Correction (1): Undo speculative add, keep only one (end of string literal)
1377 1377
 				$end--;
1378
-				if ( $end > $length ) {
1378
+				if ($end > $length) {
1379 1379
 					// Correction (2): Loop wrongly assumed an end quote ended the search,
1380 1380
 					// but search ended because we've reached the end. Correct $end.
1381 1381
 					// TODO: This is invalid and should throw.
@@ -1384,33 +1384,33 @@  discard block
 block discarded – undo
1384 1384
 
1385 1385
 			// Handle template strings, either from "`" to begin a new string,
1386 1386
 			// or continuation after the "}" that ends a "${"-expression.
1387
-			} elseif ( $ch === '`' || ( $ch === '}' && $topOfStack === self::TEMPLATE_STRING_TAIL ) ) {
1388
-				if ( $ch === '}' ) {
1387
+			} elseif ($ch === '`' || ($ch === '}' && $topOfStack === self::TEMPLATE_STRING_TAIL)) {
1388
+				if ($ch === '}') {
1389 1389
 					// Pop the TEMPLATE_STRING_TAIL state off the stack
1390 1390
 					// We don't let it get popped off the stack the normal way, to avoid the newline
1391 1391
 					// and comment stripping code above running on the continuation of the literal
1392
-					array_pop( $stack );
1392
+					array_pop($stack);
1393 1393
 					// Also pop the previous state off the stack
1394
-					$state = array_pop( $stack );
1395
-					$topOfStack = end( $stack );
1394
+					$state = array_pop($stack);
1395
+					$topOfStack = end($stack);
1396 1396
 				}
1397 1397
 				// Search until we reach either a closing ` or a ${, skipping over backslash escapes
1398 1398
 				// and $ characters followed by something other than { or `
1399 1399
 				do {
1400
-					$end += strcspn( $s, '`$\\', $end ) + 1;
1401
-					if ( $end - 1 < $length && $s[$end - 1] === '`' ) {
1400
+					$end += strcspn($s, '`$\\', $end) + 1;
1401
+					if ($end - 1 < $length && $s[$end - 1] === '`') {
1402 1402
 						// End of the string, stop
1403 1403
 						// We don't do this in the while() condition because the $end++ in the
1404 1404
 						// backslash escape branch makes it difficult to do so without incorrectly
1405 1405
 						// considering an escaped backtick (\`) the end of the string
1406 1406
 						break;
1407 1407
 					}
1408
-					if ( $end - 1 < $length && $s[$end - 1] === '\\' ) {
1408
+					if ($end - 1 < $length && $s[$end - 1] === '\\') {
1409 1409
 						// Backslash escape. Skip the next character, and keep going
1410 1410
 						$end++;
1411 1411
 						continue;
1412 1412
 					}
1413
-					if ( $end < $length && $s[$end - 1] === '$' && $s[$end] === '{' ) {
1413
+					if ($end < $length && $s[$end - 1] === '$' && $s[$end] === '{') {
1414 1414
 						// Beginning of an expression in ${ ... }. Skip the {, and stop
1415 1415
 						$end++;
1416 1416
 						// Push the current state to the stack. We'll pop this off later when hitting
@@ -1423,8 +1423,8 @@  discard block
 block discarded – undo
1423 1423
 						$state = self::TEMPLATE_STRING_HEAD;
1424 1424
 						break;
1425 1425
 					}
1426
-				} while ( $end - 1 < $length );
1427
-				if ( $end > $length ) {
1426
+				} while ($end - 1 < $length);
1427
+				if ($end > $length) {
1428 1428
 					// Loop wrongly assumed an end quote or ${ ended the search,
1429 1429
 					// but search ended because we've reached the end. Correct $end.
1430 1430
 					// TODO: This is invalid and should throw.
@@ -1433,28 +1433,28 @@  discard block
 block discarded – undo
1433 1433
 
1434 1434
 			// We have to distinguish between regexp literals and division operators
1435 1435
 			// A division operator is only possible in certain states
1436
-			} elseif ( $ch === '/' && !isset( self::$divStates[$state] ) ) {
1436
+			} elseif ($ch === '/' && !isset(self::$divStates[$state])) {
1437 1437
 				// Regexp literal
1438
-				for ( ; ; ) {
1438
+				for (;;) {
1439 1439
 					// Search until we find "/" (end of regexp), "\" (backslash escapes),
1440 1440
 					// or "[" (start of character classes).
1441 1441
 					do {
1442 1442
 						// Speculatively add 2 to ensure next iteration skips
1443 1443
 						// over backslash and escaped character.
1444 1444
 						// We'll correct this outside the loop.
1445
-						$end += strcspn( $s, '/[\\', $end ) + 2;
1445
+						$end += strcspn($s, '/[\\', $end) + 2;
1446 1446
 						// If backslash escape, keep searching...
1447
-					} while ( $end - 2 < $length && $s[$end - 2] === '\\' );
1447
+					} while ($end - 2 < $length && $s[$end - 2] === '\\');
1448 1448
 					// Correction (1): Undo speculative add, keep only one (end of regexp)
1449 1449
 					$end--;
1450
-					if ( $end > $length ) {
1450
+					if ($end > $length) {
1451 1451
 						// Correction (2): Loop wrongly assumed end slash was seen
1452 1452
 						// String ended without end of regexp. Correct $end.
1453 1453
 						// TODO: This is invalid and should throw.
1454 1454
 						$end--;
1455 1455
 						break;
1456 1456
 					}
1457
-					if ( $s[$end - 1] === '/' ) {
1457
+					if ($s[$end - 1] === '/') {
1458 1458
 						break;
1459 1459
 					}
1460 1460
 					// (Implicit else), we must've found the start of a char class,
@@ -1462,12 +1462,12 @@  discard block
 block discarded – undo
1462 1462
 					do {
1463 1463
 						// Speculatively add 2 for backslash escape.
1464 1464
 						// We'll substract one outside the loop.
1465
-						$end += strcspn( $s, ']\\', $end ) + 2;
1465
+						$end += strcspn($s, ']\\', $end) + 2;
1466 1466
 						// If backslash escape, keep searching...
1467
-					} while ( $end - 2 < $length && $s[$end - 2] === '\\' );
1467
+					} while ($end - 2 < $length && $s[$end - 2] === '\\');
1468 1468
 					// Correction (1): Undo speculative add, keep only one (end of regexp)
1469 1469
 					$end--;
1470
-					if ( $end > $length ) {
1470
+					if ($end > $length) {
1471 1471
 						// Correction (2): Loop wrongly assumed "]" was seen
1472 1472
 						// String ended without ending char class or regexp. Correct $end.
1473 1473
 						// TODO: This is invalid and should throw.
@@ -1476,21 +1476,21 @@  discard block
 block discarded – undo
1476 1476
 					}
1477 1477
 				}
1478 1478
 				// Search past the regexp modifiers (gi)
1479
-				while ( $end < $length && ctype_alpha( $s[$end] ) ) {
1479
+				while ($end < $length && ctype_alpha($s[$end])) {
1480 1480
 					$end++;
1481 1481
 				}
1482 1482
 			} elseif (
1483 1483
 				$ch === '0'
1484
-				&& ( $pos + 1 < $length ) && ( $s[$pos + 1] === 'x' || $s[$pos + 1] === 'X' )
1484
+				&& ($pos + 1 < $length) && ($s[$pos + 1] === 'x' || $s[$pos + 1] === 'X')
1485 1485
 			) {
1486 1486
 				// Hex numeric literal
1487 1487
 				$end++; // x or X
1488
-				$len = strspn( $s, '0123456789ABCDEFabcdef', $end );
1489
-				if ( !$len ) {
1488
+				$len = strspn($s, '0123456789ABCDEFabcdef', $end);
1489
+				if (!$len) {
1490 1490
 					return self::parseError(
1491 1491
 						$s,
1492 1492
 						$pos,
1493
-						'Expected a hexadecimal number but found ' . substr( $s, $pos, 5 ) . '...'
1493
+						'Expected a hexadecimal number but found ' . substr($s, $pos, 5) . '...'
1494 1494
 					);
1495 1495
 				}
1496 1496
 				$end += $len;
@@ -1501,30 +1501,30 @@  discard block
 block discarded – undo
1501 1501
 				// numbers, and exponents (e.g. strings like "+012.34e6"). But, it is fine here
1502 1502
 				// because we know $ch is a single character, and we believe the only single
1503 1503
 				// characters that is_numeric() accepts are ASCII digits 0-9.
1504
-				is_numeric( $ch )
1505
-				|| ( $ch === '.' && $pos + 1 < $length && is_numeric( $s[$pos + 1] ) )
1504
+				is_numeric($ch)
1505
+				|| ($ch === '.' && $pos + 1 < $length && is_numeric($s[$pos + 1]))
1506 1506
 			) {
1507
-				$end += strspn( $s, '0123456789', $end );
1508
-				$decimal = strspn( $s, '.', $end );
1509
-				if ( $decimal ) {
1510
-					if ( $decimal > 2 ) {
1511
-						return self::parseError( $s, $end, 'The number has too many decimal points' );
1507
+				$end += strspn($s, '0123456789', $end);
1508
+				$decimal = strspn($s, '.', $end);
1509
+				if ($decimal) {
1510
+					if ($decimal > 2) {
1511
+						return self::parseError($s, $end, 'The number has too many decimal points');
1512 1512
 					}
1513
-					$end += strspn( $s, '0123456789', $end + 1 ) + $decimal;
1513
+					$end += strspn($s, '0123456789', $end + 1) + $decimal;
1514 1514
 				} else {
1515 1515
 					$dotlessNum = true;
1516 1516
 				}
1517
-				$exponent = strspn( $s, 'eE', $end );
1518
-				if ( $exponent ) {
1519
-					if ( $exponent > 1 ) {
1520
-						return self::parseError( $s, $end, 'Number with several E' );
1517
+				$exponent = strspn($s, 'eE', $end);
1518
+				if ($exponent) {
1519
+					if ($exponent > 1) {
1520
+						return self::parseError($s, $end, 'Number with several E');
1521 1521
 					}
1522 1522
 					$end++;
1523 1523
 
1524 1524
 					// + sign is optional; - sign is required.
1525
-					$end += strspn( $s, '-+', $end );
1526
-					$len = strspn( $s, '0123456789', $end );
1527
-					if ( !$len ) {
1525
+					$end += strspn($s, '-+', $end);
1526
+					$len = strspn($s, '0123456789', $end);
1527
+					if (!$len) {
1528 1528
 						return self::parseError(
1529 1529
 							$s,
1530 1530
 							$pos,
@@ -1533,12 +1533,12 @@  discard block
 block discarded – undo
1533 1533
 					}
1534 1534
 					$end += $len;
1535 1535
 				}
1536
-			} elseif ( isset( self::$opChars[$ch] ) ) {
1536
+			} elseif (isset(self::$opChars[$ch])) {
1537 1537
 				// Punctuation character. Search for the longest matching operator.
1538
-				for ( $tokenLength = self::LONGEST_PUNCTUATION_TOKEN; $tokenLength > 1; $tokenLength-- ) {
1538
+				for ($tokenLength = self::LONGEST_PUNCTUATION_TOKEN; $tokenLength > 1; $tokenLength--) {
1539 1539
 					if (
1540 1540
 						$pos + $tokenLength <= $length &&
1541
-						isset( self::$tokenTypes[ substr( $s, $pos, $tokenLength ) ] )
1541
+						isset(self::$tokenTypes[substr($s, $pos, $tokenLength)])
1542 1542
 					) {
1543 1543
 						$end = $pos + $tokenLength;
1544 1544
 						break;
@@ -1547,29 +1547,29 @@  discard block
 block discarded – undo
1547 1547
 			} else {
1548 1548
 				// Identifier or reserved word. Search for the end by excluding whitespace and
1549 1549
 				// punctuation.
1550
-				$end += strcspn( $s, " \t\n.;,=<>+-{}()[]?:*/%'\"`!&|^~\xb\xc\r", $end );
1550
+				$end += strcspn($s, " \t\n.;,=<>+-{}()[]?:*/%'\"`!&|^~\xb\xc\r", $end);
1551 1551
 			}
1552 1552
 
1553 1553
 			// Now get the token type from our type array
1554
-			$token = substr( $s, $pos, $end - $pos ); // so $end - $pos == strlen( $token )
1555
-			$type = isset( self::$model[$state][self::TYPE_SPECIAL][$token] )
1554
+			$token = substr($s, $pos, $end - $pos); // so $end - $pos == strlen( $token )
1555
+			$type = isset(self::$model[$state][self::TYPE_SPECIAL][$token])
1556 1556
 				? self::TYPE_SPECIAL
1557 1557
 				: self::$tokenTypes[$token] ?? self::TYPE_LITERAL;
1558
-			if ( $type === self::TYPE_YIELD ) {
1558
+			if ($type === self::TYPE_YIELD) {
1559 1559
 				// yield is treated as TYPE_RETURN inside a generator function (negative state)
1560 1560
 				// but as TYPE_LITERAL when not in a generator function (positive state)
1561 1561
 				$type = $state < 0 ? self::TYPE_RETURN : self::TYPE_LITERAL;
1562 1562
 			}
1563 1563
 
1564 1564
 			$pad = '';
1565
-			if ( $newlineFound && isset( self::$semicolon[$state][$type] ) ) {
1565
+			if ($newlineFound && isset(self::$semicolon[$state][$type])) {
1566 1566
 				// This token triggers the semicolon insertion mechanism of javascript. While we
1567 1567
 				// could add the ; token here ourselves, keeping the newline has a few advantages.
1568 1568
 				$pad = "\n";
1569 1569
 				$state = $state < 0 ? -self::STATEMENT : self::STATEMENT;
1570 1570
 				$lineLength = 0;
1571
-			} elseif ( $lineLength + $end - $pos > self::$maxLineLength &&
1572
-				!isset( self::$semicolon[$state][$type] ) &&
1571
+			} elseif ($lineLength + $end - $pos > self::$maxLineLength &&
1572
+				!isset(self::$semicolon[$state][$type]) &&
1573 1573
 				$type !== self::TYPE_INCR_OP &&
1574 1574
 				$type !== self::TYPE_ARROW
1575 1575
 			) {
@@ -1580,27 +1580,27 @@  discard block
 block discarded – undo
1580 1580
 				$pad = "\n";
1581 1581
 				$lineLength = 0;
1582 1582
 			// Check, whether we have to separate the token from the last one with whitespace
1583
-			} elseif ( !isset( self::$opChars[$last] ) && !isset( self::$opChars[$ch] ) ) {
1583
+			} elseif (!isset(self::$opChars[$last]) && !isset(self::$opChars[$ch])) {
1584 1584
 				$pad = ' ';
1585 1585
 				$lineLength++;
1586 1586
 			// Don't accidentally create ++, -- or // tokens
1587
-			} elseif ( $last === $ch && ( $ch === '+' || $ch === '-' || $ch === '/' ) ) {
1587
+			} elseif ($last === $ch && ($ch === '+' || $ch === '-' || $ch === '/')) {
1588 1588
 				$pad = ' ';
1589 1589
 				$lineLength++;
1590 1590
 			// Don't create invalid dot notation after number literal (T303827).
1591 1591
 			// Keep whitespace in "42. foo".
1592 1592
 			// But keep minifying "foo.bar", "42..foo", and "42.0.foo" per $opChars.
1593
-			} elseif ( $lastDotlessNum && $type === self::TYPE_DOT ) {
1593
+			} elseif ($lastDotlessNum && $type === self::TYPE_DOT) {
1594 1594
 				$pad = ' ';
1595 1595
 				$lineLength++;
1596 1596
 			}
1597 1597
 
1598 1598
 			// self::debug( $topOfStack, $last, $lastType, $state, $ch, $token, $type, );
1599 1599
 
1600
-			if ( $mapGenerator ) {
1601
-				$mapGenerator->outputSpace( $pad );
1602
-				$mapGenerator->outputToken( $token );
1603
-				$mapGenerator->consumeSource( $end - $pos );
1600
+			if ($mapGenerator) {
1601
+				$mapGenerator->outputSpace($pad);
1602
+				$mapGenerator->outputToken($token);
1603
+				$mapGenerator->consumeSource($end - $pos);
1604 1604
 			}
1605 1605
 			$out .= $pad;
1606 1606
 			$out .= $token;
@@ -1613,18 +1613,17 @@  discard block
 block discarded – undo
1613 1613
 
1614 1614
 			// Now that we have output our token, transition into the new state.
1615 1615
 			$actions = $type === self::TYPE_SPECIAL ?
1616
-				self::$model[$state][$type][$token] :
1617
-				self::$model[$state][$type] ?? [];
1618
-			if ( isset( $actions[self::ACTION_PUSH] ) &&
1619
-				count( $stack ) < self::STACK_LIMIT
1616
+				self::$model[$state][$type][$token] : self::$model[$state][$type] ?? [];
1617
+			if (isset($actions[self::ACTION_PUSH]) &&
1618
+				count($stack) < self::STACK_LIMIT
1620 1619
 			) {
1621 1620
 				$topOfStack = $actions[self::ACTION_PUSH];
1622 1621
 				$stack[] = $topOfStack;
1623 1622
 			}
1624
-			if ( $stack && isset( $actions[self::ACTION_POP] ) ) {
1625
-				$state = array_pop( $stack );
1626
-				$topOfStack = end( $stack );
1627
-			} elseif ( isset( $actions[self::ACTION_GOTO] ) ) {
1623
+			if ($stack && isset($actions[self::ACTION_POP])) {
1624
+				$state = array_pop($stack);
1625
+				$topOfStack = end($stack);
1626
+			} elseif (isset($actions[self::ACTION_GOTO])) {
1628 1627
 				$state = $actions[self::ACTION_GOTO];
1629 1628
 			}
1630 1629
 		}
@@ -1637,7 +1636,7 @@  discard block
 block discarded – undo
1637 1636
 	 * @param string $errorMsg
1638 1637
 	 * @return bool
1639 1638
 	 */
1640
-	public static function parseError( $fullJavascript, $position, $errorMsg ) {
1639
+	public static function parseError($fullJavascript, $position, $errorMsg) {
1641 1640
 		// TODO: Handle the error: trigger_error, throw exception, return false...
1642 1641
 		return false;
1643 1642
 	}
@@ -1656,32 +1655,32 @@  discard block
 block discarded – undo
1656 1655
 		int $state, string $ch, string $token, int $type
1657 1656
 	) {
1658 1657
 		static $first = true;
1659
-		$self = new \ReflectionClass( self::class );
1658
+		$self = new \ReflectionClass(self::class);
1660 1659
 		$constants = $self->getConstants();
1661 1660
 
1662
-		foreach ( $self->getConstants() as $name => $value ) {
1663
-			if ( $value === $top ) {
1661
+		foreach ($self->getConstants() as $name => $value) {
1662
+			if ($value === $top) {
1664 1663
 				$top = $name;
1665 1664
 			}
1666
-			if ( $value === $lastType ) {
1665
+			if ($value === $lastType) {
1667 1666
 				$lastType = $name;
1668 1667
 			}
1669
-			if ( $value === $state ) {
1668
+			if ($value === $state) {
1670 1669
 				$state = $name;
1671 1670
 			}
1672
-			if ( $value === $type ) {
1671
+			if ($value === $type) {
1673 1672
 				$type = $name;
1674 1673
 			}
1675 1674
 		}
1676 1675
 
1677
-		if ( $first ) {
1678
-			print sprintf( "| %-29s | %-4s | %-29s | %-29s | %-2s | %-10s | %-29s\n",
1679
-				'topOfStack', 'last', 'lastType', 'state', 'ch', 'token', 'type' );
1680
-			print sprintf( "| %'-29s | %'-4s | %'-29s | %'-29s | %'-2s | %'-10s | %'-29s\n",
1681
-				'', '', '', '', '', '', '' );
1676
+		if ($first) {
1677
+			print sprintf("| %-29s | %-4s | %-29s | %-29s | %-2s | %-10s | %-29s\n",
1678
+				'topOfStack', 'last', 'lastType', 'state', 'ch', 'token', 'type');
1679
+			print sprintf("| %'-29s | %'-4s | %'-29s | %'-29s | %'-2s | %'-10s | %'-29s\n",
1680
+				'', '', '', '', '', '', '');
1682 1681
 			$first = false;
1683 1682
 		}
1684
-		print sprintf( "| %-29s | %-4s | %-29s | %-29s | %-2s | %-10s | %-29s\n",
1685
-			(string)$top, $last, $lastType, $state, $ch, $token, $type );
1683
+		print sprintf("| %-29s | %-4s | %-29s | %-29s | %-2s | %-10s | %-29s\n",
1684
+			(string) $top, $last, $lastType, $state, $ch, $token, $type);
1686 1685
 	}
1687 1686
 }
Please login to merge, or discard this patch.
Braces   +148 added lines, -69 removed lines patch added patch discarded remove patch
@@ -44,7 +44,8 @@  discard block
 block discarded – undo
44 44
  * - <https://262.ecma-international.org/7.0/>
45 45
  * - <https://262.ecma-international.org/6.0/>
46 46
  */
47
-class JavaScriptMinifier {
47
+class JavaScriptMinifier
48
+{
48 49
 
49 50
 	/* Parsing states.
50 51
 	 * The state machine is necessary to decide whether to parse a slash as division
@@ -1203,9 +1204,11 @@  discard block
 block discarded – undo
1203 1204
 	 * Add copies of all states but with negative numbers to self::$model (if not already present),
1204 1205
 	 * to represent generator function states.
1205 1206
 	 */
1206
-	private static function ensureExpandedStates() {
1207
+	private static function ensureExpandedStates()
1208
+	{
1207 1209
 		// Already done?
1208
-		if ( self::$expandedStates ) {
1210
+		if ( self::$expandedStates )
1211
+		{
1209 1212
 			return;
1210 1213
 		}
1211 1214
 		self::$expandedStates = true;
@@ -1213,17 +1216,25 @@  discard block
 block discarded – undo
1213 1216
 		// Add copies of all states (except FUNC and GENFUNC) with negative numbers.
1214 1217
 		// These negative states represent states inside generator functions. When in these states,
1215 1218
 		// TYPE_YIELD is treated as TYPE_RETURN, otherwise as TYPE_LITERAL
1216
-		foreach ( self::$model as $state => $transitions ) {
1217
-			if ( $state !== self::FUNC && $state !== self::GENFUNC ) {
1218
-				foreach ( $transitions as $tokenType => $actions ) {
1219
-					foreach ( $actions as $action => $target ) {
1220
-						if ( is_array( $target ) ) {
1221
-							foreach ( $target as $subaction => $subtarget ) {
1219
+		foreach ( self::$model as $state => $transitions )
1220
+		{
1221
+			if ( $state !== self::FUNC && $state !== self::GENFUNC )
1222
+			{
1223
+				foreach ( $transitions as $tokenType => $actions )
1224
+				{
1225
+					foreach ( $actions as $action => $target )
1226
+					{
1227
+						if ( is_array( $target ) )
1228
+						{
1229
+							foreach ( $target as $subaction => $subtarget )
1230
+							{
1222 1231
 								self::$model[-$state][$tokenType][$action][$subaction] =
1223 1232
 									$subtarget === self::FUNC || $subtarget === true || $subtarget === self::GENFUNC
1224 1233
 									? $subtarget : -$subtarget;
1225 1234
 							}
1226
-						} else {
1235
+						}
1236
+						else
1237
+						{
1227 1238
 							self::$model[-$state][$tokenType][$action] =
1228 1239
 								$target === self::FUNC || $target === true || $target === self::GENFUNC
1229 1240
 								? $target : -$target;
@@ -1237,10 +1248,12 @@  discard block
 block discarded – undo
1237 1248
 		self::$model[-self::PROPERTY_ASSIGNMENT][self::TYPE_BRACE_OPEN][self::ACTION_GOTO] = self::STATEMENT;
1238 1249
 
1239 1250
 		// Also add negative versions of states to the other arrays
1240
-		foreach ( self::$semicolon as $state => $value ) {
1251
+		foreach ( self::$semicolon as $state => $value )
1252
+		{
1241 1253
 			self::$semicolon[-$state] = $value;
1242 1254
 		}
1243
-		foreach ( self::$divStates as $state => $value ) {
1255
+		foreach ( self::$divStates as $state => $value )
1256
+		{
1244 1257
 			self::$divStates[-$state] = $value;
1245 1258
 		}
1246 1259
 	}
@@ -1251,7 +1264,8 @@  discard block
 block discarded – undo
1251 1264
 	 * @param string $s JavaScript code to minify
1252 1265
 	 * @return string|bool Minified code or false on failure
1253 1266
 	 */
1254
-	public static function minify( $s ) {
1267
+	public static function minify( $s )
1268
+	{
1255 1269
 		return self::minifyInternal( $s );
1256 1270
 	}
1257 1271
 
@@ -1266,7 +1280,8 @@  discard block
 block discarded – undo
1266 1280
 	 *
1267 1281
 	 * @return JavaScriptMinifierState
1268 1282
 	 */
1269
-	public static function createMinifier() {
1283
+	public static function createMinifier()
1284
+	{
1270 1285
 		return new JavaScriptMinifierState;
1271 1286
 	}
1272 1287
 
@@ -1284,7 +1299,8 @@  discard block
 block discarded – undo
1284 1299
 	 *
1285 1300
 	 * @return JavaScriptMapperState
1286 1301
 	 */
1287
-	public static function createSourceMapState() {
1302
+	public static function createSourceMapState()
1303
+	{
1288 1304
 		return new JavaScriptMapperState;
1289 1305
 	}
1290 1306
 
@@ -1297,7 +1313,8 @@  discard block
 block discarded – undo
1297 1313
 	 * @param MappingsGenerator|null $mapGenerator
1298 1314
 	 * @return bool|string
1299 1315
 	 */
1300
-	public static function minifyInternal( $s, $mapGenerator = null ) {
1316
+	public static function minifyInternal( $s, $mapGenerator = null )
1317
+	{
1301 1318
 		self::ensureExpandedStates();
1302 1319
 
1303 1320
 		// Here's where the minifying takes place: Loop through the input, looking for tokens
@@ -1313,25 +1330,31 @@  discard block
 block discarded – undo
1313 1330
 		$stack = [];
1314 1331
 		$topOfStack = null; // Optimization: calling end( $stack ) repeatedly is expensive
1315 1332
 		$last = ';'; // Pretend that we have seen a semicolon yet
1316
-		while ( $pos < $length ) {
1333
+		while ( $pos < $length )
1334
+		{
1317 1335
 			// First, skip over any whitespace and multiline comments, recording whether we
1318 1336
 			// found any newline character
1319 1337
 			$skip = strspn( $s, " \t\n\r\xb\xc", $pos );
1320
-			if ( !$skip ) {
1338
+			if ( !$skip )
1339
+			{
1321 1340
 				$ch = $s[$pos];
1322
-				if ( $ch === '/' && substr( $s, $pos, 2 ) === '/*' ) {
1341
+				if ( $ch === '/' && substr( $s, $pos, 2 ) === '/*' )
1342
+				{
1323 1343
 					// Multiline comment. Search for the end token or EOT.
1324 1344
 					$end = strpos( $s, '*/', $pos + 2 );
1325 1345
 					$skip = $end === false ? $length - $pos : $end - $pos + 2;
1326 1346
 				}
1327 1347
 			}
1328
-			if ( $skip ) {
1348
+			if ( $skip )
1349
+			{
1329 1350
 				// The semicolon insertion mechanism needs to know whether there was a newline
1330 1351
 				// between two tokens, so record it now.
1331
-				if ( !$newlineFound && strcspn( $s, "\r\n", $pos, $skip ) !== $skip ) {
1352
+				if ( !$newlineFound && strcspn( $s, "\r\n", $pos, $skip ) !== $skip )
1353
+				{
1332 1354
 					$newlineFound = true;
1333 1355
 				}
1334
-				if ( $mapGenerator ) {
1356
+				if ( $mapGenerator )
1357
+				{
1335 1358
 					$mapGenerator->consumeSource( $skip );
1336 1359
 				}
1337 1360
 				$pos += $skip;
@@ -1346,7 +1369,8 @@  discard block
 block discarded – undo
1346 1369
 				|| ( $ch === '-' && $newlineFound && substr( $s, $pos, 3 ) === '-->' )
1347 1370
 			) {
1348 1371
 				$skip = strcspn( $s, "\r\n", $pos );
1349
-				if ( $mapGenerator ) {
1372
+				if ( $mapGenerator )
1373
+				{
1350 1374
 					$mapGenerator->consumeSource( $skip );
1351 1375
 				}
1352 1376
 				$pos += $skip;
@@ -1361,10 +1385,12 @@  discard block
 block discarded – undo
1361 1385
 			// of any next token in the stream.
1362 1386
 			$end = $pos + 1;
1363 1387
 			// Handle string literals
1364
-			if ( $ch === "'" || $ch === '"' ) {
1388
+			if ( $ch === "'" || $ch === '"' )
1389
+			{
1365 1390
 				// Search to the end of the string literal, skipping over backslash escapes
1366 1391
 				$search = $ch . '\\';
1367
-				do {
1392
+				do
1393
+				{
1368 1394
 					// Speculatively add 2 to the end so that if we see a backslash,
1369 1395
 					// the next iteration will start 2 characters further (one for the
1370 1396
 					// backslash, one for the escaped character).
@@ -1375,7 +1401,8 @@  discard block
 block discarded – undo
1375 1401
 				} while ( $end - 2 < $length && $s[$end - 2] === '\\' );
1376 1402
 				// Correction (1): Undo speculative add, keep only one (end of string literal)
1377 1403
 				$end--;
1378
-				if ( $end > $length ) {
1404
+				if ( $end > $length )
1405
+				{
1379 1406
 					// Correction (2): Loop wrongly assumed an end quote ended the search,
1380 1407
 					// but search ended because we've reached the end. Correct $end.
1381 1408
 					// TODO: This is invalid and should throw.
@@ -1384,8 +1411,11 @@  discard block
 block discarded – undo
1384 1411
 
1385 1412
 			// Handle template strings, either from "`" to begin a new string,
1386 1413
 			// or continuation after the "}" that ends a "${"-expression.
1387
-			} elseif ( $ch === '`' || ( $ch === '}' && $topOfStack === self::TEMPLATE_STRING_TAIL ) ) {
1388
-				if ( $ch === '}' ) {
1414
+			}
1415
+			elseif ( $ch === '`' || ( $ch === '}' && $topOfStack === self::TEMPLATE_STRING_TAIL ) )
1416
+			{
1417
+				if ( $ch === '}' )
1418
+				{
1389 1419
 					// Pop the TEMPLATE_STRING_TAIL state off the stack
1390 1420
 					// We don't let it get popped off the stack the normal way, to avoid the newline
1391 1421
 					// and comment stripping code above running on the continuation of the literal
@@ -1396,21 +1426,25 @@  discard block
 block discarded – undo
1396 1426
 				}
1397 1427
 				// Search until we reach either a closing ` or a ${, skipping over backslash escapes
1398 1428
 				// and $ characters followed by something other than { or `
1399
-				do {
1429
+				do
1430
+				{
1400 1431
 					$end += strcspn( $s, '`$\\', $end ) + 1;
1401
-					if ( $end - 1 < $length && $s[$end - 1] === '`' ) {
1432
+					if ( $end - 1 < $length && $s[$end - 1] === '`' )
1433
+					{
1402 1434
 						// End of the string, stop
1403 1435
 						// We don't do this in the while() condition because the $end++ in the
1404 1436
 						// backslash escape branch makes it difficult to do so without incorrectly
1405 1437
 						// considering an escaped backtick (\`) the end of the string
1406 1438
 						break;
1407 1439
 					}
1408
-					if ( $end - 1 < $length && $s[$end - 1] === '\\' ) {
1440
+					if ( $end - 1 < $length && $s[$end - 1] === '\\' )
1441
+					{
1409 1442
 						// Backslash escape. Skip the next character, and keep going
1410 1443
 						$end++;
1411 1444
 						continue;
1412 1445
 					}
1413
-					if ( $end < $length && $s[$end - 1] === '$' && $s[$end] === '{' ) {
1446
+					if ( $end < $length && $s[$end - 1] === '$' && $s[$end] === '{' )
1447
+					{
1414 1448
 						// Beginning of an expression in ${ ... }. Skip the {, and stop
1415 1449
 						$end++;
1416 1450
 						// Push the current state to the stack. We'll pop this off later when hitting
@@ -1424,7 +1458,8 @@  discard block
 block discarded – undo
1424 1458
 						break;
1425 1459
 					}
1426 1460
 				} while ( $end - 1 < $length );
1427
-				if ( $end > $length ) {
1461
+				if ( $end > $length )
1462
+				{
1428 1463
 					// Loop wrongly assumed an end quote or ${ ended the search,
1429 1464
 					// but search ended because we've reached the end. Correct $end.
1430 1465
 					// TODO: This is invalid and should throw.
@@ -1433,12 +1468,16 @@  discard block
 block discarded – undo
1433 1468
 
1434 1469
 			// We have to distinguish between regexp literals and division operators
1435 1470
 			// A division operator is only possible in certain states
1436
-			} elseif ( $ch === '/' && !isset( self::$divStates[$state] ) ) {
1471
+			}
1472
+			elseif ( $ch === '/' && !isset( self::$divStates[$state] ) )
1473
+			{
1437 1474
 				// Regexp literal
1438
-				for ( ; ; ) {
1475
+				for ( ; ; )
1476
+				{
1439 1477
 					// Search until we find "/" (end of regexp), "\" (backslash escapes),
1440 1478
 					// or "[" (start of character classes).
1441
-					do {
1479
+					do
1480
+					{
1442 1481
 						// Speculatively add 2 to ensure next iteration skips
1443 1482
 						// over backslash and escaped character.
1444 1483
 						// We'll correct this outside the loop.
@@ -1447,19 +1486,22 @@  discard block
 block discarded – undo
1447 1486
 					} while ( $end - 2 < $length && $s[$end - 2] === '\\' );
1448 1487
 					// Correction (1): Undo speculative add, keep only one (end of regexp)
1449 1488
 					$end--;
1450
-					if ( $end > $length ) {
1489
+					if ( $end > $length )
1490
+					{
1451 1491
 						// Correction (2): Loop wrongly assumed end slash was seen
1452 1492
 						// String ended without end of regexp. Correct $end.
1453 1493
 						// TODO: This is invalid and should throw.
1454 1494
 						$end--;
1455 1495
 						break;
1456 1496
 					}
1457
-					if ( $s[$end - 1] === '/' ) {
1497
+					if ( $s[$end - 1] === '/' )
1498
+					{
1458 1499
 						break;
1459 1500
 					}
1460 1501
 					// (Implicit else), we must've found the start of a char class,
1461 1502
 					// skip until we find "]" (end of char class), or "\" (backslash escape)
1462
-					do {
1503
+					do
1504
+					{
1463 1505
 						// Speculatively add 2 for backslash escape.
1464 1506
 						// We'll substract one outside the loop.
1465 1507
 						$end += strcspn( $s, ']\\', $end ) + 2;
@@ -1467,7 +1509,8 @@  discard block
 block discarded – undo
1467 1509
 					} while ( $end - 2 < $length && $s[$end - 2] === '\\' );
1468 1510
 					// Correction (1): Undo speculative add, keep only one (end of regexp)
1469 1511
 					$end--;
1470
-					if ( $end > $length ) {
1512
+					if ( $end > $length )
1513
+					{
1471 1514
 						// Correction (2): Loop wrongly assumed "]" was seen
1472 1515
 						// String ended without ending char class or regexp. Correct $end.
1473 1516
 						// TODO: This is invalid and should throw.
@@ -1476,17 +1519,20 @@  discard block
 block discarded – undo
1476 1519
 					}
1477 1520
 				}
1478 1521
 				// Search past the regexp modifiers (gi)
1479
-				while ( $end < $length && ctype_alpha( $s[$end] ) ) {
1522
+				while ( $end < $length && ctype_alpha( $s[$end] ) )
1523
+				{
1480 1524
 					$end++;
1481 1525
 				}
1482
-			} elseif (
1526
+			}
1527
+			elseif (
1483 1528
 				$ch === '0'
1484 1529
 				&& ( $pos + 1 < $length ) && ( $s[$pos + 1] === 'x' || $s[$pos + 1] === 'X' )
1485 1530
 			) {
1486 1531
 				// Hex numeric literal
1487 1532
 				$end++; // x or X
1488 1533
 				$len = strspn( $s, '0123456789ABCDEFabcdef', $end );
1489
-				if ( !$len ) {
1534
+				if ( !$len )
1535
+				{
1490 1536
 					return self::parseError(
1491 1537
 						$s,
1492 1538
 						$pos,
@@ -1494,7 +1540,8 @@  discard block
 block discarded – undo
1494 1540
 					);
1495 1541
 				}
1496 1542
 				$end += $len;
1497
-			} elseif (
1543
+			}
1544
+			elseif (
1498 1545
 				// Optimisation: This check must accept only ASCII digits 0-9.
1499 1546
 				// Avoid ctype_digit() because it is slower and also accepts locale-specific digits.
1500 1547
 				// Using is_numeric() might seem wrong also as it accepts negative numbers, decimal
@@ -1506,17 +1553,23 @@  discard block
 block discarded – undo
1506 1553
 			) {
1507 1554
 				$end += strspn( $s, '0123456789', $end );
1508 1555
 				$decimal = strspn( $s, '.', $end );
1509
-				if ( $decimal ) {
1510
-					if ( $decimal > 2 ) {
1556
+				if ( $decimal )
1557
+				{
1558
+					if ( $decimal > 2 )
1559
+					{
1511 1560
 						return self::parseError( $s, $end, 'The number has too many decimal points' );
1512 1561
 					}
1513 1562
 					$end += strspn( $s, '0123456789', $end + 1 ) + $decimal;
1514
-				} else {
1563
+				}
1564
+				else
1565
+				{
1515 1566
 					$dotlessNum = true;
1516 1567
 				}
1517 1568
 				$exponent = strspn( $s, 'eE', $end );
1518
-				if ( $exponent ) {
1519
-					if ( $exponent > 1 ) {
1569
+				if ( $exponent )
1570
+				{
1571
+					if ( $exponent > 1 )
1572
+					{
1520 1573
 						return self::parseError( $s, $end, 'Number with several E' );
1521 1574
 					}
1522 1575
 					$end++;
@@ -1524,7 +1577,8 @@  discard block
 block discarded – undo
1524 1577
 					// + sign is optional; - sign is required.
1525 1578
 					$end += strspn( $s, '-+', $end );
1526 1579
 					$len = strspn( $s, '0123456789', $end );
1527
-					if ( !$len ) {
1580
+					if ( !$len )
1581
+					{
1528 1582
 						return self::parseError(
1529 1583
 							$s,
1530 1584
 							$pos,
@@ -1533,9 +1587,12 @@  discard block
 block discarded – undo
1533 1587
 					}
1534 1588
 					$end += $len;
1535 1589
 				}
1536
-			} elseif ( isset( self::$opChars[$ch] ) ) {
1590
+			}
1591
+			elseif ( isset( self::$opChars[$ch] ) )
1592
+			{
1537 1593
 				// Punctuation character. Search for the longest matching operator.
1538
-				for ( $tokenLength = self::LONGEST_PUNCTUATION_TOKEN; $tokenLength > 1; $tokenLength-- ) {
1594
+				for ( $tokenLength = self::LONGEST_PUNCTUATION_TOKEN; $tokenLength > 1; $tokenLength-- )
1595
+				{
1539 1596
 					if (
1540 1597
 						$pos + $tokenLength <= $length &&
1541 1598
 						isset( self::$tokenTypes[ substr( $s, $pos, $tokenLength ) ] )
@@ -1544,7 +1601,9 @@  discard block
 block discarded – undo
1544 1601
 						break;
1545 1602
 					}
1546 1603
 				}
1547
-			} else {
1604
+			}
1605
+			else
1606
+			{
1548 1607
 				// Identifier or reserved word. Search for the end by excluding whitespace and
1549 1608
 				// punctuation.
1550 1609
 				$end += strcspn( $s, " \t\n.;,=<>+-{}()[]?:*/%'\"`!&|^~\xb\xc\r", $end );
@@ -1555,20 +1614,23 @@  discard block
 block discarded – undo
1555 1614
 			$type = isset( self::$model[$state][self::TYPE_SPECIAL][$token] )
1556 1615
 				? self::TYPE_SPECIAL
1557 1616
 				: self::$tokenTypes[$token] ?? self::TYPE_LITERAL;
1558
-			if ( $type === self::TYPE_YIELD ) {
1617
+			if ( $type === self::TYPE_YIELD )
1618
+			{
1559 1619
 				// yield is treated as TYPE_RETURN inside a generator function (negative state)
1560 1620
 				// but as TYPE_LITERAL when not in a generator function (positive state)
1561 1621
 				$type = $state < 0 ? self::TYPE_RETURN : self::TYPE_LITERAL;
1562 1622
 			}
1563 1623
 
1564 1624
 			$pad = '';
1565
-			if ( $newlineFound && isset( self::$semicolon[$state][$type] ) ) {
1625
+			if ( $newlineFound && isset( self::$semicolon[$state][$type] ) )
1626
+			{
1566 1627
 				// This token triggers the semicolon insertion mechanism of javascript. While we
1567 1628
 				// could add the ; token here ourselves, keeping the newline has a few advantages.
1568 1629
 				$pad = "\n";
1569 1630
 				$state = $state < 0 ? -self::STATEMENT : self::STATEMENT;
1570 1631
 				$lineLength = 0;
1571
-			} elseif ( $lineLength + $end - $pos > self::$maxLineLength &&
1632
+			}
1633
+			elseif ( $lineLength + $end - $pos > self::$maxLineLength &&
1572 1634
 				!isset( self::$semicolon[$state][$type] ) &&
1573 1635
 				$type !== self::TYPE_INCR_OP &&
1574 1636
 				$type !== self::TYPE_ARROW
@@ -1580,24 +1642,31 @@  discard block
 block discarded – undo
1580 1642
 				$pad = "\n";
1581 1643
 				$lineLength = 0;
1582 1644
 			// Check, whether we have to separate the token from the last one with whitespace
1583
-			} elseif ( !isset( self::$opChars[$last] ) && !isset( self::$opChars[$ch] ) ) {
1645
+			}
1646
+			elseif ( !isset( self::$opChars[$last] ) && !isset( self::$opChars[$ch] ) )
1647
+			{
1584 1648
 				$pad = ' ';
1585 1649
 				$lineLength++;
1586 1650
 			// Don't accidentally create ++, -- or // tokens
1587
-			} elseif ( $last === $ch && ( $ch === '+' || $ch === '-' || $ch === '/' ) ) {
1651
+			}
1652
+			elseif ( $last === $ch && ( $ch === '+' || $ch === '-' || $ch === '/' ) )
1653
+			{
1588 1654
 				$pad = ' ';
1589 1655
 				$lineLength++;
1590 1656
 			// Don't create invalid dot notation after number literal (T303827).
1591 1657
 			// Keep whitespace in "42. foo".
1592 1658
 			// But keep minifying "foo.bar", "42..foo", and "42.0.foo" per $opChars.
1593
-			} elseif ( $lastDotlessNum && $type === self::TYPE_DOT ) {
1659
+			}
1660
+			elseif ( $lastDotlessNum && $type === self::TYPE_DOT )
1661
+			{
1594 1662
 				$pad = ' ';
1595 1663
 				$lineLength++;
1596 1664
 			}
1597 1665
 
1598 1666
 			// self::debug( $topOfStack, $last, $lastType, $state, $ch, $token, $type, );
1599 1667
 
1600
-			if ( $mapGenerator ) {
1668
+			if ( $mapGenerator )
1669
+			{
1601 1670
 				$mapGenerator->outputSpace( $pad );
1602 1671
 				$mapGenerator->outputToken( $token );
1603 1672
 				$mapGenerator->consumeSource( $end - $pos );
@@ -1621,10 +1690,13 @@  discard block
 block discarded – undo
1621 1690
 				$topOfStack = $actions[self::ACTION_PUSH];
1622 1691
 				$stack[] = $topOfStack;
1623 1692
 			}
1624
-			if ( $stack && isset( $actions[self::ACTION_POP] ) ) {
1693
+			if ( $stack && isset( $actions[self::ACTION_POP] ) )
1694
+			{
1625 1695
 				$state = array_pop( $stack );
1626 1696
 				$topOfStack = end( $stack );
1627
-			} elseif ( isset( $actions[self::ACTION_GOTO] ) ) {
1697
+			}
1698
+			elseif ( isset( $actions[self::ACTION_GOTO] ) )
1699
+			{
1628 1700
 				$state = $actions[self::ACTION_GOTO];
1629 1701
 			}
1630 1702
 		}
@@ -1637,7 +1709,8 @@  discard block
 block discarded – undo
1637 1709
 	 * @param string $errorMsg
1638 1710
 	 * @return bool
1639 1711
 	 */
1640
-	public static function parseError( $fullJavascript, $position, $errorMsg ) {
1712
+	public static function parseError( $fullJavascript, $position, $errorMsg )
1713
+	{
1641 1714
 		// TODO: Handle the error: trigger_error, throw exception, return false...
1642 1715
 		return false;
1643 1716
 	}
@@ -1659,22 +1732,28 @@  discard block
 block discarded – undo
1659 1732
 		$self = new \ReflectionClass( self::class );
1660 1733
 		$constants = $self->getConstants();
1661 1734
 
1662
-		foreach ( $self->getConstants() as $name => $value ) {
1663
-			if ( $value === $top ) {
1735
+		foreach ( $self->getConstants() as $name => $value )
1736
+		{
1737
+			if ( $value === $top )
1738
+			{
1664 1739
 				$top = $name;
1665 1740
 			}
1666
-			if ( $value === $lastType ) {
1741
+			if ( $value === $lastType )
1742
+			{
1667 1743
 				$lastType = $name;
1668 1744
 			}
1669
-			if ( $value === $state ) {
1745
+			if ( $value === $state )
1746
+			{
1670 1747
 				$state = $name;
1671 1748
 			}
1672
-			if ( $value === $type ) {
1749
+			if ( $value === $type )
1750
+			{
1673 1751
 				$type = $name;
1674 1752
 			}
1675 1753
 		}
1676 1754
 
1677
-		if ( $first ) {
1755
+		if ( $first )
1756
+		{
1678 1757
 			print sprintf( "| %-29s | %-4s | %-29s | %-29s | %-2s | %-10s | %-29s\n",
1679 1758
 				'topOfStack', 'last', 'lastType', 'state', 'ch', 'token', 'type' );
1680 1759
 			print sprintf( "| %'-29s | %'-4s | %'-29s | %'-29s | %'-2s | %'-10s | %'-29s\n",
Please login to merge, or discard this patch.