Releases: Roave/BetterReflection
4.6.1
Release 4.6.1
4.6.1
- Total issues resolved: 2
- Total pull requests resolved: 1
- Total contributors: 2
bug
4.6.0
Release 4.6.0
4.6.0
- Total issues resolved: 1
- Total pull requests resolved: 2
- Total contributors: 3
bug
enhancement
4.5.0
Release 4.5.0
4.5.0
- Total issues resolved: 6
- Total pull requests resolved: 8
- Total contributors: 4
bug
- 656:
ReflectionMethod::getPrototype()
should report implementing vlass prototype, and skip constructors thanks to @kukulich and @ondrejmirtes - 655: Fixed
MemoizingParserTest::testParsedCodeIsDifferentAtEachParserLookup()
assertions to use SUT thanks to @kukulich - 653: Getting the last doc comment instead of the first one matches PHP reflection thanks to @kukulich and @ondrejmirtes
- 651: Parameter with default value before variadic parameter should be optional thanks to @kukulich and @ondrejmirtes
- 650: Fixed
Reflection/ReflectionFunctionAbstract::isGenerator()
for functions withyield from
thanks to @kukulich and @ondrejmirtes - 649: Fixed
ReflectionClass::getImmediateInterfaces()
to only return immediately implemented interfaces thanks to @kukulich and @smoench - 641: Fix name of
CalculateReflectionColumn
class thanks to @phil-davis
enhancement
- 642: Fix minor typos thanks to @phil-davis
4.4.0
Release 4.4.0
4.4.0
- Total issues resolved: 4
- Total pull requests resolved: 10
- Total contributors: 4
enhancement
- 638: Added note about runtime reflection speed thanks to @asgrim
- 637:
ReflectionSourceStubber
should generate types of properties thanks to @kukulich - 630: Removed duplicate ReflectionSourceStubber::addParameterModifiers() call thanks to @kukulich
bug
-
636:
ReflectionSourceStubber
should not generateabstract
for interface methods thanks to @kukulich -
634: Fixed some bugs reported by Infection thanks to @kukulich
-
629: Fixed ReflectionClass::getReflectionConstant() in adapter for non-existent constant thanks to @kukulich and @ondrejmirtes
-
633: Removed broken build badge thanks to @kukulich
dependencies,enhancement
- 623: #571 upgrade to php 7.4 thanks to @Ocramius
- 608: PHP 7.4 is required thanks to @kukulich and @Ocramius
- 606: #599 add infection (mutation testing) to test runs thanks to @Ocramius
4.3.0
Release 4.3.0
4.3.0
- Total issues resolved: 8
- Total pull requests resolved: 27
- Total contributors: 6
dependencies,enhancement
- 622: TRUE, FALSE, NULL constant names compatible with PHP thanks to @kukulich
- 607: Verify
ReflectionSourceStubber
andPhpInternalSourceLocator
againstFFI
,memcache
,mongodb
andredis
extension symbols thanks to @kukulich - 605: Updated GitHub actions to use
actions/cache@v2
andshivammathur/setup-php@v2
thanks to @kukulich
enhancement
- 621: Annotations cleanup thanks to @kukulich
- 619: Removed mis-typed docblock annotations thanks to @kukulich
- 595: Psalm.xml cleanup thanks to @orklah
- 594: Add hello world github action for #585 to base off thanks to @asgrim
- 593: Removed outdated @psalm-suppress thanks to @kukulich
- 592: Fixed PhpStormStubsSourceStubber for classes/functions/constants in namespace thanks to @kukulich
- 591: Return system directory separator in adapters thanks to @kukulich
- 585: Travis is dead, long live GitHub actions thanks to @kukulich
- 584: bump phpstan version from 0.12.19 to 0.12.25 thanks to @DanielBadura
- 578: Updated CS thanks to @kukulich
bug,dependencies
- 618: PhpStormStubsSourceStubber fixes for case-insensitive classes/functions/constants thanks to @kukulich and @ondrejmirtes
- 609: Exclude PhpStormStubsSourceStubber temporarily from the PHPStan analysis thanks to @ondrejmirtes
bug
- 610: Fixed
ReflectionClass::isInstance()
adapter compatibility with native reflection thanks to @kukulich - 604: #573 ensure
AutoloadSourceLocator
does not interfere with autoloading of PHP-Parser nor BetterReflection internals thanks to @Ocramius - 602: Fixed hidden bugs that were masked by replaced/shadowing error handler thanks to @kukulich
- 601: Methods are case insensitive, and should be mapped and looked up without considering casing thanks to @kukulich
- 597:
ReflectionMethod::isAbstract()
should return true for interface methods thanks to @kukulich and @Ocramius - 590: Fixed methods cache in ReflectionClass thanks to @kukulich
- 589: Fixed ReflectionClass::getMethods() and ::getProperties() in adapter thanks to @kukulich
- 587: Fixed ReflectionSourceStubber for unsupported values of default properties thanks to @kukulich
- 582:
AutoloadSourceLocator
should supportphar://
paths as well asfile://
thanks to @kukulich and @ondrejmirtes - 581: Fixed many traits bugs thanks to @kukulich and @ondrejmirtes
bug,reflection compatibility
4.2.0
Release 4.2.0
4.2.0
- Total issues resolved: 0
- Total pull requests resolved: 2
- Total contributors: 2
bug
dependencies
- 568: Bump vimeo/psalm from 3.10.1 to 3.11.2 thanks to @dependabot-preview[bot]
4.1.0
Release 4.1.0
4.1.0
- Total issues resolved: 1
- Total pull requests resolved: 2
- Total contributors: 2
enhancement
4.0.0
Release 4.0.0
4.0.0
- Total issues resolved: 3
- Total pull requests resolved: 46
- Total contributors: 12
dependencies
- 548: bump phpbench and phpstan thanks to @orklah
- 510: Bump phpunit/phpunit from 8.3.5 to 8.5.1 thanks to @dependabot-preview[bot]
- 508: Bump phpdocumentor/reflection-docblock from 4.3.2 to 4.3.4 thanks to @dependabot-preview[bot]
- 507: Bump doctrine/coding-standard from 6.0.0 to 7.0.2 thanks to @dependabot-preview[bot]
- 502: Bump nikic/php-parser from 4.2.4 to 4.3.0 thanks to @dependabot-preview[bot]
- 495: Bump phpdocumentor/reflection-docblock from 4.3.1 to 4.3.2 thanks to @dependabot-preview[bot]
- 492: Bump phpunit/phpunit from 8.1.6 to 8.3.2 thanks to @dependabot-preview[bot]
- 478: Bump phpunit/phpunit from 8.1.5 to 8.1.6 thanks to @dependabot-preview[bot]
dependencies,enhancement
- 547: fix SA thanks to @orklah
- 545: fix CS thanks to @orklah
- 544: bump psalm, fix errors, add usePhpDocPropertiesWithoutMagicCall thanks to @orklah
- 543: CS fixes thanks to @kukulich
- 540: Upgrade reflection-docblock to version ^5.0.0 and upgrade deps thanks to @paul-thebaud
- 521: Travis improvements thanks to @kukulich
- 520: Bump jetbrains/phpstorm-stubs from 2019.2 to 2019.3 thanks to @kukulich
- 518: Run CI only once on PR from another branch of the repo thanks to @Lctrs
- 517: Bump psalm to 3.8.2 thanks to @Lctrs
- 498: Allow phpdocumentor/type-resolver version ^1.0.0 thanks to @paul-thebaud
- 491: Updated jetbrains/phpstorm-stubs thanks to @kukulich
bug
- 546: Fixed .travis.yml thanks to @kukulich and @orklah
- 532: fix windows path to linux + phpcbf thanks to @orklah
- 523:
ReflectionClass#getConstructor()
should work event if the constructor isn't the first method in the class thanks to @kukulich and @ondrejmirtes - 522: Fixed deprecated warning in
ReflectionSourceStubber
thanks to @kukulich - 506: Fix CS thanks to @ondrejmirtes
- 481: Make getDocComment in adapter test return a string thanks to @asgrim
enhancement
- 541: Provide path to PHP Storm stubs directory thanks to @michaeljoelphillips
- 537: various improvements for psalm thanks to @orklah
- 534: Show our type coverage thanks to @Lctrs
- 533: Add compatibility with Composer v2 installed.json files thanks to @naderman
- 526: Improve Psalm coverage for decoded datas from json files thanks to @orklah and @Lctrs
- 524: Speedup code coverage generation by using xdebug filter thanks to @Lctrs
- 514: Update doctrine/coding-standard from 6.0.0 to 7.0.2 thanks to @Lctrs
dependencies,duplicate,enhancement
- 538: Bump PHPStan to 0.12.9 thanks to @ondrejmirtes
- 501: Replaced the string cast with a getName() call thanks to @duncan3dc
enhancement,reflection compatibility
- 531: add psalm types thanks to @orklah and @Lctrs
bug,dependencies
- 529: Fix dependencies installation thanks to @Lctrs
- 527: CS fix thanks to @kukulich
- 516: Run PHPStan without memory limit thanks to @Lctrs
bug,enhancement
dependencies,duplicate
- 500: Correct a coding standard issue thanks to @duncan3dc
- 488: Bump jetbrains/phpstorm-stubs from 2019.1 to 2019.2 thanks to @dependabot-preview[bot]
duplicate
BC break,enhancement
- 483: Make source stubber required parameter in EvaledCodeSourceLocator and PhpInternalSourceLocator thanks to @kukulich
- 482: Removed wrong classes and functions from PHPStorm stubs map thanks to @kukulich
- 479: Fix behaviour of ReflectionClass::export/ReflectionObject::export to match behaviour of core classes thanks to @asgrim
duplicate,enhancement,question
3.5.0
This release introduces support for ReflectionConstant
, adds support
for PHP 7.4 typed properties,
and replaces the internal class stubbing mechanisms with direct hits to
the installed JetBrains stubs. In addition to that, parent::class
, self::class
and static::class
are now correctly evaluated to the target class name.
Total issues resolved: 13
- 444:
self::class
,parent::class
andstatic::class
are not correctly resolved into their corresponding strings thanks to @Ocramius - 465: Fix
.gitignore
format for Windows environments thanks to @kukulich - 466: Correct PHPUnit MockObject class names as per PHPUnit 8+ thanks to @kukulich
- 467: Tests for source stubbers thanks to @kukulich
- 469: Refactor SourceLocators to no longer depend on CoreReflection thanks to @theofidry
- 470: PhpInternalSourceLocator is not based on internal reflection anymore thanks to @kukulich
- 471: Added ReflectionConstant thanks to @kukulich
- 472: Fixed resolving self::, static:: and parent:: as property or constant values thanks to @kukulich
- 473: Added support for PHP 7.4 typed properties thanks to @kukulich
- 474: Run tests on PHP 7.4 thanks to @kukulich
- 475: Bump phpunit/phpunit from 8.1.3 to 8.1.5 thanks to @dependabot-preview[bot]
- 476: Bump phpdocumentor/reflection-docblock from 4.3.0 to 4.3.1 thanks to @dependabot-preview[bot]
- 477: Bump nikic/php-parser from 4.2.1 to 4.2.2 thanks to @dependabot-preview[bot]
3.4.0
This release drops support for PHP 7.1 and introduces major performance improvements
when inspecting sources of projects that use composer.json
as main dependency tracking
mechanism.
Specifically, following utilities have been introduced to aid in inspecting project
sources:
Roave\BetterReflection\SourceLocator\Type\Composer\Factory\MakeLocatorForComposerJsonAndInstalledJson
- if
you need to inspect project and dependenciesRoave\BetterReflection\SourceLocator\Type\Composer\Factory\MakeLocatorForComposerJson
- if you only want to
inspect project sourcesRoave\BetterReflection\SourceLocator\Type\Composer\Factory\MakeLocatorForInstalledJson
- if you only want
to inspect project dependencies
To use them, please follow the usage documentation examples, such as following:
<?php
use Roave\BetterReflection\BetterReflection;
use Roave\BetterReflection\Reflector\ClassReflector;
use Roave\BetterReflection\SourceLocator\Type\AggregateSourceLocator;
use Roave\BetterReflection\SourceLocator\Type\PhpInternalSourceLocator;
use Roave\BetterReflection\SourceLocator\Type\Composer\Factory\MakeLocatorForComposerJsonAndInstalledJson;
$astLocator = (new BetterReflection())->astLocator();
$reflector = new ClassReflector(new AggregateSourceLocator([
(new MakeLocatorForComposerJsonAndInstalledJson)('path/to/the/project', $astLocator),
new PhpInternalSourceLocator($astLocator)
]));
$classes = $reflector->getAllClasses();
Total issues resolved: 4
- 442: Add a source locator that can detect
"autoload"
and"autoload-dev"
when given a composer schema definition from either acomposer.json
or acomposer.lock
thanks to @Ocramius - 461: Composer-specific source locator builder thanks to @Ocramius
- 463: Updated some build dependencies thanks to @kukulich
- 464: AppVeyor is dead, long live Travis thanks to @kukulich