Skip to content

Commit c09b336

Browse files
authored
Add zend_loader_file_encoded to the list of known internal functions (#290)
1 parent 5e02772 commit c09b336

File tree

3 files changed

+33
-32
lines changed

3 files changed

+33
-32
lines changed

Makefile

Lines changed: 31 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,26 @@ help:
1313
#---------------------------------------------------------------------------
1414

1515
.PHONY: clean
16-
clean: ## Clean all created artifacts
16+
clean: ## Clean all created artifacts
1717
clean:
1818
git clean --exclude=.idea/ -ffdx
1919

2020
.PHONY: cs
2121
CODE_SNIFFER=vendor-bin/code-sniffer/vendor/bin/phpcs
2222
CODE_SNIFFER_FIX=vendor-bin/code-sniffer/vendor/bin/phpcbf
23-
cs: ## Fixes CS
23+
cs: ## Fixes CS
2424
cs: $(CODE_SNIFFER) $(CODE_SNIFFER_FIX)
2525
$(PHPNOGC) $(CODE_SNIFFER_FIX) || true
2626
$(PHPNOGC) $(CODE_SNIFFER)
2727

2828
.PHONY: phpstan
2929
PHPSTAN=vendor-bin/phpstan/vendor/bin/phpstan
30-
phpstan: ## Runs PHPStan
30+
phpstan: ## Runs PHPStan
3131
phpstan: $(PHPSTAN)
3232
$(PHPNOGC) $(PHPSTAN) analyze src -l6
3333

3434
.PHONY: build
35-
build: ## Build the PHAR
35+
build: ## Build the PHAR
3636
BOX=bin/box
3737
build: bin/php-scoper.phar
3838

@@ -42,48 +42,48 @@ build: bin/php-scoper.phar
4242
#---------------------------------------------------------------------------
4343

4444
.PHONY: test
45-
test: ## Run all the tests
45+
test: ## Run all the tests
4646
test: tc e2e
4747

4848
.PHONY: tu
4949
PHPUNIT=bin/phpunit
50-
tu: ## Run PHPUnit tests
50+
tu: ## Run PHPUnit tests
5151
tu: bin/phpunit
5252
$(PHPBIN) $(PHPUNIT)
5353

5454
.PHONY: tc
55-
tc: ## Run PHPUnit tests with test coverage
55+
tc: ## Run PHPUnit tests with test coverage
5656
tc: bin/phpunit vendor-bin/covers-validator/vendor clover.xml
5757

5858
.PHONY: tm
59-
tm: ## Run Infection (Mutation Testing)
59+
tm: ## Run Infection (Mutation Testing)
6060
tm: bin/phpunit
6161
$(MAKE) e2e_020
6262

6363
.PHONY: e2e
64-
e2e: ## Run end-to-end tests
64+
e2e: ## Run end-to-end tests
6565
e2e: e2e_004 e2e_005 e2e_011 e2e_013 e2e_014 e2e_015 e2e_016 e2e_017 e2e_018 e2e_019 e2e_020 e2e_021 e2e_022 e2e_023 e2e_024 e2e_025 e2e_026 e2e_027 e2e_028 e2e_029 e2e_030
6666

6767
PHPSCOPER=bin/php-scoper.phar
6868

6969
.PHONY: e2e_004
70-
e2e_004: ## Run end-to-end tests for the fixture set 004 — Source code case
70+
e2e_004: ## Run end-to-end tests for the fixture set 004 — Source code case
7171
e2e_004: $(PHPSCOPER)
7272
$(PHPBIN) $(BOX) compile --no-parallel --working-dir fixtures/set004
7373

7474
php build/set004/bin/greet.phar > build/set004/output
7575
diff fixtures/set004/expected-output build/set004/output
7676

7777
.PHONY: e2e_005
78-
e2e_005: ## Run end-to-end tests for the fixture set 005 — Third-party code case
78+
e2e_005: ## Run end-to-end tests for the fixture set 005 — Third-party code case
7979
e2e_005: $(PHPSCOPER) fixtures/set005/vendor
8080
$(PHPBIN) $(BOX) compile --no-parallel --working-dir fixtures/set005
8181

8282
php build/set005/bin/greet.phar > build/set005/output
8383
diff fixtures/set005/expected-output build/set005/output
8484

8585
.PHONY: e2e_011
86-
e2e_011: ## Run end-to-end tests for the fixture set 011 — Whitelist case
86+
e2e_011: ## Run end-to-end tests for the fixture set 011 — Whitelist case
8787
e2e_011: $(PHPSCOPER) fixtures/set011/vendor
8888
$(PHPBIN) $(BOX) compile --no-parallel --working-dir fixtures/set011
8989
cp -R fixtures/set011/tests/ build/set011/tests/
@@ -92,31 +92,31 @@ e2e_011: $(PHPSCOPER) fixtures/set011/vendor
9292
diff fixtures/set011/expected-output build/set011/output
9393

9494
.PHONY: e2e_013
95-
e2e_013: # Run end-to-end tests for the fixture set 013 — The init command
95+
e2e_013: # Run end-to-end tests for the fixture set 013 — The init command
9696
e2e_013: $(PHPSCOPER)
9797
rm -rf build/set013
9898
cp -R fixtures/set013 build/set013
9999
$(PHPSCOPER) init --working-dir=build/set013 --no-interaction
100100
diff src/scoper.inc.php.tpl build/set013/scoper.inc.php
101101

102102
.PHONY: e2e_014
103-
e2e_014: ## Run end-to-end tests for the fixture set 014 — Source code case with PSR-0
103+
e2e_014: ## Run end-to-end tests for the fixture set 014 — Source code case with PSR-0
104104
e2e_014: $(PHPSCOPER)
105105
$(PHPBIN) $(BOX) compile --no-parallel --working-dir fixtures/set014
106106

107107
php build/set014/bin/greet.phar > build/set014/output
108108
diff fixtures/set014/expected-output build/set014/output
109109

110110
.PHONY: e2e_015
111-
e2e_015: ## Run end-to-end tests for the fixture set 015 — Third-party code case with PSR-0
111+
e2e_015: ## Run end-to-end tests for the fixture set 015 — Third-party code case with PSR-0
112112
e2e_015: $(PHPSCOPER) fixtures/set015/vendor
113113
$(PHPBIN) $(BOX) compile --no-parallel --working-dir fixtures/set015
114114

115115
php build/set015/bin/greet.phar > build/set015/output
116116
diff fixtures/set015/expected-output build/set015/output
117117

118118
.PHONY: e2e_016
119-
e2e_016: ## Run end-to-end tests for the fixture set 016 — Symfony Finder
119+
e2e_016: ## Run end-to-end tests for the fixture set 016 — Symfony Finder
120120
e2e_016: $(PHPSCOPER) fixtures/set016-symfony-finder/vendor
121121
$(PHPBIN) $(PHPSCOPER) add-prefix \
122122
--working-dir=fixtures/set016-symfony-finder \
@@ -131,7 +131,7 @@ e2e_016: $(PHPSCOPER) fixtures/set016-symfony-finder/vendor
131131
diff fixtures/set016-symfony-finder/expected-output build/set016-symfony-finder/output
132132

133133
.PHONY: e2e_017
134-
e2e_017: ## Run end-to-end tests for the fixture set 017 — Symfony DependencyInjection
134+
e2e_017: ## Run end-to-end tests for the fixture set 017 — Symfony DependencyInjection
135135
e2e_017: $(PHPSCOPER) fixtures/set017-symfony-di/vendor
136136
$(PHPBIN) $(PHPSCOPER) add-prefix \
137137
--working-dir=fixtures/set017-symfony-di \
@@ -146,7 +146,7 @@ e2e_017: $(PHPSCOPER) fixtures/set017-symfony-di/vendor
146146
diff fixtures/set017-symfony-di/expected-output build/set017-symfony-di/output
147147

148148
.PHONY: e2e_018
149-
e2e_018: ## Run end-to-end tests for the fixture set 018 — Nikic PHP-Parser
149+
e2e_018: ## Run end-to-end tests for the fixture set 018 — Nikic PHP-Parser
150150
e2e_018: $(PHPSCOPER) fixtures/set018-nikic-parser/vendor
151151
$(PHPBIN) $(PHPSCOPER) add-prefix \
152152
--working-dir=fixtures/set018-nikic-parser \
@@ -161,7 +161,7 @@ e2e_018: $(PHPSCOPER) fixtures/set018-nikic-parser/vendor
161161
diff fixtures/set018-nikic-parser/expected-output build/set018-nikic-parser/output
162162

163163
.PHONY: e2e_019
164-
e2e_019: ## Run end-to-end tests for the fixture set 019 — Symfony Console
164+
e2e_019: ## Run end-to-end tests for the fixture set 019 — Symfony Console
165165
e2e_019: $(PHPSCOPER) fixtures/set019-symfony-console/vendor
166166
$(PHPBIN) $(PHPSCOPER) add-prefix --working-dir=fixtures/set019-symfony-console \
167167
--prefix=_Prefixed \
@@ -176,7 +176,7 @@ e2e_019: $(PHPSCOPER) fixtures/set019-symfony-console/vendor
176176
diff fixtures/set019-symfony-console/expected-output build/set019-symfony-console/output
177177

178178
.PHONY: e2e_020
179-
e2e_020: ## Run end-to-end tests for the fixture set 020 — Infection
179+
e2e_020: ## Run end-to-end tests for the fixture set 020 — Infection
180180
e2e_020: $(PHPSCOPER) fixtures/set020-infection/vendor clover.xml
181181
$(PHPBIN) $(PHPSCOPER) add-prefix --working-dir=fixtures/set020-infection \
182182
--output-dir=../../build/set020-infection \
@@ -197,7 +197,7 @@ e2e_020: $(PHPSCOPER) fixtures/set020-infection/vendor clover.xml
197197
diff build/set020-infection/expected-output build/set020-infection/output
198198

199199
.PHONY: e2e_021
200-
e2e_021: ## Run end-to-end tests for the fixture set 020 — Composer
200+
e2e_021: ## Run end-to-end tests for the fixture set 020 — Composer
201201
e2e_021: $(PHPSCOPER) fixtures/set021-composer/vendor
202202
$(PHPBIN) $(PHPSCOPER) add-prefix --working-dir=fixtures/set021-composer \
203203
--output-dir=../../build/set021-composer \
@@ -217,7 +217,7 @@ e2e_021: $(PHPSCOPER) fixtures/set021-composer/vendor
217217
diff build/set021-composer/expected-output build/set021-composer/output
218218

219219
.PHONY: e2e_022
220-
e2e_022: ## Run end-to-end tests for the fixture set 022 — Whitelist the project code with namespace whitelisting
220+
e2e_022: ## Run end-to-end tests for the fixture set 022 — Whitelist the project code with namespace whitelisting
221221
e2e_022: $(PHPSCOPER) fixtures/set022/vendor
222222
$(PHPBIN) $(BOX) compile --no-parallel --working-dir fixtures/set022
223223
cp -R fixtures/set022/tests/ build/set022/tests/
@@ -227,7 +227,7 @@ e2e_022: $(PHPSCOPER) fixtures/set022/vendor
227227
diff fixtures/set022/expected-output build/set022/output
228228

229229
.PHONY: e2e_023
230-
e2e_023: ## Run end-to-end tests for the fixture set 023 — Whitelisting a whole third-party component with namespace whitelisting
230+
e2e_023: ## Run end-to-end tests for the fixture set 023 — Whitelisting a whole third-party component with namespace whitelisting
231231
e2e_023: $(PHPSCOPER) fixtures/set023/vendor
232232
$(PHPBIN) $(PHPSCOPER) add-prefix --working-dir=fixtures/set023 \
233233
--output-dir=../../build/set023 \
@@ -240,7 +240,7 @@ e2e_023: $(PHPSCOPER) fixtures/set023/vendor
240240
diff fixtures/set023/expected-output build/set023/output
241241

242242
.PHONY: e2e_024
243-
e2e_024: ## Run end-to-end tests for the fixture set 024 — Whitelisting user functions registered in the global namespace
243+
e2e_024: ## Run end-to-end tests for the fixture set 024 — Whitelisting user functions registered in the global namespace
244244
e2e_024: $(PHPSCOPER) fixtures/set024/vendor
245245
$(PHPBIN) $(PHPSCOPER) add-prefix \
246246
--working-dir=fixtures/set024 \
@@ -255,7 +255,7 @@ e2e_024: $(PHPSCOPER) fixtures/set024/vendor
255255
diff fixtures/set024/expected-output build/set024/output
256256

257257
.PHONY: e2e_025
258-
e2e_025: ## Run end-to-end tests for the fixture set 025 — Whitelisting a vendor function
258+
e2e_025: ## Run end-to-end tests for the fixture set 025 — Whitelisting a vendor function
259259
e2e_025: $(PHPSCOPER) fixtures/set025/vendor
260260
$(PHPBIN) $(PHPSCOPER) add-prefix \
261261
--working-dir=fixtures/set025 \
@@ -269,7 +269,7 @@ e2e_025: $(PHPSCOPER) fixtures/set025/vendor
269269
diff fixtures/set025/expected-output build/set025/output
270270

271271
.PHONY: e2e_026
272-
e2e_026: ## Run end-to-end tests for the fixture set 026 — Whitelisting classes and functions with pattern matching
272+
e2e_026: ## Run end-to-end tests for the fixture set 026 — Whitelisting classes and functions with pattern matching
273273
e2e_026: $(PHPSCOPER) fixtures/set026/vendor
274274
$(PHPBIN) $(PHPSCOPER) add-prefix \
275275
--working-dir=fixtures/set026 \
@@ -283,7 +283,7 @@ e2e_026: $(PHPSCOPER) fixtures/set026/vendor
283283
diff fixtures/set026/expected-output build/set026/output
284284

285285
.PHONY: e2e_027
286-
e2e_027: ## Run end-to-end tests for the fixture set 027 — Laravel
286+
e2e_027: ## Run end-to-end tests for the fixture set 027 — Laravel
287287
e2e_027: $(PHPSCOPER) fixtures/set027-laravel/vendor
288288
php $(PHPSCOPER) add-prefix \
289289
--working-dir=fixtures/set027-laravel \
@@ -298,7 +298,7 @@ e2e_027: $(PHPSCOPER) fixtures/set027-laravel/vendor
298298
diff fixtures/set027-laravel/expected-output build/set027-laravel/output
299299

300300
.PHONY: e2e_028
301-
e2e_028: ## Run end-to-end tests for the fixture set 028 — Symfony
301+
e2e_028: ## Run end-to-end tests for the fixture set 028 — Symfony
302302
e2e_028: $(PHPSCOPER) fixtures/set028-symfony/vendor
303303
php $(PHPSCOPER) add-prefix \
304304
--working-dir=fixtures/set028-symfony \
@@ -317,7 +317,7 @@ e2e_028: $(PHPSCOPER) fixtures/set028-symfony/vendor
317317
diff fixtures/set028-symfony/expected-output build/set028-symfony/output
318318

319319
.PHONY: e2e_029
320-
e2e_029: ## Run end-to-end tests for the fixture set 029 — EasyRdf
320+
e2e_029: ## Run end-to-end tests for the fixture set 029 — EasyRdf
321321
e2e_029: $(PHPSCOPER) fixtures/set029-easy-rdf/vendor
322322
php $(PHPSCOPER) add-prefix \
323323
--working-dir=fixtures/set029-easy-rdf \
@@ -336,7 +336,7 @@ e2e_029: $(PHPSCOPER) fixtures/set029-easy-rdf/vendor
336336
diff fixtures/set028-symfony/expected-output build/set028-symfony/output
337337

338338
.PHONY: e2e_030
339-
e2e_030: ## Run end-to-end tests for the fixture set 039 — global function whitelisting
339+
e2e_030: ## Run end-to-end tests for the fixture set 030 — global function whitelisting
340340
e2e_030: $(PHPSCOPER) fixtures/set030/vendor
341341
php $(PHPSCOPER) add-prefix \
342342
--working-dir=fixtures/set030 \
@@ -355,7 +355,7 @@ e2e_030: $(PHPSCOPER) fixtures/set030/vendor
355355

356356
.PHONY: tb
357357
BLACKFIRE=blackfire
358-
tb: ## Run Blackfire profiling
358+
tb: ## Run Blackfire profiling
359359
tb: bin/php-scoper.phar vendor
360360
$(BLACKFIRE) --new-reference run $(PHPBIN) bin/php-scoper.phar add-prefix --output-dir=build/php-scoper --force --quiet
361361

fixtures/set030/src/functions.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,4 +14,4 @@ function bar(): bool {
1414

1515
if (function_exists('baz')) {
1616
baz();
17-
}
17+
}

src/Reflector.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,7 @@ final class Reflector
6767
'stream_isatty' => true,
6868
'utf8_decode' => true,
6969
'utf8_encode' => true,
70+
'zend_loader_file_encoded' => true,
7071
];
7172

7273
private $classReflector;

0 commit comments

Comments
 (0)