#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=@"var;{this};{#20000}" variables(#20157,"this",#20000) #20158=* stmts(#20158,2,#20001,0,"[for (y ... year];") hasLocation(#20158,#20003) stmt_containers(#20158,#20001) #20159=* exprs(#20159,73,#20158,0,"[for (y ... ) year]") #20160=@"loc,{#10000},1,1,1,43" locations_default(#20160,#10000,1,1,1,43) hasLocation(#20159,#20160) enclosing_stmt(#20159,#20158) expr_containers(#20159,#20001) #20161=* exprs(#20161,76,#20159,1,"for (year of years)") #20162=@"loc,{#10000},1,2,1,20" locations_default(#20162,#10000,1,2,1,20) hasLocation(#20161,#20162) enclosing_stmt(#20161,#20158) expr_containers(#20161,#20001) #20163=* scopes(#20163,7) scopenodes(#20161,#20163) scopenesting(#20163,#20000) #20164=@"var;{year};{#20163}" variables(#20164,"year",#20163) #20165=* exprs(#20165,78,#20161,0,"year") hasLocation(#20165,#20019) enclosing_stmt(#20165,#20158) expr_containers(#20165,#20001) literals("year","year",#20165) decl(#20165,#20164) #20166=* exprs(#20166,79,#20161,1,"years") hasLocation(#20166,#20023) enclosing_stmt(#20166,#20158) expr_containers(#20166,#20001) literals("years","years",#20166) #20167=@"var;{years};{#20000}" variables(#20167,"years",#20000) bind(#20166,#20167) #20168=* exprs(#20168,29,#20159,-1,"year > 2000") #20169=@"loc,{#10000},1,26,1,36" locations_default(#20169,#10000,1,26,1,36) hasLocation(#20168,#20169) enclosing_stmt(#20168,#20158) expr_containers(#20168,#20001) #20170=* exprs(#20170,79,#20168,0,"year") hasLocation(#20170,#20031) enclosing_stmt(#20170,#20158) expr_containers(#20170,#20001) literals("year","year",#20170) bind(#20170,#20164) #20171=* exprs(#20171,3,#20168,1,"2000") hasLocation(#20171,#20035) enclosing_stmt(#20171,#20158) expr_containers(#20171,#20001) literals("2000","2000",#20171) #20172=* exprs(#20172,79,#20159,0,"year") hasLocation(#20172,#20039) enclosing_stmt(#20172,#20158) expr_containers(#20172,#20001) literals("year","year",#20172) bind(#20172,#20164) #20173=* stmts(#20173,2,#20001,1,"year;") hasLocation(#20173,#20005) stmt_containers(#20173,#20001) #20174=* exprs(#20174,79,#20173,0,"year") hasLocation(#20174,#20045) enclosing_stmt(#20174,#20173) expr_containers(#20174,#20001) literals("year","year",#20174) #20175=@"var;{year};{#20000}" variables(#20175,"year",#20000) bind(#20174,#20175) #20176=* stmts(#20176,2,#20001,2,"[for (i ... ) i+j];") hasLocation(#20176,#20007) stmt_containers(#20176,#20001) #20177=* exprs(#20177,73,#20176,0,"[for (i ... s) i+j]") #20178=@"loc,{#10000},3,1,3,43" locations_default(#20178,#10000,3,1,3,43) hasLocation(#20177,#20178) enclosing_stmt(#20177,#20176) expr_containers(#20177,#20001) #20179=* exprs(#20179,76,#20177,1,"for (i of numbers)") #20180=@"loc,{#10000},3,2,3,19" locations_default(#20180,#10000,3,2,3,19) hasLocation(#20179,#20180) enclosing_stmt(#20179,#20176) expr_containers(#20179,#20001) #20181=* scopes(#20181,7) scopenodes(#20179,#20181) scopenesting(#20181,#20000) #20182=@"var;{i};{#20181}" variables(#20182,"i",#20181) #20183=* exprs(#20183,78,#20179,0,"i") hasLocation(#20183,#20055) enclosing_stmt(#20183,#20176) expr_containers(#20183,#20001) literals("i","i",#20183) decl(#20183,#20182) #20184=* exprs(#20184,79,#20179,1,"numbers") hasLocation(#20184,#20059) enclosing_stmt(#20184,#20176) expr_containers(#20184,#20001) literals("numbers","numbers",#20184) #20185=@"var;{numbers};{#20000}" variables(#20185,"numbers",#20000) bind(#20184,#20185) #20186=* exprs(#20186,76,#20177,2,"for (j of letters)") #20187=@"loc,{#10000},3,21,3,38" locations_default(#20187,#10000,3,21,3,38) hasLocation(#20186,#20187) enclosing_stmt(#20186,#20176) expr_containers(#20186,#20001) #20188=* scopes(#20188,7) scopenodes(#20186,#20188) scopenesting(#20188,#20181) #20189=@"var;{j};{#20188}" variables(#20189,"j",#20188) #20190=* exprs(#20190,78,#20186,0,"j") hasLocation(#20190,#20067) enclosing_stmt(#20190,#20176) expr_containers(#20190,#20001) literals("j","j",#20190) decl(#20190,#20189) #20191=* exprs(#20191,79,#20186,1,"letters") hasLocation(#20191,#20071) enclosing_stmt(#20191,#20176) expr_containers(#20191,#20001) literals("letters","letters",#20191) #20192=@"var;{letters};{#20000}" variables(#20192,"letters",#20000) bind(#20191,#20192) #20193=* exprs(#20193,34,#20177,0,"i+j") #20194=@"loc,{#10000},3,40,3,42" locations_default(#20194,#10000,3,40,3,42) hasLocation(#20193,#20194) enclosing_stmt(#20193,#20176) expr_containers(#20193,#20001) #20195=* exprs(#20195,79,#20193,0,"i") hasLocation(#20195,#20075) enclosing_stmt(#20195,#20176) expr_containers(#20195,#20001) literals("i","i",#20195) bind(#20195,#20182) #20196=* exprs(#20196,79,#20193,1,"j") hasLocation(#20196,#20079) enclosing_stmt(#20196,#20176) expr_containers(#20196,#20001) literals("j","j",#20196) bind(#20196,#20189) #20197=* stmts(#20197,2,#20001,3,"[for (i ... ) i+j];") hasLocation(#20197,#20009) stmt_containers(#20197,#20001) #20198=* exprs(#20198,73,#20197,0,"[for (i ... j) i+j]") #20199=@"loc,{#10000},4,1,4,52" locations_default(#20199,#10000,4,1,4,52) hasLocation(#20198,#20199) enclosing_stmt(#20198,#20197) expr_containers(#20198,#20001) #20200=* exprs(#20200,76,#20198,1,"for (i of numbers)") #20201=@"loc,{#10000},4,2,4,19" locations_default(#20201,#10000,4,2,4,19) hasLocation(#20200,#20201) enclosing_stmt(#20200,#20197) expr_containers(#20200,#20001) #20202=* scopes(#20202,7) scopenodes(#20200,#20202) scopenesting(#20202,#20000) #20203=@"var;{i};{#20202}" variables(#20203,"i",#20202) #20204=* exprs(#20204,78,#20200,0,"i") hasLocation(#20204,#20091) enclosing_stmt(#20204,#20197) expr_containers(#20204,#20001) literals("i","i",#20204) decl(#20204,#20203) #20205=* exprs(#20205,79,#20200,1,"numbers") hasLocation(#20205,#20095) enclosing_stmt(#20205,#20197) expr_containers(#20205,#20001) literals("numbers","numbers",#20205) bind(#20205,#20185) #20206=* exprs(#20206,76,#20198,2,"for (j of letters)") #20207=@"loc,{#10000},4,21,4,38" locations_default(#20207,#10000,4,21,4,38) hasLocation(#20206,#20207) enclosing_stmt(#20206,#20197) expr_containers(#20206,#20001) #20208=* scopes(#20208,7) scopenodes(#20206,#20208) scopenesting(#20208,#20202) #20209=@"var;{j};{#20208}" variables(#20209,"j",#20208) #20210=* exprs(#20210,78,#20206,0,"j") hasLocation(#20210,#20103) enclosing_stmt(#20210,#20197) expr_containers(#20210,#20001) literals("j","j",#20210) decl(#20210,#20209) #20211=* exprs(#20211,79,#20206,1,"letters") hasLocation(#20211,#20107) enclosing_stmt(#20211,#20197) expr_containers(#20211,#20001) literals("letters","letters",#20211) bind(#20211,#20192) #20212=* exprs(#20212,27,#20198,-1,"i