A collection of utility methods used to deal with traits.
| Modifiers | Name | Description |
|---|---|---|
static @interface |
Traits.Implemented |
Internal annotation used to indicate which methods in a trait interface have a default implementation. |
static @interface |
Traits.TraitBridge |
Internal annotation used to indicate that a method is a bridge method to a trait default implementation. |
| Modifiers | Name | Description |
|---|---|---|
static ClassNode |
FORCEOVERRIDE_CLASSNODE |
|
static ClassNode |
IMPLEMENTED_CLASSNODE |
|
static ClassNode |
TRAITBRIDGE_CLASSNODE |
|
static Class |
TRAIT_CLASS |
|
static ClassNode |
TRAIT_CLASSNODE |
| Type | Name and description |
|---|---|
static Method |
getBridgeMethodTarget(Method someMethod)Reflection API to find the method corresponding to the default implementation of a trait, given a bridge method. |
static boolean |
hasDefaultImplementation(MethodNode method)Indicates whether a method in a trait interface has a default implementation. |
static boolean |
isAnnotatedWithTrait(ClassNode cNode)Returns true if the specified class node is annotated with the Trait interface. |
static boolean |
isBridgeMethod(Method someMethod)Reflection API to indicate whether some method is a bridge method to the default implementation of a trait. |
static boolean |
isForceOverride(MethodNode methodNode)Returns true if the specified method node is annotated with ForceOverride |
static boolean |
isForceOverride(Method methodNode)Returns true if the specified method is annotated with ForceOverride |
static boolean |
isTrait(ClassNode cNode)Returns true if the specified class node is a trait. |
static boolean |
isTrait(Class clazz)Returns true if the specified class is a trait. |
Reflection API to find the method corresponding to the default implementation of a trait, given a bridge method.
someMethod - a method nodeIndicates whether a method in a trait interface has a default implementation.
method - a method nodeReturns true if the specified class node is annotated with the Trait interface.
cNode - a class nodeReflection API to indicate whether some method is a bridge method to the default implementation of a trait.
someMethod - a method nodeReturns true if the specified method node is annotated with ForceOverride
methodNode - a method nodeReturns true if the specified method is annotated with ForceOverride
methodNode - a methodReturns true if the specified class node is a trait.
cNode - a class node to testReturns true if the specified class is a trait.
clazz - a class to test