mirror of
https://github.com/danog/psalm.git
synced 2024-11-30 04:39:00 +01:00
Hack around PHP 7.3 polyfill scoping
This commit is contained in:
parent
08d029b3c5
commit
bfbe9a527a
@ -60,8 +60,8 @@ jobs:
|
|||||||
- vendor/bin/phpcs
|
- vendor/bin/phpcs
|
||||||
|
|
||||||
- stage: Phar build
|
- stage: Phar build
|
||||||
php: 7.2
|
php: 7.3
|
||||||
env: DEPS="low"
|
env: DEPS="high"
|
||||||
script: bin/build-phar.sh
|
script: bin/build-phar.sh
|
||||||
deploy:
|
deploy:
|
||||||
# deploy tagged releases to github releases page
|
# deploy tagged releases to github releases page
|
||||||
|
@ -4,6 +4,10 @@ set -e
|
|||||||
|
|
||||||
composer bin box install
|
composer bin box install
|
||||||
|
|
||||||
|
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
php $DIR/improve_class_alias.php
|
||||||
|
|
||||||
vendor/bin/box compile
|
vendor/bin/box compile
|
||||||
|
|
||||||
if [[ "$GPG_ENCRYPTION" != '' ]] ; then
|
if [[ "$GPG_ENCRYPTION" != '' ]] ; then
|
||||||
|
36
bin/improve_class_alias.php
Normal file
36
bin/improve_class_alias.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$vendor_path = 'vendor-bin/box/vendor/humbug/php-scoper/src/PhpParser/NodeVisitor/ClassAliasStmtAppender.php';
|
||||||
|
|
||||||
|
if (!file_exists($vendor_path)) {
|
||||||
|
die('Vendor file does not exist' . PHP_EOL);
|
||||||
|
}
|
||||||
|
|
||||||
|
$search = '/* @var FullyQualified $originalName */
|
||||||
|
|
||||||
|
$stmts[] = $this->createAliasStmt($originalName, $stmt);';
|
||||||
|
|
||||||
|
$replace = '/* @var FullyQualified $originalName */
|
||||||
|
$aliasStmt = $this->createAliasStmt($originalName, $stmt);
|
||||||
|
|
||||||
|
$stmts[] = new If_(
|
||||||
|
new FuncCall(
|
||||||
|
new FullyQualified(\'class_exists\'),
|
||||||
|
[
|
||||||
|
new Node\Arg(
|
||||||
|
new Node\Expr\ClassConstFetch(
|
||||||
|
$originalName,
|
||||||
|
\'class\'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
]
|
||||||
|
),
|
||||||
|
[\'stmts\' => [$aliasStmt]]
|
||||||
|
);';
|
||||||
|
|
||||||
|
$contents = file_get_contents($vendor_path);
|
||||||
|
|
||||||
|
$contents = str_replace($search, $replace, $contents);
|
||||||
|
|
||||||
|
file_put_contents($vendor_path, $contents);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user