#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=@"var;{this};{#20000}" variables(#20111,"this",#20000) #20112=* stmts(#20112,18,#20001,0,"var sum = 0;") hasLocation(#20112,#20005) stmt_containers(#20112,#20001) #20113=* exprs(#20113,64,#20112,0,"sum = 0") #20114=@"loc,{#10000},1,5,1,11" locations_default(#20114,#10000,1,5,1,11) hasLocation(#20113,#20114) enclosing_stmt(#20113,#20112) expr_containers(#20113,#20001) #20115=* exprs(#20115,78,#20113,0,"sum") hasLocation(#20115,#20023) enclosing_stmt(#20115,#20112) expr_containers(#20115,#20001) literals("sum","sum",#20115) decl(#20115,#20108) #20116=* exprs(#20116,3,#20113,1,"0") hasLocation(#20116,#20027) enclosing_stmt(#20116,#20112) expr_containers(#20116,#20001) literals("0","0",#20116) #20117=* stmts(#20117,18,#20001,1,"var obj ... p3: 8};") hasLocation(#20117,#20007) stmt_containers(#20117,#20001) #20118=* exprs(#20118,64,#20117,0,"obj = { ... op3: 8}") #20119=@"loc,{#10000},2,5,2,41" locations_default(#20119,#10000,2,5,2,41) hasLocation(#20118,#20119) enclosing_stmt(#20118,#20117) expr_containers(#20118,#20001) #20120=* exprs(#20120,78,#20118,0,"obj") hasLocation(#20120,#20033) enclosing_stmt(#20120,#20117) expr_containers(#20120,#20001) literals("obj","obj",#20120) decl(#20120,#20109) #20121=* exprs(#20121,8,#20118,1,"{prop1: ... op3: 8}") #20122=@"loc,{#10000},2,11,2,41" locations_default(#20122,#10000,2,11,2,41) hasLocation(#20121,#20122) enclosing_stmt(#20121,#20117) expr_containers(#20121,#20001) #20123=* properties(#20123,#20121,0,0,"prop1: 5") #20124=@"loc,{#10000},2,12,2,19" locations_default(#20124,#10000,2,12,2,19) hasLocation(#20123,#20124) #20125=* exprs(#20125,0,#20123,0,"prop1") hasLocation(#20125,#20039) enclosing_stmt(#20125,#20117) expr_containers(#20125,#20001) literals("prop1","prop1",#20125) #20126=* exprs(#20126,3,#20123,1,"5") hasLocation(#20126,#20043) enclosing_stmt(#20126,#20117) expr_containers(#20126,#20001) literals("5","5",#20126) #20127=* properties(#20127,#20121,1,0,"prop2: 13") #20128=@"loc,{#10000},2,22,2,30" locations_default(#20128,#10000,2,22,2,30) hasLocation(#20127,#20128) #20129=* exprs(#20129,0,#20127,0,"prop2") hasLocation(#20129,#20047) enclosing_stmt(#20129,#20117) expr_containers(#20129,#20001) literals("prop2","prop2",#20129) #20130=* exprs(#20130,3,#20127,1,"13") hasLocation(#20130,#20051) enclosing_stmt(#20130,#20117) expr_containers(#20130,#20001) literals("13","13",#20130) #20131=* properties(#20131,#20121,2,0,"prop3: 8") #20132=@"loc,{#10000},2,33,2,40" locations_default(#20132,#10000,2,33,2,40) hasLocation(#20131,#20132) #20133=* exprs(#20133,0,#20131,0,"prop3") hasLocation(#20133,#20055) enclosing_stmt(#20133,#20117) expr_containers(#20133,#20001) literals("prop3","prop3",#20133) #20134=* exprs(#20134,3,#20131,1,"8") hasLocation(#20134,#20059) enclosing_stmt(#20134,#20117) expr_containers(#20134,#20001) literals("8","8",#20134) #20135=* stmts(#20135,25,#20001,2,"for eac ... item;\n}") #20136=@"loc,{#10000},4,1,6,1" locations_default(#20136,#10000,4,1,6,1) hasLocation(#20135,#20136) stmt_containers(#20135,#20001) #20137=* exprs(#20137,79,#20135,1,"obj") hasLocation(#20137,#20077) enclosing_stmt(#20137,#20135) expr_containers(#20137,#20001) literals("obj","obj",#20137) bind(#20137,#20109) #20138=* stmts(#20138,18,#20135,0,"var item") #20139=@"loc,{#10000},4,11,4,18" locations_default(#20139,#10000,4,11,4,18) hasLocation(#20138,#20139) stmt_containers(#20138,#20001) #20140=* exprs(#20140,64,#20138,0,"item") hasLocation(#20140,#20073) enclosing_stmt(#20140,#20138) expr_containers(#20140,#20001) #20141=* exprs(#20141,78,#20140,0,"item") hasLocation(#20141,#20073) enclosing_stmt(#20141,#20138) expr_containers(#20141,#20001) literals("item","item",#20141) decl(#20141,#20110) #20142=* stmts(#20142,1,#20135,2,"{\n sum += item;\n}") #20143=@"loc,{#10000},4,28,6,1" locations_default(#20143,#10000,4,28,6,1) hasLocation(#20142,#20143) stmt_containers(#20142,#20001) #20144=* stmts(#20144,2,#20142,0,"sum += item;") #20145=@"loc,{#10000},5,3,5,14" locations_default(#20145,#10000,5,3,5,14) hasLocation(#20144,#20145) stmt_containers(#20144,#20001) #20146=* exprs(#20146,48,#20144,0,"sum += item") #20147=@"loc,{#10000},5,3,5,13" locations_default(#20147,#10000,5,3,5,13) hasLocation(#20146,#20147) enclosing_stmt(#20146,#20144) expr_containers(#20146,#20001) #20148=* exprs(#20148,79,#20146,0,"sum") hasLocation(#20148,#20083) enclosing_stmt(#20148,#20144) expr_containers(#20148,#20001) literals("sum","sum",#20148) bind(#20148,#20108) #20149=* exprs(#20149,79,#20146,1,"item") hasLocation(#20149,#20087) enclosing_stmt(#20149,#20144) expr_containers(#20149,#20001) literals("item","item",#20149) bind(#20149,#20110) #20150=* stmts(#20150,2,#20001,3,"console.log(sum);") #20151=@"loc,{#10000},8,1,8,17" locations_default(#20151,#10000,8,1,8,17) hasLocation(#20150,#20151) stmt_containers(#20150,#20001) #20152=* exprs(#20152,13,#20150,0,"console.log(sum)") #20153=@"loc,{#10000},8,1,8,16" locations_default(#20153,#10000,8,1,8,16) hasLocation(#20152,#20153) enclosing_stmt(#20152,#20150) expr_containers(#20152,#20001) #20154=* exprs(#20154,14,#20152,-1,"console.log") #20155=@"loc,{#10000},8,1,8,11" locations_default(#20155,#10000,8,1,8,11) hasLocation(#20154,#20155) enclosing_stmt(#20154,#20150) expr_containers(#20154,#20001) #20156=* exprs(#20156,79,#20154,0,"console") hasLocation(#20156,#20092) enclosing_stmt(#20156,#20150) expr_containers(#20156,#20001) literals("console","console",#20156) #20157=@"var;{console};{#20000}" variables(#20157,"console",#20000) bind(#20156,#20157) #20158=* exprs(#20158,0,#20154,1,"log") hasLocation(#20158,#20096) enclosing_stmt(#20158,#20150) expr_containers(#20158,#20001) literals("log","log",#20158) #20159=* exprs(#20159,79,#20152,0,"sum") hasLocation(#20159,#20100) enclosing_stmt(#20159,#20150) expr_containers(#20159,#20001) literals("sum","sum",#20159) bind(#20159,#20108) #20160=* entry_cfg_node(#20160,#20001) #20161=@"loc,{#10000},1,1,1,0" locations_default(#20161,#10000,1,1,1,0) hasLocation(#20160,#20161) #20162=* exit_cfg_node(#20162,#20001) hasLocation(#20162,#20106) successor(#20150,#20156) successor(#20159,#20152) successor(#20158,#20154) successor(#20156,#20158) successor(#20154,#20159) successor(#20152,#20162) successor(#20137,#20135) successor(#20135,#20138) successor(#20135,#20150) successor(#20144,#20148) successor(#20149,#20146) successor(#20148,#20149) successor(#20146,#20135) successor(#20142,#20144) successor(#20138,#20141) successor(#20141,#20140) successor(#20140,#20142) successor(#20117,#20120) successor(#20121,#20125) successor(#20134,#20131) successor(#20133,#20134) successor(#20131,#20118) successor(#20130,#20127) successor(#20129,#20130) successor(#20127,#20133) successor(#20126,#20123) successor(#20125,#20126) successor(#20123,#20129) successor(#20120,#20121) successor(#20118,#20137) successor(#20112,#20115) successor(#20116,#20113) successor(#20115,#20116) successor(#20113,#20117) successor(#20160,#20112) numlines(#10000,8,6,1) filetype(#10000,"javascript")