#10000=@"/guardedCatch.js;sourcefile" files(#10000,"/guardedCatch.js") #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=@"script;{#10000},1,1" #20002=* lines(#20002,#20001,"function f(g) {"," ") #20003=@"loc,{#10000},1,1,1,15" locations_default(#20003,#10000,1,1,1,15) hasLocation(#20002,#20003) #20004=* lines(#20004,#20001," try {"," ") #20005=@"loc,{#10000},2,1,2,6" locations_default(#20005,#10000,2,1,2,6) hasLocation(#20004,#20005) indentation(#10000,2," ",1) #20006=* lines(#20006,#20001," g();"," ") #20007=@"loc,{#10000},3,1,3,6" locations_default(#20007,#10000,3,1,3,6) hasLocation(#20006,#20007) indentation(#10000,3," ",2) #20008=* lines(#20008,#20001," } catch (e if e instanceof Error) {"," ") #20009=@"loc,{#10000},4,1,4,36" locations_default(#20009,#10000,4,1,4,36) hasLocation(#20008,#20009) indentation(#10000,4," ",1) #20010=* lines(#20010,#20001," console.log(""error!"");"," ") #20011=@"loc,{#10000},5,1,5,24" locations_default(#20011,#10000,5,1,5,24) hasLocation(#20010,#20011) indentation(#10000,5," ",2) #20012=* lines(#20012,#20001," } catch (e) {"," ") #20013=@"loc,{#10000},6,1,6,14" locations_default(#20013,#10000,6,1,6,14) hasLocation(#20012,#20013) indentation(#10000,6," ",1) #20014=* lines(#20014,#20001," console.log(""something else!"");"," ") #20015=@"loc,{#10000},7,1,7,33" locations_default(#20015,#10000,7,1,7,33) hasLocation(#20014,#20015) indentation(#10000,7," ",2) #20016=* lines(#20016,#20001," }"," ") #20017=@"loc,{#10000},8,1,8,2" locations_default(#20017,#10000,8,1,8,2) hasLocation(#20016,#20017) indentation(#10000,8," ",1) #20018=* lines(#20018,#20001,"}","") #20019=@"loc,{#10000},9,1,9,1" locations_default(#20019,#10000,9,1,9,1) hasLocation(#20018,#20019) numlines(#20001,9,9,0) #20020=* tokeninfo(#20020,7,#20001,0,"function") #20021=@"loc,{#10000},1,1,1,8" locations_default(#20021,#10000,1,1,1,8) hasLocation(#20020,#20021) #20022=* tokeninfo(#20022,6,#20001,1,"f") #20023=@"loc,{#10000},1,10,1,10" locations_default(#20023,#10000,1,10,1,10) hasLocation(#20022,#20023) #20024=* tokeninfo(#20024,8,#20001,2,"(") #20025=@"loc,{#10000},1,11,1,11" locations_default(#20025,#10000,1,11,1,11) hasLocation(#20024,#20025) #20026=* tokeninfo(#20026,6,#20001,3,"g") #20027=@"loc,{#10000},1,12,1,12" locations_default(#20027,#10000,1,12,1,12) hasLocation(#20026,#20027) #20028=* tokeninfo(#20028,8,#20001,4,")") #20029=@"loc,{#10000},1,13,1,13" locations_default(#20029,#10000,1,13,1,13) hasLocation(#20028,#20029) #20030=* tokeninfo(#20030,8,#20001,5,"{") #20031=@"loc,{#10000},1,15,1,15" locations_default(#20031,#10000,1,15,1,15) hasLocation(#20030,#20031) #20032=* tokeninfo(#20032,7,#20001,6,"try") #20033=@"loc,{#10000},2,2,2,4" locations_default(#20033,#10000,2,2,2,4) hasLocation(#20032,#20033) #20034=* tokeninfo(#20034,8,#20001,7,"{") #20035=@"loc,{#10000},2,6,2,6" locations_default(#20035,#10000,2,6,2,6) hasLocation(#20034,#20035) #20036=* tokeninfo(#20036,6,#20001,8,"g") #20037=@"loc,{#10000},3,3,3,3" locations_default(#20037,#10000,3,3,3,3) hasLocation(#20036,#20037) #20038=* tokeninfo(#20038,8,#20001,9,"(") #20039=@"loc,{#10000},3,4,3,4" locations_default(#20039,#10000,3,4,3,4) hasLocation(#20038,#20039) #20040=* tokeninfo(#20040,8,#20001,10,")") #20041=@"loc,{#10000},3,5,3,5" locations_default(#20041,#10000,3,5,3,5) hasLocation(#20040,#20041) #20042=* tokeninfo(#20042,8,#20001,11,";") #20043=@"loc,{#10000},3,6,3,6" locations_default(#20043,#10000,3,6,3,6) hasLocation(#20042,#20043) #20044=* tokeninfo(#20044,8,#20001,12,"}") #20045=@"loc,{#10000},4,2,4,2" locations_default(#20045,#10000,4,2,4,2) hasLocation(#20044,#20045) #20046=* tokeninfo(#20046,7,#20001,13,"catch") #20047=@"loc,{#10000},4,4,4,8" locations_default(#20047,#10000,4,4,4,8) hasLocation(#20046,#20047) #20048=* tokeninfo(#20048,8,#20001,14,"(") #20049=@"loc,{#10000},4,10,4,10" locations_default(#20049,#10000,4,10,4,10) hasLocation(#20048,#20049) #20050=* tokeninfo(#20050,6,#20001,15,"e") #20051=@"loc,{#10000},4,11,4,11" locations_default(#20051,#10000,4,11,4,11) hasLocation(#20050,#20051) #20052=* tokeninfo(#20052,7,#20001,16,"if") #20053=@"loc,{#10000},4,13,4,14" locations_default(#20053,#10000,4,13,4,14) hasLocation(#20052,#20053) #20054=* tokeninfo(#20054,6,#20001,17,"e") #20055=@"loc,{#10000},4,16,4,16" locations_default(#20055,#10000,4,16,4,16) hasLocation(#20054,#20055) #20056=* tokeninfo(#20056,7,#20001,18,"instanceof") #20057=@"loc,{#10000},4,18,4,27" locations_default(#20057,#10000,4,18,4,27) hasLocation(#20056,#20057) #20058=* tokeninfo(#20058,6,#20001,19,"Error") #20059=@"loc,{#10000},4,29,4,33" locations_default(#20059,#10000,4,29,4,33) hasLocation(#20058,#20059) #20060=* tokeninfo(#20060,8,#20001,20,")") #20061=@"loc,{#10000},4,34,4,34" locations_default(#20061,#10000,4,34,4,34) hasLocation(#20060,#20061) #20062=* tokeninfo(#20062,8,#20001,21,"{") #20063=@"loc,{#10000},4,36,4,36" locations_default(#20063,#10000,4,36,4,36) hasLocation(#20062,#20063) #20064=* tokeninfo(#20064,6,#20001,22,"console") #20065=@"loc,{#10000},5,3,5,9" locations_default(#20065,#10000,5,3,5,9) hasLocation(#20064,#20065) #20066=* tokeninfo(#20066,8,#20001,23,".") #20067=@"loc,{#10000},5,10,5,10" locations_default(#20067,#10000,5,10,5,10) hasLocation(#20066,#20067) #20068=* tokeninfo(#20068,6,#20001,24,"log") #20069=@"loc,{#10000},5,11,5,13" locations_default(#20069,#10000,5,11,5,13) hasLocation(#20068,#20069) #20070=* tokeninfo(#20070,8,#20001,25,"(") #20071=@"loc,{#10000},5,14,5,14" locations_default(#20071,#10000,5,14,5,14) hasLocation(#20070,#20071) #20072=* tokeninfo(#20072,4,#20001,26,"""error!""") #20073=@"loc,{#10000},5,15,5,22" locations_default(#20073,#10000,5,15,5,22) hasLocation(#20072,#20073) #20074=* tokeninfo(#20074,8,#20001,27,")") #20075=@"loc,{#10000},5,23,5,23" locations_default(#20075,#10000,5,23,5,23) hasLocation(#20074,#20075) #20076=* tokeninfo(#20076,8,#20001,28,";") #20077=@"loc,{#10000},5,24,5,24" locations_default(#20077,#10000,5,24,5,24) hasLocation(#20076,#20077) #20078=* tokeninfo(#20078,8,#20001,29,"}") #20079=@"loc,{#10000},6,2,6,2" locations_default(#20079,#10000,6,2,6,2) hasLocation(#20078,#20079) #20080=* tokeninfo(#20080,7,#20001,30,"catch") #20081=@"loc,{#10000},6,4,6,8" locations_default(#20081,#10000,6,4,6,8) hasLocation(#20080,#20081) #20082=* tokeninfo(#20082,8,#20001,31,"(") #20083=@"loc,{#10000},6,10,6,10" locations_default(#20083,#10000,6,10,6,10) hasLocation(#20082,#20083) #20084=* tokeninfo(#20084,6,#20001,32,"e") #20085=@"loc,{#10000},6,11,6,11" locations_default(#20085,#10000,6,11,6,11) hasLocation(#20084,#20085) #20086=* tokeninfo(#20086,8,#20001,33,")") #20087=@"loc,{#10000},6,12,6,12" locations_default(#20087,#10000,6,12,6,12) hasLocation(#20086,#20087) #20088=* tokeninfo(#20088,8,#20001,34,"{") #20089=@"loc,{#10000},6,14,6,14" locations_default(#20089,#10000,6,14,6,14) hasLocation(#20088,#20089) #20090=* tokeninfo(#20090,6,#20001,35,"console") #20091=@"loc,{#10000},7,3,7,9" locations_default(#20091,#10000,7,3,7,9) hasLocation(#20090,#20091) #20092=* tokeninfo(#20092,8,#20001,36,".") #20093=@"loc,{#10000},7,10,7,10" locations_default(#20093,#10000,7,10,7,10) hasLocation(#20092,#20093) #20094=* tokeninfo(#20094,6,#20001,37,"log") #20095=@"loc,{#10000},7,11,7,13" locations_default(#20095,#10000,7,11,7,13) hasLocation(#20094,#20095) #20096=* tokeninfo(#20096,8,#20001,38,"(") #20097=@"loc,{#10000},7,14,7,14" locations_default(#20097,#10000,7,14,7,14) hasLocation(#20096,#20097) #20098=* tokeninfo(#20098,4,#20001,39,"""something else!""") #20099=@"loc,{#10000},7,15,7,31" locations_default(#20099,#10000,7,15,7,31) hasLocation(#20098,#20099) #20100=* tokeninfo(#20100,8,#20001,40,")") #20101=@"loc,{#10000},7,32,7,32" locations_default(#20101,#10000,7,32,7,32) hasLocation(#20100,#20101) #20102=* tokeninfo(#20102,8,#20001,41,";") #20103=@"loc,{#10000},7,33,7,33" locations_default(#20103,#10000,7,33,7,33) hasLocation(#20102,#20103) #20104=* tokeninfo(#20104,8,#20001,42,"}") #20105=@"loc,{#10000},8,2,8,2" locations_default(#20105,#10000,8,2,8,2) hasLocation(#20104,#20105) #20106=* tokeninfo(#20106,8,#20001,43,"}") hasLocation(#20106,#20019) #20107=* tokeninfo(#20107,0,#20001,44,"") #20108=@"loc,{#10000},9,2,9,1" locations_default(#20108,#10000,9,2,9,1) hasLocation(#20107,#20108) toplevels(#20001,0) #20109=@"loc,{#10000},1,1,9,1" locations_default(#20109,#10000,1,1,9,1) hasLocation(#20001,#20109) #20110=@"var;{f};{#20000}" variables(#20110,"f",#20000) #20111=* stmts(#20111,17,#20001,0,"functio ... );\n\t}\n}") hasLocation(#20111,#20109) stmt_containers(#20111,#20001) #20112=* exprs(#20112,78,#20111,-1,"f") hasLocation(#20112,#20023) expr_containers(#20112,#20111) literals("f","f",#20112) decl(#20112,#20110) #20113=* scopes(#20113,1) scopenodes(#20111,#20113) scopenesting(#20113,#20000) #20114=@"var;{g};{#20113}" variables(#20114,"g",#20113) #20115=* exprs(#20115,78,#20111,0,"g") hasLocation(#20115,#20027) expr_containers(#20115,#20111) literals("g","g",#20115) decl(#20115,#20114) #20116=@"var;{arguments};{#20113}" variables(#20116,"arguments",#20113) is_arguments_object(#20116) #20117=* stmts(#20117,1,#20111,-2,"{\n\ttry ... );\n\t}\n}") #20118=@"loc,{#10000},1,15,9,1" locations_default(#20118,#10000,1,15,9,1) hasLocation(#20117,#20118) stmt_containers(#20117,#20111) #20119=* stmts(#20119,11,#20117,0,"try {\n\t ... !"");\n\t}") #20120=@"loc,{#10000},2,2,8,2" locations_default(#20120,#10000,2,2,8,2) hasLocation(#20119,#20120) stmt_containers(#20119,#20111) #20121=* stmts(#20121,1,#20119,0,"{\n\t\tg();\n\t}") #20122=@"loc,{#10000},2,6,4,2" locations_default(#20122,#10000,2,6,4,2) hasLocation(#20121,#20122) stmt_containers(#20121,#20111) #20123=* stmts(#20123,2,#20121,0,"g();") #20124=@"loc,{#10000},3,3,3,6" locations_default(#20124,#10000,3,3,3,6) hasLocation(#20123,#20124) stmt_containers(#20123,#20111) #20125=* exprs(#20125,13,#20123,0,"g()") #20126=@"loc,{#10000},3,3,3,5" locations_default(#20126,#10000,3,3,3,5) hasLocation(#20125,#20126) enclosing_stmt(#20125,#20123) expr_containers(#20125,#20111) #20127=* exprs(#20127,79,#20125,-1,"g") hasLocation(#20127,#20037) enclosing_stmt(#20127,#20123) expr_containers(#20127,#20111) literals("g","g",#20127) bind(#20127,#20114) #20128=* stmts(#20128,20,#20119,1,"catch ( ... !"");\n\t}") #20129=@"loc,{#10000},4,4,6,2" locations_default(#20129,#10000,4,4,6,2) hasLocation(#20128,#20129) stmt_containers(#20128,#20111) #20130=* scopes(#20130,2) scopenodes(#20128,#20130) scopenesting(#20130,#20113) #20131=@"var;{e};{#20130}" variables(#20131,"e",#20130) #20132=* exprs(#20132,78,#20128,0,"e") hasLocation(#20132,#20051) enclosing_stmt(#20132,#20128) expr_containers(#20132,#20111) literals("e","e",#20132) decl(#20132,#20131) #20133=* exprs(#20133,43,#20128,2,"e instanceof Error") #20134=@"loc,{#10000},4,16,4,33" locations_default(#20134,#10000,4,16,4,33) hasLocation(#20133,#20134) enclosing_stmt(#20133,#20128) expr_containers(#20133,#20111) #20135=* exprs(#20135,79,#20133,0,"e") hasLocation(#20135,#20055) enclosing_stmt(#20135,#20128) expr_containers(#20135,#20111) literals("e","e",#20135) bind(#20135,#20131) #20136=* exprs(#20136,79,#20133,1,"Error") hasLocation(#20136,#20059) enclosing_stmt(#20136,#20128) expr_containers(#20136,#20111) literals("Error","Error",#20136) #20137=@"var;{Error};{#20000}" variables(#20137,"Error",#20000) bind(#20136,#20137) #20138=* stmts(#20138,1,#20128,1,"{\n\t\tcon ... !"");\n\t}") #20139=@"loc,{#10000},4,36,6,2" locations_default(#20139,#10000,4,36,6,2) hasLocation(#20138,#20139) stmt_containers(#20138,#20111) #20140=* stmts(#20140,2,#20138,0,"console ... ror!"");") #20141=@"loc,{#10000},5,3,5,24" locations_default(#20141,#10000,5,3,5,24) hasLocation(#20140,#20141) stmt_containers(#20140,#20111) #20142=* exprs(#20142,13,#20140,0,"console ... rror!"")") #20143=@"loc,{#10000},5,3,5,23" locations_default(#20143,#10000,5,3,5,23) hasLocation(#20142,#20143) enclosing_stmt(#20142,#20140) expr_containers(#20142,#20111) #20144=* exprs(#20144,14,#20142,-1,"console.log") #20145=@"loc,{#10000},5,3,5,13" locations_default(#20145,#10000,5,3,5,13) hasLocation(#20144,#20145) enclosing_stmt(#20144,#20140) expr_containers(#20144,#20111) #20146=* exprs(#20146,79,#20144,0,"console") hasLocation(#20146,#20065) enclosing_stmt(#20146,#20140) expr_containers(#20146,#20111) literals("console","console",#20146) #20147=@"var;{console};{#20000}" variables(#20147,"console",#20000) bind(#20146,#20147) #20148=* exprs(#20148,0,#20144,1,"log") hasLocation(#20148,#20069) enclosing_stmt(#20148,#20140) expr_containers(#20148,#20111) literals("log","log",#20148) #20149=* exprs(#20149,4,#20142,0,"""error!""") hasLocation(#20149,#20073) enclosing_stmt(#20149,#20140) expr_containers(#20149,#20111) literals("error!","""error!""",#20149) #20150=* regexpterm(#20150,14,#20149,0,"error!") #20151=@"loc,{#10000},5,16,5,21" locations_default(#20151,#10000,5,16,5,21) hasLocation(#20150,#20151) regexp_const_value(#20150,"error!") #20152=* stmts(#20152,20,#20119,2,"catch ( ... !"");\n\t}") #20153=@"loc,{#10000},6,4,8,2" locations_default(#20153,#10000,6,4,8,2) hasLocation(#20152,#20153) stmt_containers(#20152,#20111) #20154=* scopes(#20154,2) scopenodes(#20152,#20154) scopenesting(#20154,#20113) #20155=@"var;{e};{#20154}" variables(#20155,"e",#20154) #20156=* exprs(#20156,78,#20152,0,"e") hasLocation(#20156,#20085) enclosing_stmt(#20156,#20152) expr_containers(#20156,#20111) literals("e","e",#20156) decl(#20156,#20155) #20157=* stmts(#20157,1,#20152,1,"{\n\t\tcon ... !"");\n\t}") #20158=@"loc,{#10000},6,14,8,2" locations_default(#20158,#10000,6,14,8,2) hasLocation(#20157,#20158) stmt_containers(#20157,#20111) #20159=* stmts(#20159,2,#20157,0,"console ... lse!"");") #20160=@"loc,{#10000},7,3,7,33" locations_default(#20160,#10000,7,3,7,33) hasLocation(#20159,#20160) stmt_containers(#20159,#20111) #20161=* exprs(#20161,13,#20159,0,"console ... else!"")") #20162=@"loc,{#10000},7,3,7,32" locations_default(#20162,#10000,7,3,7,32) hasLocation(#20161,#20162) enclosing_stmt(#20161,#20159) expr_containers(#20161,#20111) #20163=* exprs(#20163,14,#20161,-1,"console.log") #20164=@"loc,{#10000},7,3,7,13" locations_default(#20164,#10000,7,3,7,13) hasLocation(#20163,#20164) enclosing_stmt(#20163,#20159) expr_containers(#20163,#20111) #20165=* exprs(#20165,79,#20163,0,"console") hasLocation(#20165,#20091) enclosing_stmt(#20165,#20159) expr_containers(#20165,#20111) literals("console","console",#20165) bind(#20165,#20147) #20166=* exprs(#20166,0,#20163,1,"log") hasLocation(#20166,#20095) enclosing_stmt(#20166,#20159) expr_containers(#20166,#20111) literals("log","log",#20166) #20167=* exprs(#20167,4,#20161,0,"""something else!""") hasLocation(#20167,#20099) enclosing_stmt(#20167,#20159) expr_containers(#20167,#20111) literals("something else!","""something else!""",#20167) #20168=* regexpterm(#20168,14,#20167,0,"something else!") #20169=@"loc,{#10000},7,16,7,30" locations_default(#20169,#10000,7,16,7,30) hasLocation(#20168,#20169) regexp_const_value(#20168,"something else!") #20170=* entry_cfg_node(#20170,#20001) #20171=@"loc,{#10000},1,1,1,0" locations_default(#20171,#10000,1,1,1,0) hasLocation(#20170,#20171) #20172=* exit_cfg_node(#20172,#20001) hasLocation(#20172,#20108) successor(#20111,#20172) #20173=* entry_cfg_node(#20173,#20111) hasLocation(#20173,#20171) #20174=* exit_cfg_node(#20174,#20111) hasLocation(#20174,#20108) successor(#20117,#20119) successor(#20119,#20121) successor(#20121,#20123) successor(#20123,#20127) successor(#20127,#20125) successor(#20125,#20128) successor(#20125,#20174) successor(#20128,#20132) successor(#20136,#20133) successor(#20135,#20136) successor(#20133,#20138) successor(#20133,#20152) successor(#20132,#20135) successor(#20138,#20140) successor(#20140,#20146) successor(#20149,#20142) successor(#20148,#20144) successor(#20146,#20148) successor(#20144,#20149) successor(#20142,#20174) successor(#20152,#20156) successor(#20157,#20159) successor(#20159,#20165) successor(#20167,#20161) successor(#20166,#20163) successor(#20165,#20166) successor(#20163,#20167) successor(#20161,#20174) successor(#20156,#20157) successor(#20115,#20117) successor(#20173,#20115) successor(#20112,#20111) successor(#20170,#20112) numlines(#10000,9,9,0) filetype(#10000,"javascript")