@Override public IGenericTypeVariable[] getTypeVariables(IJavaMethodInfo javaMethodInfo) { IJavaClassTypeVariable[] rawTypeParams = getTypeParameters(); IType declClass = TypeSystem.get(getEnclosingClass()); TypeVarToTypeMap actualParamByVarName = TypeLord.mapTypeByVarName(declClass, declClass); FunctionType functionType = new FunctionType(javaMethodInfo, true); return GenericTypeVariable.convertTypeVars(functionType, rawTypeParams, actualParamByVarName); }
@Override public int hashCode() { int result = _type != null ? _type.hashCode() : 0; result = 31 * result + (_strName != null ? _strName.hashCode() : 0); result = 31 * result + (_enclosingType != null ? _enclosingType.hashCode() : 0); result = 31 * result + (_boundingType != null ? _boundingType.hashCode() : 0); result = 31 * result + (_typeVar != null ? _typeVar.hashCode() : 0); return result; }