From 737c6de0b2ef2bba73f3f372bf9e0a5ce4b055f0 Mon Sep 17 00:00:00 2001 From: Nathanael Esayeas Date: Sun, 29 Sep 2024 04:18:46 -0500 Subject: [PATCH] Add `IsTrait` and `IsNotTrait` selectors --- docs/documentation/selectors.md | 17 ++++++++++++----- src/Selector/IsNotFinal.php | 2 +- src/Selector/IsNotTrait.php | 18 ++++++++++++++++++ src/Selector/IsTrait.php | 18 ++++++++++++++++++ src/Selector/SelectorPrimitive.php | 10 ++++++++++ 5 files changed, 59 insertions(+), 6 deletions(-) create mode 100644 src/Selector/IsNotTrait.php create mode 100644 src/Selector/IsTrait.php diff --git a/docs/documentation/selectors.md b/docs/documentation/selectors.md index c2fdc175..d3ca7728 100644 --- a/docs/documentation/selectors.md +++ b/docs/documentation/selectors.md @@ -46,20 +46,27 @@ Select all interfaces. ## Selector::appliesAttribute() Select classes that applies the given attribute. -## Selector::isEnum() -Select all enums. - ## Selector::isAbstract() Select all abstract classes. +## Selector::isAttribute() +Select all attribute classes. + +## Selector::isEnum() +Select all enums. + ## Selector::isFinal() Select all final classes. ## Selector::isReadonly() Select all readonly classes. -## Selector::isAttribute() -Select all attribute classes. +## Selector::isTrait() +Select all traits. + +## Selector::isNotTrait() +Select all classes that are not traits. +
diff --git a/src/Selector/IsNotFinal.php b/src/Selector/IsNotFinal.php index 72efc451..248a651b 100644 --- a/src/Selector/IsNotFinal.php +++ b/src/Selector/IsNotFinal.php @@ -8,7 +8,7 @@ final class IsNotFinal implements SelectorInterface { public function getName(): string { - return '-all final classes-'; + return '-non final classes-'; } public function matches(ClassReflection $classReflection): bool diff --git a/src/Selector/IsNotTrait.php b/src/Selector/IsNotTrait.php new file mode 100644 index 00000000..b7fdc7b1 --- /dev/null +++ b/src/Selector/IsNotTrait.php @@ -0,0 +1,18 @@ +isTrait(); + } +} diff --git a/src/Selector/IsTrait.php b/src/Selector/IsTrait.php new file mode 100644 index 00000000..ff152312 --- /dev/null +++ b/src/Selector/IsTrait.php @@ -0,0 +1,18 @@ +isTrait(); + } +} diff --git a/src/Selector/SelectorPrimitive.php b/src/Selector/SelectorPrimitive.php index 62099ec3..8fe63bef 100644 --- a/src/Selector/SelectorPrimitive.php +++ b/src/Selector/SelectorPrimitive.php @@ -60,6 +60,16 @@ public static function isFinal(): IsFinal return new IsFinal(); } + public static function isTrait(): IsTrait + { + return new IsTrait(); + } + + public static function isNotTrait(): IsNotTrait + { + return new IsNotTrait(); + } + /** * @deprecated * @see Selector::isReadonly()