#10000=@"/letExpr.js;sourcefile" files(#10000,"/letExpr.js","letExpr","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,5,19" locations_default(#20002,#10000,1,1,5,19) hasLocation(#20001,#20002) #20003=@"var;{x};{#20000}" variables(#20003,"x",#20000) #20004=@"var;{y};{#20000}" variables(#20004,"y",#20000) #20005=* stmts(#20005,18,#20001,0,"var x = 42, y = 19;") #20006=@"loc,{#10000},1,1,1,19" locations_default(#20006,#10000,1,1,1,19) hasLocation(#20005,#20006) stmtContainers(#20005,#20001) #20007=* exprs(#20007,64,#20005,0,"x = 42") #20008=@"loc,{#10000},1,5,1,10" locations_default(#20008,#10000,1,5,1,10) hasLocation(#20007,#20008) enclosingStmt(#20007,#20005) exprContainers(#20007,#20001) #20009=* exprs(#20009,78,#20007,0,"x") #20010=@"loc,{#10000},1,5,1,5" locations_default(#20010,#10000,1,5,1,5) hasLocation(#20009,#20010) enclosingStmt(#20009,#20005) exprContainers(#20009,#20001) literals("x","x",#20009) decl(#20009,#20003) #20011=* exprs(#20011,3,#20007,1,"42") #20012=@"loc,{#10000},1,9,1,10" locations_default(#20012,#10000,1,9,1,10) hasLocation(#20011,#20012) enclosingStmt(#20011,#20005) exprContainers(#20011,#20001) literals("42","42",#20011) #20013=* exprs(#20013,64,#20005,1,"y = 19") #20014=@"loc,{#10000},1,13,1,18" locations_default(#20014,#10000,1,13,1,18) hasLocation(#20013,#20014) enclosingStmt(#20013,#20005) exprContainers(#20013,#20001) #20015=* exprs(#20015,78,#20013,0,"y") #20016=@"loc,{#10000},1,13,1,13" locations_default(#20016,#10000,1,13,1,13) hasLocation(#20015,#20016) enclosingStmt(#20015,#20005) exprContainers(#20015,#20001) literals("y","y",#20015) decl(#20015,#20004) #20017=* exprs(#20017,3,#20013,1,"19") #20018=@"loc,{#10000},1,17,1,18" locations_default(#20018,#10000,1,17,1,18) hasLocation(#20017,#20018) enclosingStmt(#20017,#20005) exprContainers(#20017,#20001) literals("19","19",#20017) #20019=* stmts(#20019,2,#20001,1,"console ... x + y);") #20020=@"loc,{#10000},3,1,3,40" locations_default(#20020,#10000,3,1,3,40) hasLocation(#20019,#20020) stmtContainers(#20019,#20001) #20021=* exprs(#20021,13,#20019,0,"console ... x + y)") #20022=@"loc,{#10000},3,1,3,39" locations_default(#20022,#10000,3,1,3,39) hasLocation(#20021,#20022) enclosingStmt(#20021,#20019) exprContainers(#20021,#20001) #20023=* exprs(#20023,14,#20021,-1,"console.log") #20024=@"loc,{#10000},3,1,3,11" locations_default(#20024,#10000,3,1,3,11) hasLocation(#20023,#20024) enclosingStmt(#20023,#20019) exprContainers(#20023,#20001) #20025=* exprs(#20025,79,#20023,0,"console") #20026=@"loc,{#10000},3,1,3,7" locations_default(#20026,#10000,3,1,3,7) hasLocation(#20025,#20026) enclosingStmt(#20025,#20019) exprContainers(#20025,#20001) literals("console","console",#20025) #20027=@"var;{console};{#20000}" variables(#20027,"console",#20000) bind(#20025,#20027) #20028=* exprs(#20028,0,#20023,1,"log") #20029=@"loc,{#10000},3,9,3,11" locations_default(#20029,#10000,3,9,3,11) hasLocation(#20028,#20029) enclosingStmt(#20028,#20019) exprContainers(#20028,#20001) literals("log","log",#20028) #20030=* exprs(#20030,77,#20021,0,"let (x ... ) x + y") #20031=@"loc,{#10000},3,13,3,38" locations_default(#20031,#10000,3,13,3,38) hasLocation(#20030,#20031) enclosingStmt(#20030,#20019) exprContainers(#20030,#20001) #20032=* scopes(#20032,4) scopenodes(#20030,#20032) scopenesting(#20032,#20000) #20033=@"var;{x};{#20032}" variables(#20033,"x",#20032) #20034=@"var;{y};{#20032}" variables(#20034,"y",#20032) #20035=* exprs(#20035,64,#20030,0,"x = 23") #20036=@"loc,{#10000},3,18,3,23" locations_default(#20036,#10000,3,18,3,23) hasLocation(#20035,#20036) enclosingStmt(#20035,#20019) exprContainers(#20035,#20001) #20037=* exprs(#20037,78,#20035,0,"x") #20038=@"loc,{#10000},3,18,3,18" locations_default(#20038,#10000,3,18,3,18) hasLocation(#20037,#20038) enclosingStmt(#20037,#20019) exprContainers(#20037,#20001) literals("x","x",#20037) decl(#20037,#20033) #20039=* exprs(#20039,3,#20035,1,"23") #20040=@"loc,{#10000},3,22,3,23" locations_default(#20040,#10000,3,22,3,23) hasLocation(#20039,#20040) enclosingStmt(#20039,#20019) exprContainers(#20039,#20001) literals("23","23",#20039) #20041=* exprs(#20041,64,#20030,1,"y = 19") #20042=@"loc,{#10000},3,26,3,31" locations_default(#20042,#10000,3,26,3,31) hasLocation(#20041,#20042) enclosingStmt(#20041,#20019) exprContainers(#20041,#20001) #20043=* exprs(#20043,78,#20041,0,"y") #20044=@"loc,{#10000},3,26,3,26" locations_default(#20044,#10000,3,26,3,26) hasLocation(#20043,#20044) enclosingStmt(#20043,#20019) exprContainers(#20043,#20001) literals("y","y",#20043) decl(#20043,#20034) #20045=* exprs(#20045,3,#20041,1,"19") #20046=@"loc,{#10000},3,30,3,31" locations_default(#20046,#10000,3,30,3,31) hasLocation(#20045,#20046) enclosingStmt(#20045,#20019) exprContainers(#20045,#20001) literals("19","19",#20045) #20047=* exprs(#20047,34,#20030,-1,"x + y") #20048=@"loc,{#10000},3,34,3,38" locations_default(#20048,#10000,3,34,3,38) hasLocation(#20047,#20048) enclosingStmt(#20047,#20019) exprContainers(#20047,#20001) #20049=* exprs(#20049,79,#20047,0,"x") #20050=@"loc,{#10000},3,34,3,34" locations_default(#20050,#10000,3,34,3,34) hasLocation(#20049,#20050) enclosingStmt(#20049,#20019) exprContainers(#20049,#20001) literals("x","x",#20049) bind(#20049,#20033) #20051=* exprs(#20051,79,#20047,1,"y") #20052=@"loc,{#10000},3,38,3,38" locations_default(#20052,#10000,3,38,3,38) hasLocation(#20051,#20052) enclosingStmt(#20051,#20019) exprContainers(#20051,#20001) literals("y","y",#20051) bind(#20051,#20034) #20053=* stmts(#20053,2,#20001,2,"console.log(x - y);") #20054=@"loc,{#10000},5,1,5,19" locations_default(#20054,#10000,5,1,5,19) hasLocation(#20053,#20054) stmtContainers(#20053,#20001) #20055=* exprs(#20055,13,#20053,0,"console.log(x - y)") #20056=@"loc,{#10000},5,1,5,18" locations_default(#20056,#10000,5,1,5,18) hasLocation(#20055,#20056) enclosingStmt(#20055,#20053) exprContainers(#20055,#20001) #20057=* exprs(#20057,14,#20055,-1,"console.log") #20058=@"loc,{#10000},5,1,5,11" locations_default(#20058,#10000,5,1,5,11) hasLocation(#20057,#20058) enclosingStmt(#20057,#20053) exprContainers(#20057,#20001) #20059=* exprs(#20059,79,#20057,0,"console") #20060=@"loc,{#10000},5,1,5,7" locations_default(#20060,#10000,5,1,5,7) hasLocation(#20059,#20060) enclosingStmt(#20059,#20053) exprContainers(#20059,#20001) literals("console","console",#20059) bind(#20059,#20027) #20061=* exprs(#20061,0,#20057,1,"log") #20062=@"loc,{#10000},5,9,5,11" locations_default(#20062,#10000,5,9,5,11) hasLocation(#20061,#20062) enclosingStmt(#20061,#20053) exprContainers(#20061,#20001) literals("log","log",#20061) #20063=* exprs(#20063,35,#20055,0,"x - y") #20064=@"loc,{#10000},5,13,5,17" locations_default(#20064,#10000,5,13,5,17) hasLocation(#20063,#20064) enclosingStmt(#20063,#20053) exprContainers(#20063,#20001) #20065=* exprs(#20065,79,#20063,0,"x") #20066=@"loc,{#10000},5,13,5,13" locations_default(#20066,#10000,5,13,5,13) hasLocation(#20065,#20066) enclosingStmt(#20065,#20053) exprContainers(#20065,#20001) literals("x","x",#20065) bind(#20065,#20003) #20067=* exprs(#20067,79,#20063,1,"y") #20068=@"loc,{#10000},5,17,5,17" locations_default(#20068,#10000,5,17,5,17) hasLocation(#20067,#20068) enclosingStmt(#20067,#20053) exprContainers(#20067,#20001) literals("y","y",#20067) bind(#20067,#20004) #20069=* lines(#20069,#20001,"var x = 42, y = 19;"," ") hasLocation(#20069,#20006) #20070=* lines(#20070,#20001,""," ") #20071=@"loc,{#10000},2,1,2,0" locations_default(#20071,#10000,2,1,2,0) hasLocation(#20070,#20071) #20072=* lines(#20072,#20001,"console.log(let (x = 23, y = 19) x + y);"," ") hasLocation(#20072,#20020) #20073=* lines(#20073,#20001,""," ") #20074=@"loc,{#10000},4,1,4,0" locations_default(#20074,#10000,4,1,4,0) hasLocation(#20073,#20074) #20075=* lines(#20075,#20001,"console.log(x - y);","") hasLocation(#20075,#20054) numlines(#20001,5,3,0) #20076=* tokeninfo(#20076,7,#20001,0,"var") #20077=@"loc,{#10000},1,1,1,3" locations_default(#20077,#10000,1,1,1,3) hasLocation(#20076,#20077) #20078=* tokeninfo(#20078,6,#20001,1,"x") hasLocation(#20078,#20010) #20079=* tokeninfo(#20079,8,#20001,2,"=") #20080=@"loc,{#10000},1,7,1,7" locations_default(#20080,#10000,1,7,1,7) hasLocation(#20079,#20080) #20081=* tokeninfo(#20081,3,#20001,3,"42") hasLocation(#20081,#20012) #20082=* tokeninfo(#20082,8,#20001,4,",") #20083=@"loc,{#10000},1,11,1,11" locations_default(#20083,#10000,1,11,1,11) hasLocation(#20082,#20083) #20084=* tokeninfo(#20084,6,#20001,5,"y") hasLocation(#20084,#20016) #20085=* tokeninfo(#20085,8,#20001,6,"=") #20086=@"loc,{#10000},1,15,1,15" locations_default(#20086,#10000,1,15,1,15) hasLocation(#20085,#20086) #20087=* tokeninfo(#20087,3,#20001,7,"19") hasLocation(#20087,#20018) #20088=* tokeninfo(#20088,8,#20001,8,";") #20089=@"loc,{#10000},1,19,1,19" locations_default(#20089,#10000,1,19,1,19) hasLocation(#20088,#20089) #20090=* tokeninfo(#20090,6,#20001,9,"console") hasLocation(#20090,#20026) #20091=* tokeninfo(#20091,8,#20001,10,".") #20092=@"loc,{#10000},3,8,3,8" locations_default(#20092,#10000,3,8,3,8) hasLocation(#20091,#20092) #20093=* tokeninfo(#20093,6,#20001,11,"log") hasLocation(#20093,#20029) #20094=* tokeninfo(#20094,8,#20001,12,"(") #20095=@"loc,{#10000},3,12,3,12" locations_default(#20095,#10000,3,12,3,12) hasLocation(#20094,#20095) #20096=* tokeninfo(#20096,7,#20001,13,"let") #20097=@"loc,{#10000},3,13,3,15" locations_default(#20097,#10000,3,13,3,15) hasLocation(#20096,#20097) #20098=* tokeninfo(#20098,8,#20001,14,"(") #20099=@"loc,{#10000},3,17,3,17" locations_default(#20099,#10000,3,17,3,17) hasLocation(#20098,#20099) #20100=* tokeninfo(#20100,6,#20001,15,"x") hasLocation(#20100,#20038) #20101=* tokeninfo(#20101,8,#20001,16,"=") #20102=@"loc,{#10000},3,20,3,20" locations_default(#20102,#10000,3,20,3,20) hasLocation(#20101,#20102) #20103=* tokeninfo(#20103,3,#20001,17,"23") hasLocation(#20103,#20040) #20104=* tokeninfo(#20104,8,#20001,18,",") #20105=@"loc,{#10000},3,24,3,24" locations_default(#20105,#10000,3,24,3,24) hasLocation(#20104,#20105) #20106=* tokeninfo(#20106,6,#20001,19,"y") hasLocation(#20106,#20044) #20107=* tokeninfo(#20107,8,#20001,20,"=") #20108=@"loc,{#10000},3,28,3,28" locations_default(#20108,#10000,3,28,3,28) hasLocation(#20107,#20108) #20109=* tokeninfo(#20109,3,#20001,21,"19") hasLocation(#20109,#20046) #20110=* tokeninfo(#20110,8,#20001,22,")") #20111=@"loc,{#10000},3,32,3,32" locations_default(#20111,#10000,3,32,3,32) hasLocation(#20110,#20111) #20112=* tokeninfo(#20112,6,#20001,23,"x") hasLocation(#20112,#20050) #20113=* tokeninfo(#20113,8,#20001,24,"+") #20114=@"loc,{#10000},3,36,3,36" locations_default(#20114,#10000,3,36,3,36) hasLocation(#20113,#20114) #20115=* tokeninfo(#20115,6,#20001,25,"y") hasLocation(#20115,#20052) #20116=* tokeninfo(#20116,8,#20001,26,")") #20117=@"loc,{#10000},3,39,3,39" locations_default(#20117,#10000,3,39,3,39) hasLocation(#20116,#20117) #20118=* tokeninfo(#20118,8,#20001,27,";") #20119=@"loc,{#10000},3,40,3,40" locations_default(#20119,#10000,3,40,3,40) hasLocation(#20118,#20119) #20120=* tokeninfo(#20120,6,#20001,28,"console") hasLocation(#20120,#20060) #20121=* tokeninfo(#20121,8,#20001,29,".") #20122=@"loc,{#10000},5,8,5,8" locations_default(#20122,#10000,5,8,5,8) hasLocation(#20121,#20122) #20123=* tokeninfo(#20123,6,#20001,30,"log") hasLocation(#20123,#20062) #20124=* tokeninfo(#20124,8,#20001,31,"(") #20125=@"loc,{#10000},5,12,5,12" locations_default(#20125,#10000,5,12,5,12) hasLocation(#20124,#20125) #20126=* tokeninfo(#20126,6,#20001,32,"x") hasLocation(#20126,#20066) #20127=* tokeninfo(#20127,8,#20001,33,"-") #20128=@"loc,{#10000},5,15,5,15" locations_default(#20128,#10000,5,15,5,15) hasLocation(#20127,#20128) #20129=* tokeninfo(#20129,6,#20001,34,"y") hasLocation(#20129,#20068) #20130=* tokeninfo(#20130,8,#20001,35,")") #20131=@"loc,{#10000},5,18,5,18" locations_default(#20131,#10000,5,18,5,18) hasLocation(#20130,#20131) #20132=* tokeninfo(#20132,8,#20001,36,";") #20133=@"loc,{#10000},5,19,5,19" locations_default(#20133,#10000,5,19,5,19) hasLocation(#20132,#20133) #20134=* tokeninfo(#20134,0,#20001,37,"") #20135=@"loc,{#10000},5,20,5,19" locations_default(#20135,#10000,5,20,5,19) hasLocation(#20134,#20135) #20136=* entry_cfg_node(#20136,#20001) #20137=@"loc,{#10000},1,1,1,0" locations_default(#20137,#10000,1,1,1,0) hasLocation(#20136,#20137) #20138=* exit_cfg_node(#20138,#20001) hasLocation(#20138,#20135) successor(#20053,#20059) successor(#20067,#20063) successor(#20065,#20067) successor(#20063,#20055) successor(#20061,#20057) successor(#20059,#20061) successor(#20057,#20065) successor(#20055,#20138) successor(#20019,#20025) successor(#20030,#20037) successor(#20051,#20047) successor(#20049,#20051) successor(#20047,#20021) successor(#20045,#20041) successor(#20043,#20045) successor(#20041,#20049) successor(#20039,#20035) successor(#20037,#20039) successor(#20035,#20043) successor(#20028,#20023) successor(#20025,#20028) successor(#20023,#20030) successor(#20021,#20053) successor(#20005,#20009) successor(#20017,#20013) successor(#20015,#20017) successor(#20013,#20019) successor(#20011,#20007) successor(#20009,#20011) successor(#20007,#20015) successor(#20136,#20005) numlines(#10000,5,3,0) filetype(#10000,"javascript")