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