Package 

Interface MethodMirror

  • All Implemented Interfaces:
    dev.thecodewarrior.mirror.member.ExecutableMirror , dev.thecodewarrior.mirror.member.MemberMirror , dev.thecodewarrior.mirror.util.DeclarationMirror

    
    public interface MethodMirror
     implements ExecutableMirror
                        

    A mirror representing a method.

    • Method Detail

      • doesOverride

         abstract Boolean doesOverride(Method otherMethod)

        Returns true if this method overrides the passed method. This performs all its calculations based on this method's declaring class, so if this method is inherited by another class and overrides an interface declared on on that other class, this will not detect that.

      • call

         abstract <T extends Any> T call(Object receiver, Object args)

        Calls the represented method on the passed instance. If this represents a static method, null should be used for the instance.

        After the one-time cost of creating the MethodHandle, the access should be near-native speed.

      • withTypeParameters

         abstract MethodMirror withTypeParameters(TypeMirror parameters)

        Returns a copy of this mirror, replacing its type parameters the given types. Passing zero arguments will return a copy of this mirror with the raw type arguments.

        Note: A new mirror is only created if none already exist with the required specialization

      • withDeclaringClass

         abstract MethodMirror withDeclaringClass(ClassMirror enclosing)

        Returns a copy of this member with its enclosing class replaced with enclosing. Substituting type variables as necessary. If the passed class is null this method removes any enclosing class specialization.

        Note: A new mirror is only created if none already exist with the required specialization

      • getJava

         abstract Method getJava()

        The Core Reflection object this mirror represents

      • getRaw

         abstract MethodMirror getRaw()

        The mirror representing this member without any generic specialization

      • getIsAbstract

         abstract Boolean getIsAbstract()

        A shorthand for checking if the abstractmodifier is present on this field.

      • getIsStatic

         abstract Boolean getIsStatic()

        A shorthand for checking if the staticmodifier is present on this field.

      • getIsFinal

         abstract Boolean getIsFinal()

        A shorthand for checking if the finalmodifier is present on this field.

      • getIsStrict

         abstract Boolean getIsStrict()

        A shorthand for checking if the strictfpmodifier is present on this field.

      • getIsSynchronized

         abstract Boolean getIsSynchronized()

        A shorthand for checking if the synchronizedmodifier is present on this field.

      • getIsNative

         abstract Boolean getIsNative()

        A shorthand for checking if the nativemodifier is present on this field.

      • getIsDefault

         abstract Boolean getIsDefault()

        Returns true if this method is a default interface method. Implementations of default interface methods don't have this flag. For the default values of annotation parameters, use defaultValue.

      • getDefaultValue

         abstract Object getDefaultValue()

        Returns the default value of the annotation method, if it has one. Somewhat confusingly, this is entirely distinct from isDefault, despite the similar name.

      • getOverrides

         abstract MethodMirror getOverrides()

        Returns the method overridden by this method, if any. This will return the method this overrides from its superclass, not from any interfaces.

      • getModifiers

         abstract Set<Modifier> getModifiers()

        The set of modifiers present on this member. This set is in customary order, as defined in JLS §8.1.1

        Note: This set is immutable

      • getIsVarArgs

         abstract Boolean getIsVarArgs()

        Returns true if this method takes a variable number of arguments.

      • getIsInternalAccess

         abstract Boolean getIsInternalAccess()

        Returns true if this method/constructor has internal visibility in Kotlin

      • getKCallable

         abstract KCallable<?> getKCallable()

        Returns the Kotlin KCallable instance that represents the same method/constructor as this. This is null if this is synthetic or if this is a bridge method. Other cases where no KCallable exists are not yet known, but may exist.

      • getIsPublic

         abstract Boolean getIsPublic()

        A shorthand for checking if the publicmodifier is present on this field.

      • getIsProtected

         abstract Boolean getIsProtected()

        A shorthand for checking if the protectedmodifier is present on this field.

      • getIsPrivate

         abstract Boolean getIsPrivate()

        A shorthand for checking if the privatemodifier is present on this field.

      • getIsPackagePrivate

         abstract Boolean getIsPackagePrivate()

        A shorthand for checking if neither the public, protected, nor privatemodifiers are present on this field.

      • getIsKotlinMember

         abstract Boolean getIsKotlinMember()

        Returns true if this member is declared in a class directly written in Kotlin