#10000=@"/foreach.js;sourcefile" files(#10000,"/foreach.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=* comments(#20002,0,#20001," logs ""26"", which is 5+13+8","// logs ... 5+13+8") #20003=@"loc,{#10000},8,19,8,47" locations_default(#20003,#10000,8,19,8,47) hasLocation(#20002,#20003) #20004=* lines(#20004,#20001,"var sum = 0;"," ") #20005=@"loc,{#10000},1,1,1,12" locations_default(#20005,#10000,1,1,1,12) hasLocation(#20004,#20005) #20006=* lines(#20006,#20001,"var obj = {prop1: 5, prop2: 13, prop3: 8};"," ") #20007=@"loc,{#10000},2,1,2,42" locations_default(#20007,#10000,2,1,2,42) hasLocation(#20006,#20007) #20008=* lines(#20008,#20001,""," ") #20009=@"loc,{#10000},3,1,3,0" locations_default(#20009,#10000,3,1,3,0) hasLocation(#20008,#20009) #20010=* lines(#20010,#20001,"for each (var item in obj) {"," ") #20011=@"loc,{#10000},4,1,4,28" locations_default(#20011,#10000,4,1,4,28) hasLocation(#20010,#20011) #20012=* lines(#20012,#20001," sum += item;"," ") #20013=@"loc,{#10000},5,1,5,14" locations_default(#20013,#10000,5,1,5,14) hasLocation(#20012,#20013) indentation(#10000,5," ",2) #20014=* lines(#20014,#20001,"}"," ") #20015=@"loc,{#10000},6,1,6,1" locations_default(#20015,#10000,6,1,6,1) hasLocation(#20014,#20015) #20016=* lines(#20016,#20001,""," ") #20017=@"loc,{#10000},7,1,7,0" locations_default(#20017,#10000,7,1,7,0) hasLocation(#20016,#20017) #20018=* lines(#20018,#20001,"console.log(sum); // logs ""26"", which is 5+13+8"," ") #20019=@"loc,{#10000},8,1,8,47" locations_default(#20019,#10000,8,1,8,47) hasLocation(#20018,#20019) numlines(#20001,8,6,1) #20020=* tokeninfo(#20020,7,#20001,0,"var") #20021=@"loc,{#10000},1,1,1,3" locations_default(#20021,#10000,1,1,1,3) hasLocation(#20020,#20021) #20022=* tokeninfo(#20022,6,#20001,1,"sum") #20023=@"loc,{#10000},1,5,1,7" locations_default(#20023,#10000,1,5,1,7) hasLocation(#20022,#20023) #20024=* tokeninfo(#20024,8,#20001,2,"=") #20025=@"loc,{#10000},1,9,1,9" locations_default(#20025,#10000,1,9,1,9) hasLocation(#20024,#20025) #20026=* tokeninfo(#20026,3,#20001,3,"0") #20027=@"loc,{#10000},1,11,1,11" locations_default(#20027,#10000,1,11,1,11) hasLocation(#20026,#20027) #20028=* tokeninfo(#20028,8,#20001,4,";") #20029=@"loc,{#10000},1,12,1,12" locations_default(#20029,#10000,1,12,1,12) hasLocation(#20028,#20029) #20030=* tokeninfo(#20030,7,#20001,5,"var") #20031=@"loc,{#10000},2,1,2,3" locations_default(#20031,#10000,2,1,2,3) hasLocation(#20030,#20031) #20032=* tokeninfo(#20032,6,#20001,6,"obj") #20033=@"loc,{#10000},2,5,2,7" locations_default(#20033,#10000,2,5,2,7) hasLocation(#20032,#20033) #20034=* tokeninfo(#20034,8,#20001,7,"=") #20035=@"loc,{#10000},2,9,2,9" locations_default(#20035,#10000,2,9,2,9) hasLocation(#20034,#20035) #20036=* tokeninfo(#20036,8,#20001,8,"{") #20037=@"loc,{#10000},2,11,2,11" locations_default(#20037,#10000,2,11,2,11) hasLocation(#20036,#20037) #20038=* tokeninfo(#20038,6,#20001,9,"prop1") #20039=@"loc,{#10000},2,12,2,16" locations_default(#20039,#10000,2,12,2,16) hasLocation(#20038,#20039) #20040=* tokeninfo(#20040,8,#20001,10,":") #20041=@"loc,{#10000},2,17,2,17" locations_default(#20041,#10000,2,17,2,17) hasLocation(#20040,#20041) #20042=* tokeninfo(#20042,3,#20001,11,"5") #20043=@"loc,{#10000},2,19,2,19" locations_default(#20043,#10000,2,19,2,19) hasLocation(#20042,#20043) #20044=* tokeninfo(#20044,8,#20001,12,",") #20045=@"loc,{#10000},2,20,2,20" locations_default(#20045,#10000,2,20,2,20) hasLocation(#20044,#20045) #20046=* tokeninfo(#20046,6,#20001,13,"prop2") #20047=@"loc,{#10000},2,22,2,26" locations_default(#20047,#10000,2,22,2,26) hasLocation(#20046,#20047) #20048=* tokeninfo(#20048,8,#20001,14,":") #20049=@"loc,{#10000},2,27,2,27" locations_default(#20049,#10000,2,27,2,27) hasLocation(#20048,#20049) #20050=* tokeninfo(#20050,3,#20001,15,"13") #20051=@"loc,{#10000},2,29,2,30" locations_default(#20051,#10000,2,29,2,30) hasLocation(#20050,#20051) #20052=* tokeninfo(#20052,8,#20001,16,",") #20053=@"loc,{#10000},2,31,2,31" locations_default(#20053,#10000,2,31,2,31) hasLocation(#20052,#20053) #20054=* tokeninfo(#20054,6,#20001,17,"prop3") #20055=@"loc,{#10000},2,33,2,37" locations_default(#20055,#10000,2,33,2,37) hasLocation(#20054,#20055) #20056=* tokeninfo(#20056,8,#20001,18,":") #20057=@"loc,{#10000},2,38,2,38" locations_default(#20057,#10000,2,38,2,38) hasLocation(#20056,#20057) #20058=* tokeninfo(#20058,3,#20001,19,"8") #20059=@"loc,{#10000},2,40,2,40" locations_default(#20059,#10000,2,40,2,40) hasLocation(#20058,#20059) #20060=* tokeninfo(#20060,8,#20001,20,"}") #20061=@"loc,{#10000},2,41,2,41" locations_default(#20061,#10000,2,41,2,41) hasLocation(#20060,#20061) #20062=* tokeninfo(#20062,8,#20001,21,";") #20063=@"loc,{#10000},2,42,2,42" locations_default(#20063,#10000,2,42,2,42) hasLocation(#20062,#20063) #20064=* tokeninfo(#20064,7,#20001,22,"for") #20065=@"loc,{#10000},4,1,4,3" locations_default(#20065,#10000,4,1,4,3) hasLocation(#20064,#20065) #20066=* tokeninfo(#20066,6,#20001,23,"each") #20067=@"loc,{#10000},4,5,4,8" locations_default(#20067,#10000,4,5,4,8) hasLocation(#20066,#20067) #20068=* tokeninfo(#20068,8,#20001,24,"(") #20069=@"loc,{#10000},4,10,4,10" locations_default(#20069,#10000,4,10,4,10) hasLocation(#20068,#20069) #20070=* tokeninfo(#20070,7,#20001,25,"var") #20071=@"loc,{#10000},4,11,4,13" locations_default(#20071,#10000,4,11,4,13) hasLocation(#20070,#20071) #20072=* tokeninfo(#20072,6,#20001,26,"item") #20073=@"loc,{#10000},4,15,4,18" locations_default(#20073,#10000,4,15,4,18) hasLocation(#20072,#20073) #20074=* tokeninfo(#20074,7,#20001,27,"in") #20075=@"loc,{#10000},4,20,4,21" locations_default(#20075,#10000,4,20,4,21) hasLocation(#20074,#20075) #20076=* tokeninfo(#20076,6,#20001,28,"obj") #20077=@"loc,{#10000},4,23,4,25" locations_default(#20077,#10000,4,23,4,25) hasLocation(#20076,#20077) #20078=* tokeninfo(#20078,8,#20001,29,")") #20079=@"loc,{#10000},4,26,4,26" locations_default(#20079,#10000,4,26,4,26) hasLocation(#20078,#20079) #20080=* tokeninfo(#20080,8,#20001,30,"{") #20081=@"loc,{#10000},4,28,4,28" locations_default(#20081,#10000,4,28,4,28) hasLocation(#20080,#20081) #20082=* tokeninfo(#20082,6,#20001,31,"sum") #20083=@"loc,{#10000},5,3,5,5" locations_default(#20083,#10000,5,3,5,5) hasLocation(#20082,#20083) #20084=* tokeninfo(#20084,8,#20001,32,"+=") #20085=@"loc,{#10000},5,7,5,8" locations_default(#20085,#10000,5,7,5,8) hasLocation(#20084,#20085) #20086=* tokeninfo(#20086,6,#20001,33,"item") #20087=@"loc,{#10000},5,10,5,13" locations_default(#20087,#10000,5,10,5,13) hasLocation(#20086,#20087) #20088=* tokeninfo(#20088,8,#20001,34,";") #20089=@"loc,{#10000},5,14,5,14" locations_default(#20089,#10000,5,14,5,14) hasLocation(#20088,#20089) #20090=* tokeninfo(#20090,8,#20001,35,"}") hasLocation(#20090,#20015) #20091=* tokeninfo(#20091,6,#20001,36,"console") #20092=@"loc,{#10000},8,1,8,7" locations_default(#20092,#10000,8,1,8,7) hasLocation(#20091,#20092) #20093=* tokeninfo(#20093,8,#20001,37,".") #20094=@"loc,{#10000},8,8,8,8" locations_default(#20094,#10000,8,8,8,8) hasLocation(#20093,#20094) #20095=* tokeninfo(#20095,6,#20001,38,"log") #20096=@"loc,{#10000},8,9,8,11" locations_default(#20096,#10000,8,9,8,11) hasLocation(#20095,#20096) #20097=* tokeninfo(#20097,8,#20001,39,"(") #20098=@"loc,{#10000},8,12,8,12" locations_default(#20098,#10000,8,12,8,12) hasLocation(#20097,#20098) #20099=* tokeninfo(#20099,6,#20001,40,"sum") #20100=@"loc,{#10000},8,13,8,15" locations_default(#20100,#10000,8,13,8,15) hasLocation(#20099,#20100) #20101=* tokeninfo(#20101,8,#20001,41,")") #20102=@"loc,{#10000},8,16,8,16" locations_default(#20102,#10000,8,16,8,16) hasLocation(#20101,#20102) #20103=* tokeninfo(#20103,8,#20001,42,";") #20104=@"loc,{#10000},8,17,8,17" locations_default(#20104,#10000,8,17,8,17) hasLocation(#20103,#20104) #20105=* tokeninfo(#20105,0,#20001,43,"") #20106=@"loc,{#10000},9,1,9,0" locations_default(#20106,#10000,9,1,9,0) hasLocation(#20105,#20106) next_token(#20002,#20105) toplevels(#20001,0) #20107=@"loc,{#10000},1,1,9,0" locations_default(#20107,#10000,1,1,9,0) hasLocation(#20001,#20107) #20108=@"var;{sum};{#20000}" variables(#20108,"sum",#20000) #20109=@"var;{obj};{#20000}" variables(#20109,"obj",#20000) #20110=@"var;{item};{#20000}" variables(#20110,"item",#20000) #20111=* stmts(#20111,18,#20001,0,"var sum = 0;") hasLocation(#20111,#20005) stmt_containers(#20111,#20001) #20112=* exprs(#20112,64,#20111,0,"sum = 0") #20113=@"loc,{#10000},1,5,1,11" locations_default(#20113,#10000,1,5,1,11) hasLocation(#20112,#20113) enclosing_stmt(#20112,#20111) expr_containers(#20112,#20001) #20114=* exprs(#20114,78,#20112,0,"sum") hasLocation(#20114,#20023) enclosing_stmt(#20114,#20111) expr_containers(#20114,#20001) literals("sum","sum",#20114) decl(#20114,#20108) #20115=* exprs(#20115,3,#20112,1,"0") hasLocation(#20115,#20027) enclosing_stmt(#20115,#20111) expr_containers(#20115,#20001) literals("0","0",#20115) #20116=* stmts(#20116,18,#20001,1,"var obj ... p3: 8};") hasLocation(#20116,#20007) stmt_containers(#20116,#20001) #20117=* exprs(#20117,64,#20116,0,"obj = { ... op3: 8}") #20118=@"loc,{#10000},2,5,2,41" locations_default(#20118,#10000,2,5,2,41) hasLocation(#20117,#20118) enclosing_stmt(#20117,#20116) expr_containers(#20117,#20001) #20119=* exprs(#20119,78,#20117,0,"obj") hasLocation(#20119,#20033) enclosing_stmt(#20119,#20116) expr_containers(#20119,#20001) literals("obj","obj",#20119) decl(#20119,#20109) #20120=* exprs(#20120,8,#20117,1,"{prop1: ... op3: 8}") #20121=@"loc,{#10000},2,11,2,41" locations_default(#20121,#10000,2,11,2,41) hasLocation(#20120,#20121) enclosing_stmt(#20120,#20116) expr_containers(#20120,#20001) #20122=* properties(#20122,#20120,0,0,"prop1: 5") #20123=@"loc,{#10000},2,12,2,19" locations_default(#20123,#10000,2,12,2,19) hasLocation(#20122,#20123) #20124=* exprs(#20124,0,#20122,0,"prop1") hasLocation(#20124,#20039) enclosing_stmt(#20124,#20116) expr_containers(#20124,#20001) literals("prop1","prop1",#20124) #20125=* exprs(#20125,3,#20122,1,"5") hasLocation(#20125,#20043) enclosing_stmt(#20125,#20116) expr_containers(#20125,#20001) literals("5","5",#20125) #20126=* properties(#20126,#20120,1,0,"prop2: 13") #20127=@"loc,{#10000},2,22,2,30" locations_default(#20127,#10000,2,22,2,30) hasLocation(#20126,#20127) #20128=* exprs(#20128,0,#20126,0,"prop2") hasLocation(#20128,#20047) enclosing_stmt(#20128,#20116) expr_containers(#20128,#20001) literals("prop2","prop2",#20128) #20129=* exprs(#20129,3,#20126,1,"13") hasLocation(#20129,#20051) enclosing_stmt(#20129,#20116) expr_containers(#20129,#20001) literals("13","13",#20129) #20130=* properties(#20130,#20120,2,0,"prop3: 8") #20131=@"loc,{#10000},2,33,2,40" locations_default(#20131,#10000,2,33,2,40) hasLocation(#20130,#20131) #20132=* exprs(#20132,0,#20130,0,"prop3") hasLocation(#20132,#20055) enclosing_stmt(#20132,#20116) expr_containers(#20132,#20001) literals("prop3","prop3",#20132) #20133=* exprs(#20133,3,#20130,1,"8") hasLocation(#20133,#20059) enclosing_stmt(#20133,#20116) expr_containers(#20133,#20001) literals("8","8",#20133) #20134=* stmts(#20134,25,#20001,2,"for eac ... item;\n}") #20135=@"loc,{#10000},4,1,6,1" locations_default(#20135,#10000,4,1,6,1) hasLocation(#20134,#20135) stmt_containers(#20134,#20001) #20136=* exprs(#20136,79,#20134,1,"obj") hasLocation(#20136,#20077) enclosing_stmt(#20136,#20134) expr_containers(#20136,#20001) literals("obj","obj",#20136) bind(#20136,#20109) #20137=* stmts(#20137,18,#20134,0,"var item") #20138=@"loc,{#10000},4,11,4,18" locations_default(#20138,#10000,4,11,4,18) hasLocation(#20137,#20138) stmt_containers(#20137,#20001) #20139=* exprs(#20139,64,#20137,0,"item") hasLocation(#20139,#20073) enclosing_stmt(#20139,#20137) expr_containers(#20139,#20001) #20140=* exprs(#20140,78,#20139,0,"item") hasLocation(#20140,#20073) enclosing_stmt(#20140,#20137) expr_containers(#20140,#20001) literals("item","item",#20140) decl(#20140,#20110) #20141=* stmts(#20141,1,#20134,2,"{\n sum += item;\n}") #20142=@"loc,{#10000},4,28,6,1" locations_default(#20142,#10000,4,28,6,1) hasLocation(#20141,#20142) stmt_containers(#20141,#20001) #20143=* stmts(#20143,2,#20141,0,"sum += item;") #20144=@"loc,{#10000},5,3,5,14" locations_default(#20144,#10000,5,3,5,14) hasLocation(#20143,#20144) stmt_containers(#20143,#20001) #20145=* exprs(#20145,48,#20143,0,"sum += item") #20146=@"loc,{#10000},5,3,5,13" locations_default(#20146,#10000,5,3,5,13) hasLocation(#20145,#20146) enclosing_stmt(#20145,#20143) expr_containers(#20145,#20001) #20147=* exprs(#20147,79,#20145,0,"sum") hasLocation(#20147,#20083) enclosing_stmt(#20147,#20143) expr_containers(#20147,#20001) literals("sum","sum",#20147) bind(#20147,#20108) #20148=* exprs(#20148,79,#20145,1,"item") hasLocation(#20148,#20087) enclosing_stmt(#20148,#20143) expr_containers(#20148,#20001) literals("item","item",#20148) bind(#20148,#20110) #20149=* stmts(#20149,2,#20001,3,"console.log(sum);") #20150=@"loc,{#10000},8,1,8,17" locations_default(#20150,#10000,8,1,8,17) hasLocation(#20149,#20150) stmt_containers(#20149,#20001) #20151=* exprs(#20151,13,#20149,0,"console.log(sum)") #20152=@"loc,{#10000},8,1,8,16" locations_default(#20152,#10000,8,1,8,16) hasLocation(#20151,#20152) enclosing_stmt(#20151,#20149) expr_containers(#20151,#20001) #20153=* exprs(#20153,14,#20151,-1,"console.log") #20154=@"loc,{#10000},8,1,8,11" locations_default(#20154,#10000,8,1,8,11) hasLocation(#20153,#20154) enclosing_stmt(#20153,#20149) expr_containers(#20153,#20001) #20155=* exprs(#20155,79,#20153,0,"console") hasLocation(#20155,#20092) enclosing_stmt(#20155,#20149) expr_containers(#20155,#20001) literals("console","console",#20155) #20156=@"var;{console};{#20000}" variables(#20156,"console",#20000) bind(#20155,#20156) #20157=* exprs(#20157,0,#20153,1,"log") hasLocation(#20157,#20096) enclosing_stmt(#20157,#20149) expr_containers(#20157,#20001) literals("log","log",#20157) #20158=* exprs(#20158,79,#20151,0,"sum") hasLocation(#20158,#20100) enclosing_stmt(#20158,#20149) expr_containers(#20158,#20001) literals("sum","sum",#20158) bind(#20158,#20108) #20159=* entry_cfg_node(#20159,#20001) #20160=@"loc,{#10000},1,1,1,0" locations_default(#20160,#10000,1,1,1,0) hasLocation(#20159,#20160) #20161=* exit_cfg_node(#20161,#20001) hasLocation(#20161,#20106) successor(#20149,#20155) successor(#20158,#20151) successor(#20157,#20153) successor(#20155,#20157) successor(#20153,#20158) successor(#20151,#20161) successor(#20136,#20134) successor(#20134,#20137) successor(#20134,#20149) successor(#20141,#20143) successor(#20143,#20147) successor(#20148,#20145) successor(#20147,#20148) successor(#20145,#20134) successor(#20137,#20140) successor(#20140,#20139) successor(#20139,#20141) successor(#20116,#20119) successor(#20120,#20124) successor(#20133,#20130) successor(#20132,#20133) successor(#20130,#20117) successor(#20129,#20126) successor(#20128,#20129) successor(#20126,#20132) successor(#20125,#20122) successor(#20124,#20125) successor(#20122,#20128) successor(#20119,#20120) successor(#20117,#20136) successor(#20111,#20114) successor(#20115,#20112) successor(#20114,#20115) successor(#20112,#20116) successor(#20159,#20111) numlines(#10000,8,6,1) filetype(#10000,"javascript")