NS_WARNING("NSGetStaticModuleInfo not initialized -- is this right?");
nsStaticComponentLoader::GetModuleInfo(){    if (mLoadedInfo)        return NS_OK;    if (!mInfoHash.ops) {       // creation failed in init, why are we here?        NS_WARNING("operating on uninitialized static component loader");        return NS_ERROR_NOT_INITIALIZED;    }    if (! NSGetStaticModuleInfo) {        // apparently we're a static build with no static modules        // to register. Suspicious, but might be as intended in certain        // shared uses (such as by the stand-alone install engine)        NS_WARNING("NSGetStaticModuleInfo not initialized -- is this right?");        return NS_OK;    }    nsStaticModuleInfo *infoList;    PRUint32 count;    nsresult rv;    if (NS_FAILED(rv = (*NSGetStaticModuleInfo)(&infoList, &count)))        return rv;    for (PRUint32 i = 0; i < count; i++) {        StaticModuleInfo *info =            NS_STATIC_CAST(StaticModuleInfo *,                           PL_DHashTableOperate(&mInfoHash, infoList[i].name,                                                PL_DHASH_ADD));        if (!info)            return NS_ERROR_OUT_OF_MEMORY;        info->info = infoList[i];    }    mLoadedInfo = PR_TRUE;    return NS_OK;}