#10000=@"/array_comprehensions.js;sourcefile" files(#10000,"/array_comprehensions.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,"[for (year of years) if (year > 2000) year];"," ") #20003=@"loc,{#10000},1,1,1,44" locations_default(#20003,#10000,1,1,1,44) hasLocation(#20002,#20003) #20004=* lines(#20004,#20001,"year;"," ") #20005=@"loc,{#10000},2,1,2,5" locations_default(#20005,#10000,2,1,2,5) hasLocation(#20004,#20005) #20006=* lines(#20006,#20001,"[for (i of numbers) for (j of letters) i+j];"," ") #20007=@"loc,{#10000},3,1,3,44" locations_default(#20007,#10000,3,1,3,44) hasLocation(#20006,#20007) #20008=* lines(#20008,#20001,"[for (i of numbers) for (j of letters) if (i") #20033=@"loc,{#10000},1,31,1,31" locations_default(#20033,#10000,1,31,1,31) hasLocation(#20032,#20033) #20034=* tokeninfo(#20034,3,#20001,11,"2000") #20035=@"loc,{#10000},1,33,1,36" locations_default(#20035,#10000,1,33,1,36) hasLocation(#20034,#20035) #20036=* tokeninfo(#20036,8,#20001,12,")") #20037=@"loc,{#10000},1,37,1,37" locations_default(#20037,#10000,1,37,1,37) hasLocation(#20036,#20037) #20038=* tokeninfo(#20038,6,#20001,13,"year") #20039=@"loc,{#10000},1,39,1,42" locations_default(#20039,#10000,1,39,1,42) hasLocation(#20038,#20039) #20040=* tokeninfo(#20040,8,#20001,14,"]") #20041=@"loc,{#10000},1,43,1,43" locations_default(#20041,#10000,1,43,1,43) hasLocation(#20040,#20041) #20042=* tokeninfo(#20042,8,#20001,15,";") #20043=@"loc,{#10000},1,44,1,44" locations_default(#20043,#10000,1,44,1,44) hasLocation(#20042,#20043) #20044=* tokeninfo(#20044,6,#20001,16,"year") #20045=@"loc,{#10000},2,1,2,4" locations_default(#20045,#10000,2,1,2,4) hasLocation(#20044,#20045) #20046=* tokeninfo(#20046,8,#20001,17,";") #20047=@"loc,{#10000},2,5,2,5" locations_default(#20047,#10000,2,5,2,5) hasLocation(#20046,#20047) #20048=* tokeninfo(#20048,8,#20001,18,"[") #20049=@"loc,{#10000},3,1,3,1" locations_default(#20049,#10000,3,1,3,1) hasLocation(#20048,#20049) #20050=* tokeninfo(#20050,7,#20001,19,"for") #20051=@"loc,{#10000},3,2,3,4" locations_default(#20051,#10000,3,2,3,4) hasLocation(#20050,#20051) #20052=* tokeninfo(#20052,8,#20001,20,"(") #20053=@"loc,{#10000},3,6,3,6" locations_default(#20053,#10000,3,6,3,6) hasLocation(#20052,#20053) #20054=* tokeninfo(#20054,6,#20001,21,"i") #20055=@"loc,{#10000},3,7,3,7" locations_default(#20055,#10000,3,7,3,7) hasLocation(#20054,#20055) #20056=* tokeninfo(#20056,6,#20001,22,"of") #20057=@"loc,{#10000},3,9,3,10" locations_default(#20057,#10000,3,9,3,10) hasLocation(#20056,#20057) #20058=* tokeninfo(#20058,6,#20001,23,"numbers") #20059=@"loc,{#10000},3,12,3,18" locations_default(#20059,#10000,3,12,3,18) hasLocation(#20058,#20059) #20060=* tokeninfo(#20060,8,#20001,24,")") #20061=@"loc,{#10000},3,19,3,19" locations_default(#20061,#10000,3,19,3,19) hasLocation(#20060,#20061) #20062=* tokeninfo(#20062,7,#20001,25,"for") #20063=@"loc,{#10000},3,21,3,23" locations_default(#20063,#10000,3,21,3,23) hasLocation(#20062,#20063) #20064=* tokeninfo(#20064,8,#20001,26,"(") #20065=@"loc,{#10000},3,25,3,25" locations_default(#20065,#10000,3,25,3,25) hasLocation(#20064,#20065) #20066=* tokeninfo(#20066,6,#20001,27,"j") #20067=@"loc,{#10000},3,26,3,26" locations_default(#20067,#10000,3,26,3,26) hasLocation(#20066,#20067) #20068=* tokeninfo(#20068,6,#20001,28,"of") #20069=@"loc,{#10000},3,28,3,29" locations_default(#20069,#10000,3,28,3,29) hasLocation(#20068,#20069) #20070=* tokeninfo(#20070,6,#20001,29,"letters") #20071=@"loc,{#10000},3,31,3,37" locations_default(#20071,#10000,3,31,3,37) hasLocation(#20070,#20071) #20072=* tokeninfo(#20072,8,#20001,30,")") #20073=@"loc,{#10000},3,38,3,38" locations_default(#20073,#10000,3,38,3,38) hasLocation(#20072,#20073) #20074=* tokeninfo(#20074,6,#20001,31,"i") #20075=@"loc,{#10000},3,40,3,40" locations_default(#20075,#10000,3,40,3,40) hasLocation(#20074,#20075) #20076=* tokeninfo(#20076,8,#20001,32,"+") #20077=@"loc,{#10000},3,41,3,41" locations_default(#20077,#10000,3,41,3,41) hasLocation(#20076,#20077) #20078=* tokeninfo(#20078,6,#20001,33,"j") #20079=@"loc,{#10000},3,42,3,42" locations_default(#20079,#10000,3,42,3,42) hasLocation(#20078,#20079) #20080=* tokeninfo(#20080,8,#20001,34,"]") #20081=@"loc,{#10000},3,43,3,43" locations_default(#20081,#10000,3,43,3,43) hasLocation(#20080,#20081) #20082=* tokeninfo(#20082,8,#20001,35,";") #20083=@"loc,{#10000},3,44,3,44" locations_default(#20083,#10000,3,44,3,44) hasLocation(#20082,#20083) #20084=* tokeninfo(#20084,8,#20001,36,"[") #20085=@"loc,{#10000},4,1,4,1" locations_default(#20085,#10000,4,1,4,1) hasLocation(#20084,#20085) #20086=* tokeninfo(#20086,7,#20001,37,"for") #20087=@"loc,{#10000},4,2,4,4" locations_default(#20087,#10000,4,2,4,4) hasLocation(#20086,#20087) #20088=* tokeninfo(#20088,8,#20001,38,"(") #20089=@"loc,{#10000},4,6,4,6" locations_default(#20089,#10000,4,6,4,6) hasLocation(#20088,#20089) #20090=* tokeninfo(#20090,6,#20001,39,"i") #20091=@"loc,{#10000},4,7,4,7" locations_default(#20091,#10000,4,7,4,7) hasLocation(#20090,#20091) #20092=* tokeninfo(#20092,6,#20001,40,"of") #20093=@"loc,{#10000},4,9,4,10" locations_default(#20093,#10000,4,9,4,10) hasLocation(#20092,#20093) #20094=* tokeninfo(#20094,6,#20001,41,"numbers") #20095=@"loc,{#10000},4,12,4,18" locations_default(#20095,#10000,4,12,4,18) hasLocation(#20094,#20095) #20096=* tokeninfo(#20096,8,#20001,42,")") #20097=@"loc,{#10000},4,19,4,19" locations_default(#20097,#10000,4,19,4,19) hasLocation(#20096,#20097) #20098=* tokeninfo(#20098,7,#20001,43,"for") #20099=@"loc,{#10000},4,21,4,23" locations_default(#20099,#10000,4,21,4,23) hasLocation(#20098,#20099) #20100=* tokeninfo(#20100,8,#20001,44,"(") #20101=@"loc,{#10000},4,25,4,25" locations_default(#20101,#10000,4,25,4,25) hasLocation(#20100,#20101) #20102=* tokeninfo(#20102,6,#20001,45,"j") #20103=@"loc,{#10000},4,26,4,26" locations_default(#20103,#10000,4,26,4,26) hasLocation(#20102,#20103) #20104=* tokeninfo(#20104,6,#20001,46,"of") #20105=@"loc,{#10000},4,28,4,29" locations_default(#20105,#10000,4,28,4,29) hasLocation(#20104,#20105) #20106=* tokeninfo(#20106,6,#20001,47,"letters") #20107=@"loc,{#10000},4,31,4,37" locations_default(#20107,#10000,4,31,4,37) hasLocation(#20106,#20107) #20108=* tokeninfo(#20108,8,#20001,48,")") #20109=@"loc,{#10000},4,38,4,38" locations_default(#20109,#10000,4,38,4,38) hasLocation(#20108,#20109) #20110=* tokeninfo(#20110,7,#20001,49,"if") #20111=@"loc,{#10000},4,40,4,41" locations_default(#20111,#10000,4,40,4,41) hasLocation(#20110,#20111) #20112=* tokeninfo(#20112,8,#20001,50,"(") #20113=@"loc,{#10000},4,43,4,43" locations_default(#20113,#10000,4,43,4,43) hasLocation(#20112,#20113) #20114=* tokeninfo(#20114,6,#20001,51,"i") #20115=@"loc,{#10000},4,44,4,44" locations_default(#20115,#10000,4,44,4,44) hasLocation(#20114,#20115) #20116=* tokeninfo(#20116,8,#20001,52,"<") #20117=@"loc,{#10000},4,45,4,45" locations_default(#20117,#10000,4,45,4,45) hasLocation(#20116,#20117) #20118=* tokeninfo(#20118,6,#20001,53,"j") #20119=@"loc,{#10000},4,46,4,46" locations_default(#20119,#10000,4,46,4,46) hasLocation(#20118,#20119) #20120=* tokeninfo(#20120,8,#20001,54,")") #20121=@"loc,{#10000},4,47,4,47" locations_default(#20121,#10000,4,47,4,47) hasLocation(#20120,#20121) #20122=* tokeninfo(#20122,6,#20001,55,"i") #20123=@"loc,{#10000},4,49,4,49" locations_default(#20123,#10000,4,49,4,49) hasLocation(#20122,#20123) #20124=* tokeninfo(#20124,8,#20001,56,"+") #20125=@"loc,{#10000},4,50,4,50" locations_default(#20125,#10000,4,50,4,50) hasLocation(#20124,#20125) #20126=* tokeninfo(#20126,6,#20001,57,"j") #20127=@"loc,{#10000},4,51,4,51" locations_default(#20127,#10000,4,51,4,51) hasLocation(#20126,#20127) #20128=* tokeninfo(#20128,8,#20001,58,"]") #20129=@"loc,{#10000},4,52,4,52" locations_default(#20129,#10000,4,52,4,52) hasLocation(#20128,#20129) #20130=* tokeninfo(#20130,8,#20001,59,";") #20131=@"loc,{#10000},4,53,4,53" locations_default(#20131,#10000,4,53,4,53) hasLocation(#20130,#20131) #20132=* tokeninfo(#20132,8,#20001,60,"[") #20133=@"loc,{#10000},5,1,5,1" locations_default(#20133,#10000,5,1,5,1) hasLocation(#20132,#20133) #20134=* tokeninfo(#20134,7,#20001,61,"for") #20135=@"loc,{#10000},5,2,5,4" locations_default(#20135,#10000,5,2,5,4) hasLocation(#20134,#20135) #20136=* tokeninfo(#20136,6,#20001,62,"each") #20137=@"loc,{#10000},5,6,5,9" locations_default(#20137,#10000,5,6,5,9) hasLocation(#20136,#20137) #20138=* tokeninfo(#20138,8,#20001,63,"(") #20139=@"loc,{#10000},5,11,5,11" locations_default(#20139,#10000,5,11,5,11) hasLocation(#20138,#20139) #20140=* tokeninfo(#20140,6,#20001,64,"i") #20141=@"loc,{#10000},5,12,5,12" locations_default(#20141,#10000,5,12,5,12) hasLocation(#20140,#20141) #20142=* tokeninfo(#20142,7,#20001,65,"in") #20143=@"loc,{#10000},5,14,5,15" locations_default(#20143,#10000,5,14,5,15) hasLocation(#20142,#20143) #20144=* tokeninfo(#20144,6,#20001,66,"numbers") #20145=@"loc,{#10000},5,17,5,23" locations_default(#20145,#10000,5,17,5,23) hasLocation(#20144,#20145) #20146=* tokeninfo(#20146,8,#20001,67,")") #20147=@"loc,{#10000},5,24,5,24" locations_default(#20147,#10000,5,24,5,24) hasLocation(#20146,#20147) #20148=* tokeninfo(#20148,6,#20001,68,"i") #20149=@"loc,{#10000},5,26,5,26" locations_default(#20149,#10000,5,26,5,26) hasLocation(#20148,#20149) #20150=* tokeninfo(#20150,8,#20001,69,"]") #20151=@"loc,{#10000},5,27,5,27" locations_default(#20151,#10000,5,27,5,27) hasLocation(#20150,#20151) #20152=* tokeninfo(#20152,8,#20001,70,";") #20153=@"loc,{#10000},5,28,5,28" locations_default(#20153,#10000,5,28,5,28) hasLocation(#20152,#20153) #20154=* tokeninfo(#20154,0,#20001,71,"") #20155=@"loc,{#10000},6,1,6,0" locations_default(#20155,#10000,6,1,6,0) hasLocation(#20154,#20155) toplevels(#20001,0) #20156=@"loc,{#10000},1,1,6,0" locations_default(#20156,#10000,1,1,6,0) hasLocation(#20001,#20156) #20157=* stmts(#20157,2,#20001,0,"[for (y ... year];") hasLocation(#20157,#20003) stmt_containers(#20157,#20001) #20158=* exprs(#20158,73,#20157,0,"[for (y ... ) year]") #20159=@"loc,{#10000},1,1,1,43" locations_default(#20159,#10000,1,1,1,43) hasLocation(#20158,#20159) enclosing_stmt(#20158,#20157) expr_containers(#20158,#20001) #20160=* exprs(#20160,76,#20158,1,"for (year of years)") #20161=@"loc,{#10000},1,2,1,20" locations_default(#20161,#10000,1,2,1,20) hasLocation(#20160,#20161) enclosing_stmt(#20160,#20157) expr_containers(#20160,#20001) #20162=* scopes(#20162,7) scopenodes(#20160,#20162) scopenesting(#20162,#20000) #20163=@"var;{year};{#20162}" variables(#20163,"year",#20162) #20164=* exprs(#20164,78,#20160,0,"year") hasLocation(#20164,#20019) enclosing_stmt(#20164,#20157) expr_containers(#20164,#20001) literals("year","year",#20164) decl(#20164,#20163) #20165=* exprs(#20165,79,#20160,1,"years") hasLocation(#20165,#20023) enclosing_stmt(#20165,#20157) expr_containers(#20165,#20001) literals("years","years",#20165) #20166=@"var;{years};{#20000}" variables(#20166,"years",#20000) bind(#20165,#20166) #20167=* exprs(#20167,29,#20158,-1,"year > 2000") #20168=@"loc,{#10000},1,26,1,36" locations_default(#20168,#10000,1,26,1,36) hasLocation(#20167,#20168) enclosing_stmt(#20167,#20157) expr_containers(#20167,#20001) #20169=* exprs(#20169,79,#20167,0,"year") hasLocation(#20169,#20031) enclosing_stmt(#20169,#20157) expr_containers(#20169,#20001) literals("year","year",#20169) bind(#20169,#20163) #20170=* exprs(#20170,3,#20167,1,"2000") hasLocation(#20170,#20035) enclosing_stmt(#20170,#20157) expr_containers(#20170,#20001) literals("2000","2000",#20170) #20171=* exprs(#20171,79,#20158,0,"year") hasLocation(#20171,#20039) enclosing_stmt(#20171,#20157) expr_containers(#20171,#20001) literals("year","year",#20171) bind(#20171,#20163) #20172=* stmts(#20172,2,#20001,1,"year;") hasLocation(#20172,#20005) stmt_containers(#20172,#20001) #20173=* exprs(#20173,79,#20172,0,"year") hasLocation(#20173,#20045) enclosing_stmt(#20173,#20172) expr_containers(#20173,#20001) literals("year","year",#20173) #20174=@"var;{year};{#20000}" variables(#20174,"year",#20000) bind(#20173,#20174) #20175=* stmts(#20175,2,#20001,2,"[for (i ... ) i+j];") hasLocation(#20175,#20007) stmt_containers(#20175,#20001) #20176=* exprs(#20176,73,#20175,0,"[for (i ... s) i+j]") #20177=@"loc,{#10000},3,1,3,43" locations_default(#20177,#10000,3,1,3,43) hasLocation(#20176,#20177) enclosing_stmt(#20176,#20175) expr_containers(#20176,#20001) #20178=* exprs(#20178,76,#20176,1,"for (i of numbers)") #20179=@"loc,{#10000},3,2,3,19" locations_default(#20179,#10000,3,2,3,19) hasLocation(#20178,#20179) enclosing_stmt(#20178,#20175) expr_containers(#20178,#20001) #20180=* scopes(#20180,7) scopenodes(#20178,#20180) scopenesting(#20180,#20000) #20181=@"var;{i};{#20180}" variables(#20181,"i",#20180) #20182=* exprs(#20182,78,#20178,0,"i") hasLocation(#20182,#20055) enclosing_stmt(#20182,#20175) expr_containers(#20182,#20001) literals("i","i",#20182) decl(#20182,#20181) #20183=* exprs(#20183,79,#20178,1,"numbers") hasLocation(#20183,#20059) enclosing_stmt(#20183,#20175) expr_containers(#20183,#20001) literals("numbers","numbers",#20183) #20184=@"var;{numbers};{#20000}" variables(#20184,"numbers",#20000) bind(#20183,#20184) #20185=* exprs(#20185,76,#20176,2,"for (j of letters)") #20186=@"loc,{#10000},3,21,3,38" locations_default(#20186,#10000,3,21,3,38) hasLocation(#20185,#20186) enclosing_stmt(#20185,#20175) expr_containers(#20185,#20001) #20187=* scopes(#20187,7) scopenodes(#20185,#20187) scopenesting(#20187,#20180) #20188=@"var;{j};{#20187}" variables(#20188,"j",#20187) #20189=* exprs(#20189,78,#20185,0,"j") hasLocation(#20189,#20067) enclosing_stmt(#20189,#20175) expr_containers(#20189,#20001) literals("j","j",#20189) decl(#20189,#20188) #20190=* exprs(#20190,79,#20185,1,"letters") hasLocation(#20190,#20071) enclosing_stmt(#20190,#20175) expr_containers(#20190,#20001) literals("letters","letters",#20190) #20191=@"var;{letters};{#20000}" variables(#20191,"letters",#20000) bind(#20190,#20191) #20192=* exprs(#20192,34,#20176,0,"i+j") #20193=@"loc,{#10000},3,40,3,42" locations_default(#20193,#10000,3,40,3,42) hasLocation(#20192,#20193) enclosing_stmt(#20192,#20175) expr_containers(#20192,#20001) #20194=* exprs(#20194,79,#20192,0,"i") hasLocation(#20194,#20075) enclosing_stmt(#20194,#20175) expr_containers(#20194,#20001) literals("i","i",#20194) bind(#20194,#20181) #20195=* exprs(#20195,79,#20192,1,"j") hasLocation(#20195,#20079) enclosing_stmt(#20195,#20175) expr_containers(#20195,#20001) literals("j","j",#20195) bind(#20195,#20188) #20196=* stmts(#20196,2,#20001,3,"[for (i ... ) i+j];") hasLocation(#20196,#20009) stmt_containers(#20196,#20001) #20197=* exprs(#20197,73,#20196,0,"[for (i ... j) i+j]") #20198=@"loc,{#10000},4,1,4,52" locations_default(#20198,#10000,4,1,4,52) hasLocation(#20197,#20198) enclosing_stmt(#20197,#20196) expr_containers(#20197,#20001) #20199=* exprs(#20199,76,#20197,1,"for (i of numbers)") #20200=@"loc,{#10000},4,2,4,19" locations_default(#20200,#10000,4,2,4,19) hasLocation(#20199,#20200) enclosing_stmt(#20199,#20196) expr_containers(#20199,#20001) #20201=* scopes(#20201,7) scopenodes(#20199,#20201) scopenesting(#20201,#20000) #20202=@"var;{i};{#20201}" variables(#20202,"i",#20201) #20203=* exprs(#20203,78,#20199,0,"i") hasLocation(#20203,#20091) enclosing_stmt(#20203,#20196) expr_containers(#20203,#20001) literals("i","i",#20203) decl(#20203,#20202) #20204=* exprs(#20204,79,#20199,1,"numbers") hasLocation(#20204,#20095) enclosing_stmt(#20204,#20196) expr_containers(#20204,#20001) literals("numbers","numbers",#20204) bind(#20204,#20184) #20205=* exprs(#20205,76,#20197,2,"for (j of letters)") #20206=@"loc,{#10000},4,21,4,38" locations_default(#20206,#10000,4,21,4,38) hasLocation(#20205,#20206) enclosing_stmt(#20205,#20196) expr_containers(#20205,#20001) #20207=* scopes(#20207,7) scopenodes(#20205,#20207) scopenesting(#20207,#20201) #20208=@"var;{j};{#20207}" variables(#20208,"j",#20207) #20209=* exprs(#20209,78,#20205,0,"j") hasLocation(#20209,#20103) enclosing_stmt(#20209,#20196) expr_containers(#20209,#20001) literals("j","j",#20209) decl(#20209,#20208) #20210=* exprs(#20210,79,#20205,1,"letters") hasLocation(#20210,#20107) enclosing_stmt(#20210,#20196) expr_containers(#20210,#20001) literals("letters","letters",#20210) bind(#20210,#20191) #20211=* exprs(#20211,27,#20197,-1,"i