Commit Graph

139 Commits

Author SHA1 Message Date
Dylan K. Taylor
50976c20aa Firebombing of commands for the first time in 10 years 2025-10-12 03:30:30 +01:00
Dylan K. Taylor
f1c5c7b699 Update CallbackValidator 2025-10-10 23:00:35 +01:00
Dylan K. Taylor
9a9506b793 Upgrade CallbackValidator
closes #6343
2025-08-30 19:23:38 +01:00
Dylan K. Taylor
1ebd7d3960 Remove unused deprecated stuff 2025-08-24 23:29:55 +01:00
Dylan K. Taylor
2548422973 AvailableEnchantmentRegistry: reject non-string tags
fixes https://crash.pmmp.io/view/12627328
2025-04-20 16:44:23 +01:00
Dylan K. Taylor
d0d84d4c51 New rule: explode() limit parameter must be set 2025-03-04 20:44:01 +00:00
Dylan K. Taylor
77be5f8e25 Update PHPStan 2025-02-17 17:51:39 +00:00
Dylan T.
9402a20ee3 Update Utils::getOS() doc comment
closes #6628
2025-02-16 16:12:29 +00:00
Dylan K. Taylor
794641c0f8 Utils: split some horrifying code across multiple lines 2025-01-07 22:35:19 +00:00
Dylan K. Taylor
9633b7d8a7 Update to PHPStan 2.x 2025-01-07 22:34:43 +00:00
Dylan K. Taylor
d69a887b0d Utils: fix parameter doc for printableExceptionInfo() 2025-01-07 22:24:26 +00:00
Dylan K. Taylor
0358b7dce4 utils: avoid weak comparisons 2025-01-06 22:53:35 +00:00
Dylan K. Taylor
81e3730b99 Fixed crashes containing PHP internal stack frames being flagged as plugin-caused 2024-12-24 14:20:16 +00:00
Akmal Fairuz
269effcecf Introduce Utils::getRandomFloat() (#6532)
Drop-in replacement for lcg_value() for PHP 8.4
2024-11-26 11:33:29 +00:00
Dylan K. Taylor
a9787f0d99 Fix PHPStan error 2024-11-25 14:32:17 +00:00
Dylan K. Taylor
5325ecee37 Deal with a whole lot of PHPStan suppressed key casting errors
closes #6534
2024-11-25 14:30:58 +00:00
Markus Staab
e710b3750f Adjust pretty name of closures on PHP 8.4 (#6351)
related to https://github.com/php/php-src/pull/13550

see analog symfony change: https://github.com/symfony/symfony/pull/54614
2024-11-19 17:05:21 +00:00
Javier León
db894e3a4a Fixed Utils::cloneObjectArray() template signature (#6255) 2024-02-16 16:52:10 +00:00
Dylan T
82a5ea9ed3 Allow thread errors and their traces to be properly recorded in crashdumps (#5910)
until now, any thread crash would show as a generic crash since we aren't able to get the trace from the crashed thread directly. This uses some dirty tricks to export a partially serialized stack trace to the main thread, where it can be written into a crashdump.
This enables us to see proper crash information for async tasks in the crash archive (finally!!!) as well as being able to capture RakLib errors properly.
2023-07-26 16:26:03 +01:00
Dylan K. Taylor
c2918709a3 Merge branch 'next-minor' into next-major 2023-01-06 01:59:04 +00:00
Alexey
172ce659b8 Use str_starts_with, str_ends_with and str_contains instead of strpos (#5485) 2022-12-31 13:02:23 +00:00
Alexey
0d31b25fba Use str_starts_with and str_contains instead of strpos (#5482) 2022-12-30 21:41:30 +00:00
Dylan K. Taylor
4d79aced07 Merge branch 'next-minor' into next-major 2022-12-15 19:50:27 +00:00
Dylan K. Taylor
99996b62d6 Align PhpDoc @param tags according to PHP-CS-Fixer 2022-12-06 13:21:20 +00:00
Dylan K. Taylor
fdb07cdbcd Added more missing native types according to 8.0 standards 2022-11-23 14:21:38 +00:00
Dylan K. Taylor
bfd1b2c635 PHPStan 1.9.1 2022-11-04 18:28:07 +00:00
Dylan K. Taylor
66cd156d80 Utils: use static property for core count cache, instead of local static variable 2022-09-02 19:18:01 +01:00
Dylan K. Taylor
1d253bc8c2 Utils: remove 32-bit specific code from javaStringHash()
this was necessary in the days of 32-bit, but for 64-bit, the 0xffffffff mask is sufficient and produces the exact same result.
2022-09-02 18:23:49 +01:00
Dylan K. Taylor
7f175b47e6 Fix CS 2022-08-25 18:19:22 +01:00
Dylan K. Taylor
0e73ffe555 CrashDump: Added JIT mode to data
this is necessary for identifying JIT-specific bugs, which, unfortunately, are very common.
2022-08-25 17:39:40 +01:00
Dylan K. Taylor
1ffd38b37b Utils: fixed currentTrace() when xdebug is loaded, but not in develop mode
this is really dumb... why does it register the functions at all if they aren't usable ???
2022-08-25 16:56:26 +01:00
Dylan K. Taylor
38d6284671 Use PHP-CS-Fixer to enforce file header presence 2022-06-04 17:34:49 +01:00
Dylan K. Taylor
9ff1bf6deb Merge remote-tracking branch 'origin/stable' into next-minor 2022-05-11 13:12:45 +01:00
Dylan K. Taylor
a913736235 fix CS 2022-05-10 14:13:01 +01:00
Dylan K. Taylor
124edeacaf fix build 2022-05-10 14:11:46 +01:00
Dylan K. Taylor
a216f4d089 Utils: improve representation of int, float and null in stack trace parameters 2022-05-10 14:07:07 +01:00
Dylan K. Taylor
17b0e0be84 Utils: use match to clean up stringifyValueForTrace() 2022-05-10 14:04:52 +01:00
Dylan K. Taylor
81d8aed2e2 Utils: account for named variadic arguments in printableTrace() 2022-05-10 13:59:42 +01:00
Dylan K. Taylor
6d7bf1c5d8 Utils: fixed missing property initializer 2022-04-28 14:52:21 +01:00
Dylan K. Taylor
0e7e776862 Modernize property declarations in src/utils 2022-04-28 13:12:12 +01:00
Dylan K. Taylor
f97ce6afef Harden APIs which accept Vector3/Position/Location in event namespace 2022-03-09 22:22:37 +00:00
Dylan K. Taylor
282b430b1f Replace disallowed operators in src/utils/ 2022-01-20 19:02:26 +00:00
Dylan K. Taylor
ee6548aa50 Merge branch 'stable' into next-minor 2022-01-14 00:45:49 +00:00
Dylan K. Taylor
0a5b146189 substr() returns an empty string instead of false in 8.0
an empty string will pass through preg_match_all() without any harmful effects, so we don't need to check for it.
2022-01-07 22:38:00 +00:00
Dylan K. Taylor
c6466a6da9 Utils: added crutch assumeNotFalse()
this can be used to get PHPStan to shut up about stuff that will never return false in normal contexts.
It's more fine-grained than @phpstan-ignore-line and less hassle than ignoreErrors (and works in PhpStorm too).
In addition, it's easy to search for references.
2021-12-08 18:58:39 +00:00
Dylan K. Taylor
b784a04e08 Utils: fixed parseDocComment() ignoring tags containing hyphens 2021-11-24 16:38:37 +00:00
Dylan K. Taylor
269231c228 Ban foreach(arrayWithStringKeys as k => v)
this is not as good as phpstan/phpstan-src#769 (e.g. array_key_first()/array_key_last() aren't covered by this, nor is array_rand()) but it does eliminate the most infuriating cases where this usually crops up.
2021-11-15 22:52:05 +00:00
Dylan K. Taylor
f827a555d5 Merge branch 'stable' 2021-11-01 18:13:24 +00:00
Dylan K. Taylor
1d99cd329a CS again 2021-10-26 00:50:43 +01:00
Dylan K. Taylor
24d4daec90 Utils::testValidInstance() now accepts interfaces for the baseName 2021-10-26 00:32:32 +01:00