NS_IMETHOD GetTypeForParam(PRUint16 methodIndex, const nsXPTParamInfo * param, PRUint16 dimension, nsXPTType *_retval) { return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetTypeForParam(methodIndex, param, dimension, _retval); }
xptiInterfaceInfo::GetTypeForParam(uint16 methodIndex, const nsXPTParamInfo* param, uint16 dimension, nsXPTType* type) { NS_PRECONDITION(param, "bad pointer"); NS_PRECONDITION(type, "bad pointer");  if(!EnsureResolved()) return NS_ERROR_UNEXPECTED;  if(methodIndex < mInterface->mMethodBaseIndex) return mInterface->mParent->GetTypeForParam(methodIndex, param, dimension, type);  if(methodIndex >= mInterface->mMethodBaseIndex + mInterface->mDescriptor->num_methods) { NS_ASSERTION(0, "bad index"); return NS_ERROR_INVALID_ARG; }  const XPTTypeDescriptor *td;  if(dimension) { nsresult rv = GetTypeInArray(param, dimension, &td); if(NS_FAILED(rv)) return rv; } else td = &param->type;  *type = nsXPTType(td->prefix); return NS_OK; }
    NS_IMETHOD GetTypeForParam(PRUint16 methodIndex, const nsXPTParamInfo * param, PRUint16 dimension, nsXPTType *_retval) { return !mEntry ? NS_ERROR_UNEXPECTED : mEntry->GetTypeForParam(methodIndex, param, dimension, _retval); }