Class ITypeInfo.FIND

  • Enclosing interface:
    ITypeInfo

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

      • EMPTY_TYPES

        private static final IType[] EMPTY_TYPES
    • Constructor Detail

      • FIND

        public FIND()
    • Method Detail

      • callableMethod

        public static IMethodInfo callableMethod​(MethodList methods,
                                                 java.lang.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,
                                                       java.lang.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,
                                                      java.lang.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​(java.util.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​(java.util.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.
      • 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)