Class ITypeInfo.FIND

java.lang.Object
gw.lang.reflect.ITypeInfo.FIND
Enclosing interface:
ITypeInfo

public static class ITypeInfo.FIND extends Object
A general purpose class for finding methods and constructors.
  • Field Details

    • EMPTY_TYPES

      private static final IType[] EMPTY_TYPES
  • Constructor Details

    • FIND

      public FIND()
  • Method Details

    • method

      public static IMethodInfo method(MethodList methodList, CharSequence method, IType... params)
    • constructor

      public static IConstructorInfo constructor(List<? extends IConstructorInfo> constructors, IType... params)
    • callableMethod

      public static IMethodInfo callableMethod(MethodList methods, CharSequence method, IType... params)
      If there is a tie this method will throw an IllegalArgumentException. This method is not strict, which means that clients calling this method may get back a method where the arguments must be coerced to the expected parameter tyeps. If you wish strict behavior call callableMethodStrict(MethodList, CharSequence, IType[])
    • callableMethodStrict

      public static IMethodInfo callableMethodStrict(MethodList methods, CharSequence method, IType... params)
      If there is a tie this method will throw an IllegalArgumentException. This version is strict, which means that clients calling this method do not need to do any coercion of arguments in order to invoke the IMethodInfo.
    • callableMethodImpl

      private static IMethodInfo callableMethodImpl(MethodList methodList, CharSequence method, boolean strict, IType... params)
      If there is a tie this method will throw an IllegalArgumentException.
    • areParamsCompatible

      private static boolean areParamsCompatible(IType[] actualParamTypes, IType[] userParamTypes)
    • callableConstructor

      public static IConstructorInfo callableConstructor(List<? extends IConstructorInfo> constructors, IType... params)
      If there is a tie this method will throw an IllegalArgumentException. This method is not strict, which means that clients calling this method may get back a constructor where the arguments must be coerced to the expected parameter tyeps. If you wish strict behavior call callableConstructorStrict(java.util.List, IType[])
    • callableConstructorStrict

      public static IConstructorInfo callableConstructorStrict(List<? extends IConstructorInfo> constructors, IType... params)
      If there is a tie this method will throw an IllegalArgumentException. This version is strict, which means that clients calling this method do not need to do any coercion of arguments in order to invoke the IConstructorInfo.
    • callableConstructorImpl

      private static IConstructorInfo callableConstructorImpl(List<? extends IConstructorInfo> constructors, boolean strict, IType... params)
    • areParamsEqual

      public static boolean areParamsEqual(IParameterInfo[] srcArgs, IType[] testArgs)
    • typeVarsAreFromDifferentMethods

      private static boolean typeVarsAreFromDifferentMethods(IType methodParamType, IType testParamType)
    • getConcreteBoundingType

      private static IType getConcreteBoundingType(IType type)