#10000=@"/tst.html;sourcefile" files(#10000,"/tst.html") #10001=@"/;folder" folders(#10001,"/") containerparent(#10001,#10000) #10002=@"loc,{#10000},0,0,0,0" locations_default(#10002,#10000,0,0,0,0) hasLocation(#10000,#10002) #20000=@"global_scope" scopes(#20000,0) #20001=* #20002=@"script;{#10000},5,17" #20003=* lines(#20003,#20002,""," ") #20004=@"loc,{#10000},5,17,5,16" locations_default(#20004,#10000,5,17,5,16) hasLocation(#20003,#20004) #20005=* lines(#20005,#20002," alert(""Hello, world!"");"," ") #20006=@"loc,{#10000},6,1,6,35" locations_default(#20006,#10000,6,1,6,35) hasLocation(#20005,#20006) indentation(#10000,6," ",12) #20007=* lines(#20007,#20002," ","") #20008=@"loc,{#10000},7,1,7,8" locations_default(#20008,#10000,7,1,7,8) hasLocation(#20007,#20008) numlines(#20002,3,1,0) #20009=* tokeninfo(#20009,6,#20002,0,"alert") #20010=@"loc,{#10000},6,13,6,17" locations_default(#20010,#10000,6,13,6,17) hasLocation(#20009,#20010) #20011=* tokeninfo(#20011,8,#20002,1,"(") #20012=@"loc,{#10000},6,18,6,18" locations_default(#20012,#10000,6,18,6,18) hasLocation(#20011,#20012) #20013=* tokeninfo(#20013,4,#20002,2,"""Hello, world!""") #20014=@"loc,{#10000},6,19,6,33" locations_default(#20014,#10000,6,19,6,33) hasLocation(#20013,#20014) #20015=* tokeninfo(#20015,8,#20002,3,")") #20016=@"loc,{#10000},6,34,6,34" locations_default(#20016,#10000,6,34,6,34) hasLocation(#20015,#20016) #20017=* tokeninfo(#20017,8,#20002,4,";") #20018=@"loc,{#10000},6,35,6,35" locations_default(#20018,#10000,6,35,6,35) hasLocation(#20017,#20018) #20019=* tokeninfo(#20019,0,#20002,5,"") #20020=@"loc,{#10000},7,9,7,8" locations_default(#20020,#10000,7,9,7,8) hasLocation(#20019,#20020) toplevels(#20002,1) #20021=@"loc,{#10000},5,17,7,8" locations_default(#20021,#10000,5,17,7,8) hasLocation(#20002,#20021) #20022=* stmts(#20022,2,#20002,0,"alert("" ... rld!"");") #20023=@"loc,{#10000},6,13,6,35" locations_default(#20023,#10000,6,13,6,35) hasLocation(#20022,#20023) stmt_containers(#20022,#20002) #20024=* exprs(#20024,13,#20022,0,"alert("" ... orld!"")") #20025=@"loc,{#10000},6,13,6,34" locations_default(#20025,#10000,6,13,6,34) hasLocation(#20024,#20025) enclosing_stmt(#20024,#20022) expr_containers(#20024,#20002) #20026=* exprs(#20026,79,#20024,-1,"alert") hasLocation(#20026,#20010) enclosing_stmt(#20026,#20022) expr_containers(#20026,#20002) literals("alert","alert",#20026) #20027=@"var;{alert};{#20000}" variables(#20027,"alert",#20000) bind(#20026,#20027) #20028=* exprs(#20028,4,#20024,0,"""Hello, world!""") hasLocation(#20028,#20014) enclosing_stmt(#20028,#20022) expr_containers(#20028,#20002) literals("Hello, world!","""Hello, world!""",#20028) #20029=* regexpterm(#20029,14,#20028,0,"Hello, world!") #20030=@"loc,{#10000},6,20,6,32" locations_default(#20030,#10000,6,20,6,32) hasLocation(#20029,#20030) regexp_const_value(#20029,"Hello, world!") #20031=* entry_cfg_node(#20031,#20002) hasLocation(#20031,#20004) #20032=* exit_cfg_node(#20032,#20002) hasLocation(#20032,#20020) successor(#20022,#20026) successor(#20028,#20024) successor(#20026,#20028) successor(#20024,#20032) successor(#20031,#20022) toplevel_parent_xml_node(#20002,#20001) #20033=* #20034=@"script;{#10000},8,17" #20035=* lines(#20035,#20034,";","") #20036=@"loc,{#10000},8,17,8,17" locations_default(#20036,#10000,8,17,8,17) hasLocation(#20035,#20036) numlines(#20034,1,1,0) #20037=* tokeninfo(#20037,8,#20034,0,";") hasLocation(#20037,#20036) #20038=* tokeninfo(#20038,0,#20034,1,"") #20039=@"loc,{#10000},8,18,8,17" locations_default(#20039,#10000,8,18,8,17) hasLocation(#20038,#20039) toplevels(#20034,1) hasLocation(#20034,#20036) #20040=* stmts(#20040,0,#20034,0,";") hasLocation(#20040,#20036) stmt_containers(#20040,#20034) #20041=* entry_cfg_node(#20041,#20034) #20042=@"loc,{#10000},8,17,8,16" locations_default(#20042,#10000,8,17,8,16) hasLocation(#20041,#20042) #20043=* exit_cfg_node(#20043,#20034) hasLocation(#20043,#20039) successor(#20040,#20043) successor(#20041,#20040) toplevel_parent_xml_node(#20034,#20033) #20044=* #20045=@"script;{#10000},11,29" #20046=* lines(#20046,#20045,"void(alert('Nope!'))","") #20047=@"loc,{#10000},11,29,11,48" locations_default(#20047,#10000,11,29,11,48) hasLocation(#20046,#20047) numlines(#20045,1,1,0) #20048=* tokeninfo(#20048,7,#20045,0,"void") #20049=@"loc,{#10000},11,29,11,32" locations_default(#20049,#10000,11,29,11,32) hasLocation(#20048,#20049) #20050=* tokeninfo(#20050,8,#20045,1,"(") #20051=@"loc,{#10000},11,33,11,33" locations_default(#20051,#10000,11,33,11,33) hasLocation(#20050,#20051) #20052=* tokeninfo(#20052,6,#20045,2,"alert") #20053=@"loc,{#10000},11,34,11,38" locations_default(#20053,#10000,11,34,11,38) hasLocation(#20052,#20053) #20054=* tokeninfo(#20054,8,#20045,3,"(") #20055=@"loc,{#10000},11,39,11,39" locations_default(#20055,#10000,11,39,11,39) hasLocation(#20054,#20055) #20056=* tokeninfo(#20056,4,#20045,4,"'Nope!'") #20057=@"loc,{#10000},11,40,11,46" locations_default(#20057,#10000,11,40,11,46) hasLocation(#20056,#20057) #20058=* tokeninfo(#20058,8,#20045,5,")") #20059=@"loc,{#10000},11,47,11,47" locations_default(#20059,#10000,11,47,11,47) hasLocation(#20058,#20059) #20060=* tokeninfo(#20060,8,#20045,6,")") #20061=@"loc,{#10000},11,48,11,48" locations_default(#20061,#10000,11,48,11,48) hasLocation(#20060,#20061) #20062=* tokeninfo(#20062,0,#20045,7,"") #20063=@"loc,{#10000},11,49,11,48" locations_default(#20063,#10000,11,49,11,48) hasLocation(#20062,#20063) toplevels(#20045,3) hasLocation(#20045,#20047) #20064=* stmts(#20064,2,#20045,0,"void(alert('Nope!'))") hasLocation(#20064,#20047) stmt_containers(#20064,#20045) #20065=* exprs(#20065,21,#20064,0,"void(alert('Nope!'))") hasLocation(#20065,#20047) enclosing_stmt(#20065,#20064) expr_containers(#20065,#20045) #20066=* exprs(#20066,63,#20065,0,"(alert('Nope!'))") #20067=@"loc,{#10000},11,33,11,48" locations_default(#20067,#10000,11,33,11,48) hasLocation(#20066,#20067) enclosing_stmt(#20066,#20064) expr_containers(#20066,#20045) #20068=* exprs(#20068,13,#20066,0,"alert('Nope!')") #20069=@"loc,{#10000},11,34,11,47" locations_default(#20069,#10000,11,34,11,47) hasLocation(#20068,#20069) enclosing_stmt(#20068,#20064) expr_containers(#20068,#20045) #20070=* exprs(#20070,79,#20068,-1,"alert") hasLocation(#20070,#20053) enclosing_stmt(#20070,#20064) expr_containers(#20070,#20045) literals("alert","alert",#20070) bind(#20070,#20027) #20071=* exprs(#20071,4,#20068,0,"'Nope!'") hasLocation(#20071,#20057) enclosing_stmt(#20071,#20064) expr_containers(#20071,#20045) literals("Nope!","'Nope!'",#20071) #20072=* regexpterm(#20072,14,#20071,0,"Nope!") #20073=@"loc,{#10000},11,41,11,45" locations_default(#20073,#10000,11,41,11,45) hasLocation(#20072,#20073) regexp_const_value(#20072,"Nope!") #20074=* entry_cfg_node(#20074,#20045) #20075=@"loc,{#10000},11,29,11,28" locations_default(#20075,#10000,11,29,11,28) hasLocation(#20074,#20075) #20076=* exit_cfg_node(#20076,#20045) hasLocation(#20076,#20063) successor(#20064,#20066) successor(#20066,#20070) successor(#20071,#20068) successor(#20070,#20071) successor(#20068,#20065) successor(#20065,#20076) successor(#20074,#20064) toplevel_parent_xml_node(#20045,#20044) #20077=* #20078=@"script;{#10000},12,23" #20079=* lines(#20079,#20078,"alert('I said don\'t click!')","") #20080=@"loc,{#10000},12,23,12,51" locations_default(#20080,#10000,12,23,12,51) hasLocation(#20079,#20080) numlines(#20078,1,1,0) #20081=* tokeninfo(#20081,6,#20078,0,"alert") #20082=@"loc,{#10000},12,23,12,27" locations_default(#20082,#10000,12,23,12,27) hasLocation(#20081,#20082) #20083=* tokeninfo(#20083,8,#20078,1,"(") #20084=@"loc,{#10000},12,28,12,28" locations_default(#20084,#10000,12,28,12,28) hasLocation(#20083,#20084) #20085=* tokeninfo(#20085,4,#20078,2,"'I said don\'t click!'") #20086=@"loc,{#10000},12,29,12,50" locations_default(#20086,#10000,12,29,12,50) hasLocation(#20085,#20086) #20087=* tokeninfo(#20087,8,#20078,3,")") #20088=@"loc,{#10000},12,51,12,51" locations_default(#20088,#10000,12,51,12,51) hasLocation(#20087,#20088) #20089=* tokeninfo(#20089,0,#20078,4,"") #20090=@"loc,{#10000},12,52,12,51" locations_default(#20090,#10000,12,52,12,51) hasLocation(#20089,#20090) toplevels(#20078,2) hasLocation(#20078,#20080) #20091=* stmts(#20091,2,#20078,0,"alert(' ... lick!')") hasLocation(#20091,#20080) stmt_containers(#20091,#20078) #20092=* exprs(#20092,13,#20091,0,"alert(' ... lick!')") hasLocation(#20092,#20080) enclosing_stmt(#20092,#20091) expr_containers(#20092,#20078) #20093=* exprs(#20093,79,#20092,-1,"alert") hasLocation(#20093,#20082) enclosing_stmt(#20093,#20091) expr_containers(#20093,#20078) literals("alert","alert",#20093) bind(#20093,#20027) #20094=* exprs(#20094,4,#20092,0,"'I said ... click!'") hasLocation(#20094,#20086) enclosing_stmt(#20094,#20091) expr_containers(#20094,#20078) literals("I said don't click!","'I said don\'t click!'",#20094) #20095=* regexpterm(#20095,14,#20094,0,"I said don't click!") #20096=@"loc,{#10000},12,30,12,49" locations_default(#20096,#10000,12,30,12,49) hasLocation(#20095,#20096) regexp_const_value(#20095,"I said don't click!") #20097=* entry_cfg_node(#20097,#20078) #20098=@"loc,{#10000},12,23,12,22" locations_default(#20098,#10000,12,23,12,22) hasLocation(#20097,#20098) #20099=* exit_cfg_node(#20099,#20078) hasLocation(#20099,#20090) successor(#20091,#20093) successor(#20094,#20092) successor(#20093,#20094) successor(#20092,#20099) successor(#20097,#20091) toplevel_parent_xml_node(#20078,#20077) #20100=* #20101=@"script;{#10000},13,21" #20102=* lines(#20102,#20101,"return false;","") #20103=@"loc,{#10000},13,21,13,33" locations_default(#20103,#10000,13,21,13,33) hasLocation(#20102,#20103) numlines(#20101,1,1,0) #20104=* tokeninfo(#20104,7,#20101,0,"return") #20105=@"loc,{#10000},13,21,13,26" locations_default(#20105,#10000,13,21,13,26) hasLocation(#20104,#20105) #20106=* tokeninfo(#20106,2,#20101,1,"false") #20107=@"loc,{#10000},13,28,13,32" locations_default(#20107,#10000,13,28,13,32) hasLocation(#20106,#20107) #20108=* tokeninfo(#20108,8,#20101,2,";") #20109=@"loc,{#10000},13,33,13,33" locations_default(#20109,#10000,13,33,13,33) hasLocation(#20108,#20109) #20110=* tokeninfo(#20110,0,#20101,3,"") #20111=@"loc,{#10000},13,34,13,33" locations_default(#20111,#10000,13,34,13,33) hasLocation(#20110,#20111) toplevels(#20101,2) hasLocation(#20101,#20103) #20112=* stmts(#20112,9,#20101,0,"return false;") hasLocation(#20112,#20103) stmt_containers(#20112,#20101) #20113=* exprs(#20113,2,#20112,0,"false") hasLocation(#20113,#20107) enclosing_stmt(#20113,#20112) expr_containers(#20113,#20101) literals("false","false",#20113) #20114=* entry_cfg_node(#20114,#20101) #20115=@"loc,{#10000},13,21,13,20" locations_default(#20115,#10000,13,21,13,20) hasLocation(#20114,#20115) #20116=* exit_cfg_node(#20116,#20101) hasLocation(#20116,#20111) successor(#20113,#20112) successor(#20112,#20116) successor(#20114,#20113) toplevel_parent_xml_node(#20101,#20100) #20117=* xmlElements(#20117,"html",#10000,0,#10000) #20118=@"loc,{#10000},1,1,18,7" locations_default(#20118,#10000,1,1,18,7) xmllocations(#20117,#20118) #20119=* xmlElements(#20119,"script",#20117,4,#10000) #20120=@"loc,{#10000},17,5,17,29" locations_default(#20120,#10000,17,5,17,29) xmllocations(#20119,#20120) #20121=* xmlAttrs(#20121,#20119,"type","",0,#10000) #20122=@"loc,{#10000},17,13,17,19" locations_default(#20122,#10000,17,13,17,19) xmllocations(#20121,#20122) #20123=* xmlElements(#20123,"script",#20117,3,#10000) #20124=@"loc,{#10000},16,5,16,71" locations_default(#20124,#10000,16,5,16,71) xmllocations(#20123,#20124) #20125=* xmlAttrs(#20125,#20123,"TYPE","text/x-handlebars-template",0,#10000) #20126=@"loc,{#10000},16,13,16,45" locations_default(#20126,#10000,16,13,16,45) xmllocations(#20125,#20126) #20127=* template_placeholder_tag_info(#20127,#20123,"{{name}}") #20128=@"loc,{#10000},16,54,16,61" locations_default(#20128,#10000,16,54,16,61) hasLocation(#20127,#20128) scopes(#20000,0) #20129=@"script;{#10000},16,56" #20130=* lines(#20130,#20129,"name","") #20131=@"loc,{#10000},16,56,16,59" locations_default(#20131,#10000,16,56,16,59) hasLocation(#20130,#20131) numlines(#20129,1,1,0) #20132=* tokeninfo(#20132,6,#20129,0,"name") hasLocation(#20132,#20131) #20133=* tokeninfo(#20133,0,#20129,1,"") #20134=@"loc,{#10000},16,60,16,59" locations_default(#20134,#10000,16,60,16,59) hasLocation(#20133,#20134) toplevels(#20129,4) hasLocation(#20129,#20131) #20135=@"module;{#10000},16,56" scopes(#20135,3) scopenodes(#20129,#20135) scopenesting(#20135,#20000) is_module(#20129) #20136=* stmts(#20136,2,#20129,0,"name") hasLocation(#20136,#20131) stmt_containers(#20136,#20129) #20137=* exprs(#20137,79,#20136,0,"name") hasLocation(#20137,#20131) enclosing_stmt(#20137,#20136) expr_containers(#20137,#20129) literals("name","name",#20137) #20138=@"var;{name};{#20135}" variables(#20138,"name",#20135) bind(#20137,#20138) #20139=* entry_cfg_node(#20139,#20129) #20140=@"loc,{#10000},16,56,16,55" locations_default(#20140,#10000,16,56,16,55) hasLocation(#20139,#20140) #20141=* exit_cfg_node(#20141,#20129) hasLocation(#20141,#20134) successor(#20136,#20137) successor(#20137,#20141) successor(#20139,#20136) toplevel_parent_xml_node(#20129,#20127) #20142=* xmlElements(#20142,"script",#20117,2,#10000) #20143=@"loc,{#10000},15,5,15,71" locations_default(#20143,#10000,15,5,15,71) xmllocations(#20142,#20143) #20144=* xmlAttrs(#20144,#20142,"type","text/x-handlebars-template",0,#10000) #20145=@"loc,{#10000},15,13,15,45" locations_default(#20145,#10000,15,13,15,45) xmllocations(#20144,#20145) #20146=* template_placeholder_tag_info(#20146,#20142,"{{name}}") #20147=@"loc,{#10000},15,54,15,61" locations_default(#20147,#10000,15,54,15,61) hasLocation(#20146,#20147) scopes(#20000,0) #20148=@"script;{#10000},15,56" #20149=* lines(#20149,#20148,"name","") #20150=@"loc,{#10000},15,56,15,59" locations_default(#20150,#10000,15,56,15,59) hasLocation(#20149,#20150) numlines(#20148,1,1,0) #20151=* tokeninfo(#20151,6,#20148,0,"name") hasLocation(#20151,#20150) #20152=* tokeninfo(#20152,0,#20148,1,"") #20153=@"loc,{#10000},15,60,15,59" locations_default(#20153,#10000,15,60,15,59) hasLocation(#20152,#20153) toplevels(#20148,4) hasLocation(#20148,#20150) #20154=@"module;{#10000},15,56" scopes(#20154,3) scopenodes(#20148,#20154) scopenesting(#20154,#20000) is_module(#20148) #20155=* stmts(#20155,2,#20148,0,"name") hasLocation(#20155,#20150) stmt_containers(#20155,#20148) #20156=* exprs(#20156,79,#20155,0,"name") hasLocation(#20156,#20150) enclosing_stmt(#20156,#20155) expr_containers(#20156,#20148) literals("name","name",#20156) #20157=@"var;{name};{#20154}" variables(#20157,"name",#20154) bind(#20156,#20157) #20158=* entry_cfg_node(#20158,#20148) #20159=@"loc,{#10000},15,56,15,55" locations_default(#20159,#10000,15,56,15,55) hasLocation(#20158,#20159) #20160=* exit_cfg_node(#20160,#20148) hasLocation(#20160,#20153) successor(#20155,#20156) successor(#20156,#20160) successor(#20158,#20155) toplevel_parent_xml_node(#20148,#20146) #20161=* xmlElements(#20161,"body",#20117,1,#10000) #20162=@"loc,{#10000},10,5,14,11" locations_default(#20162,#10000,10,5,14,11) xmllocations(#20161,#20162) #20163=* xmlElements(#20163,"a",#20161,2,#10000) #20164=@"loc,{#10000},13,9,13,59" locations_default(#20164,#10000,13,9,13,59) xmllocations(#20163,#20164) xmlAttrs(#20100,#20163,"onclick","return false;",0,#10000) #20165=@"loc,{#10000},13,12,13,34" locations_default(#20165,#10000,13,12,13,34) xmllocations(#20100,#20165) #20166=* xmlElements(#20166,"div",#20161,1,#10000) #20167=@"loc,{#10000},12,9,12,75" locations_default(#20167,#10000,12,9,12,75) xmllocations(#20166,#20167) xmlAttrs(#20077,#20166,"onclick","alert('I said don\'t click!')",0,#10000) #20168=@"loc,{#10000},12,14,12,52" locations_default(#20168,#10000,12,14,12,52) xmllocations(#20077,#20168) #20169=* xmlElements(#20169,"a",#20161,0,#10000) #20170=@"loc,{#10000},11,9,11,64" locations_default(#20170,#10000,11,9,11,64) xmllocations(#20169,#20170) xmlAttrs(#20044,#20169,"href","javascript:void(alert('Nope!'))",0,#10000) #20171=@"loc,{#10000},11,12,11,49" locations_default(#20171,#10000,11,12,11,49) xmllocations(#20044,#20171) #20172=* xmlElements(#20172,"head",#20117,0,#10000) #20173=@"loc,{#10000},2,5,9,11" locations_default(#20173,#10000,2,5,9,11) xmllocations(#20172,#20173) xmlElements(#20033,"script",#20172,3,#10000) #20174=@"loc,{#10000},8,9,8,26" locations_default(#20174,#10000,8,9,8,26) xmllocations(#20033,#20174) xmlElements(#20001,"script",#20172,2,#10000) #20175=@"loc,{#10000},5,9,7,17" locations_default(#20175,#10000,5,9,7,17) xmllocations(#20001,#20175) #20176=* xmlElements(#20176,"script",#20172,1,#10000) #20177=@"loc,{#10000},4,9,4,43" locations_default(#20177,#10000,4,9,4,43) xmllocations(#20176,#20177) #20178=* xmlAttrs(#20178,#20176,"src","external.js",0,#10000) #20179=@"loc,{#10000},4,17,4,33" locations_default(#20179,#10000,4,17,4,33) xmllocations(#20178,#20179) #20180=* xmlElements(#20180,"title",#20172,0,#10000) #20181=@"loc,{#10000},3,9,3,32" locations_default(#20181,#10000,3,9,3,32) xmllocations(#20180,#20181) numlines(#10000,18,7,0) filetype(#10000,"html")