Releases: boundwize/structarmed
Releases · boundwize/structarmed
Release list
Released: StructArmed 0.15.0
This release introduces Boundwize\StructArmed\Rule\ExtendedClassAwareRuleInterface.
A marker that lets a rule know whether the class it's evaluating is extended by another scanned class, and applies it to Boundwize\StructArmed\Rule\Rules\Class_\MustBeFinalRule.
Using interface in custom rule:
use Boundwize\StructArmed\Analyser\ClassNode;
use Boundwize\StructArmed\Rule\ExtendedClassAwareRuleInterface;
use Boundwize\StructArmed\Rule\RuleViolation;
final readonly class MyRule implements ExtendedClassAwareRuleInterface
{
public function appliesTo(ClassNode $classNode): bool
{
return $classNode->isClass();
}
public function evaluate(ClassNode $classNode): ?RuleViolation
{
// Skip classes that another scanned class extends.
if ($classNode->isExtended) {
return null;
}
// other check ...
return new RuleViolation(
...
);
}
}What's Changed
- feat: add ExtendedClassAwareRuleInterface to detect extended classes by @samsonasik in #219
Full Changelog: 0.14.20...0.15.0
Released: StructArmed 0.14.20
What's Changed
- fix: treat die and exit as aliases in MayNotUseLanguageConstructRule by @samsonasik in #218
Full Changelog: 0.14.19...0.14.20
Released: StructArmed 0.14.19
What's Changed
- fix: recognize define() as a PSR-1 constant symbol, not a side effect by @samsonasik in #217
Full Changelog: 0.14.18...0.14.19
Released: StructArmed 0.14.18
What's Changed
- fix(Psr1PhpTagsRule): add separator after <?php for short tags followed by code by @samsonasik in #216
Full Changelog: 0.14.17...0.14.18
Released: StructArmed 0.14.17
What's Changed
- Bump Pyrameter to ^0.5 by @samsonasik in #211
- Add test for aggregate anonymous function complexity into parent class method by @samsonasik in #213
- test: collect import used only in docblock as dependency by @samsonasik in #214
- Fix missing PSR-12 and PSR-15 presets in CLI help by @samsonasik in #215
Full Changelog: 0.14.16...0.14.17
Released: StructArmed 0.14.16
What's Changed
- [perf] Reduce runtime instanceof check on loop violations on Analyser by @samsonasik in #207
- [perf] Memoize class methods in ClassCollector to avoid repeated AST scans by @samsonasik in #208
- Fix false return-type violation for __destruct() by @samsonasik in #209
Full Changelog: 0.14.15...0.14.16
Released: StructArmed 0.14.15
What's Changed
- [psr1] Handle no space after <? on Psr1PhpTagsRule by @samsonasik in #206
Full Changelog: 0.14.14...0.14.15
Released: StructArmed 0.14.14
What's Changed
- [psr1] Fix XML declarations misidentified as PHP short tags by @samsonasik in #205
Full Changelog: 0.14.13...0.14.14
Released: StructArmed 0.14.13
What's Changed
- Fix short PHP tag line detection in multiline inline HTML by @samsonasik in #204
Full Changelog: 0.14.12...0.14.13
Released: StructArmed 0.14.12
What's Changed
- Bump JsonRecast to >=0.3 <1.0 by @samsonasik in #201
- Fix PSR-1 false positive for namespace-level constants by @samsonasik in #202
- Fix PSR-1 analysis for constants and declare blocks by @samsonasik in #203
Full Changelog: 0.14.11...0.14.12