JS_HashTableAdd(jsdc->scriptsTable, (void *)script, (void *)jsdscript);
_newJSDScript(JSDContext*  jsdc,              JSContext    *cx,              JSScript     *script,              JSFunction*  function){    JSDScript*  jsdscript;    uintN     lineno;    const char* raw_filename;    JS_ASSERT(JSD_SCRIPTS_LOCKED(jsdc));    /* these are inlined javascript: urls and we can't handle them now */    lineno = (uintN) JS_GetScriptBaseLineNumber(cx, script);    if( lineno == 0 )        return NULL;    jsdscript = (JSDScript*) calloc(1, sizeof(JSDScript));    if( ! jsdscript )        return NULL;    raw_filename = JS_GetScriptFilename(cx,script);        JS_APPEND_LINK(&jsdscript->links, &jsdc->scripts);    jsdscript->jsdc         = jsdc;    jsdscript->script       = script;            jsdscript->function     = function;    jsdscript->lineBase     = lineno;    jsdscript->lineExtent   = (uintN)NOT_SET_YET;    jsdscript->data         = NULL;#ifndef LIVEWIRE    jsdscript->url          = (char*) jsd_BuildNormalizedURL(raw_filename);#else    jsdscript->app = LWDBG_GetCurrentApp();        if( jsdscript->app && raw_filename )    {        jsdscript->url = jsdlw_BuildAppRelativeFilename(jsdscript->app, raw_filename);        if( function )        {            jsdscript->lwscript =                 LWDBG_GetScriptOfFunction(jsdscript->app,                                          JS_GetFunctionName(function));                /* also, make sure this file is added to filelist if is .js file */            if( HasFileExtention(raw_filename,"js") ||                 HasFileExtention(raw_filename,"sjs") )            {                jsdlw_PreLoadSource(jsdc, jsdscript->app, raw_filename, JS_FALSE);            }        }        else        {            jsdscript->lwscript = LWDBG_GetCurrentTopLevelScript();        }    }#endif    JS_INIT_CLIST(&jsdscript->hooks);        return jsdscript;}           