if(scriptableCreateInfo && scriptableCreateInfo->GetCallback()) { mScriptableInfo = XPCNativeScriptableInfo::Construct(ccx, scriptableCreateInfo); if(!mScriptableInfo) return JS_FALSE; }
mMessage.Assign(message); mSourceName.Assign(sourceName); mLineNumber = lineNumber; mSourceLine.Assign(sourceLine); mColumnNumber = columnNumber; mFlags = flags; mCategory.Assign(category);
XPCWrappedNativeProto::Init(                XPCCallContext& ccx,                const XPCNativeScriptableCreateInfo* scriptableCreateInfo){    if(scriptableCreateInfo && scriptableCreateInfo->GetCallback())    {        mScriptableInfo =            XPCNativeScriptableInfo::Construct(ccx, scriptableCreateInfo);        if(!mScriptableInfo)            return JS_FALSE;    }    JSClass* jsclazz = mScriptableInfo &&                       mScriptableInfo->GetFlags().AllowPropModsToPrototype() ?                            &XPC_WN_ModsAllowed_Proto_JSClass :                            &XPC_WN_NoMods_Proto_JSClass;    mJSProtoObject = JS_NewObject(ccx, jsclazz,                                  mScope->GetPrototypeJSObject(),                                  mScope->GetGlobalJSObject());    JSBool retval = mJSProtoObject && JS_SetPrivate(ccx, mJSProtoObject, this);    DEBUG_ReportShadowedMembers(mSet, nsnull, this);    return retval;}