#10000=@"/ejs.js;sourcefile" files(#10000,"/ejs.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," parse as string literal","// pars ... literal") #20003=@"loc,{#10000},7,43,7,68" locations_default(#20003,#10000,7,43,7,68) hasLocation(#20002,#20003) #20004=* lines(#20004,#20001,"let data1 = <%= user_data1 %>;"," ") #20005=@"loc,{#10000},1,1,1,30" locations_default(#20005,#10000,1,1,1,30) hasLocation(#20004,#20005) #20006=* lines(#20006,#20001,"let data2 = <%- user_data2 %>;"," ") #20007=@"loc,{#10000},2,1,2,30" locations_default(#20007,#10000,2,1,2,30) hasLocation(#20006,#20007) #20008=* lines(#20008,#20001,"if (<%something%>) {}"," ") #20009=@"loc,{#10000},3,1,3,21" locations_default(#20009,#10000,3,1,3,21) hasLocation(#20008,#20009) #20010=* lines(#20010,#20001,"foo(<%bar%>, <%baz%>);"," ") #20011=@"loc,{#10000},4,1,4,22" locations_default(#20011,#10000,4,1,4,22) hasLocation(#20010,#20011) #20012=* lines(#20012,#20001,""," ") #20013=@"loc,{#10000},5,1,5,0" locations_default(#20013,#10000,5,1,5,0) hasLocation(#20012,#20013) #20014=* lines(#20014,#20001,"<% generated_code %>"," ") #20015=@"loc,{#10000},6,1,6,20" locations_default(#20015,#10000,6,1,6,20) hasLocation(#20014,#20015) #20016=* lines(#20016,#20001,"let string = ""<%= not_generated_code %>""; // parse as string literal"," ") #20017=@"loc,{#10000},7,1,7,68" locations_default(#20017,#10000,7,1,7,68) hasLocation(#20016,#20017) numlines(#20001,7,6,1) #20018=* tokeninfo(#20018,7,#20001,0,"let") #20019=@"loc,{#10000},1,1,1,3" locations_default(#20019,#10000,1,1,1,3) hasLocation(#20018,#20019) #20020=* tokeninfo(#20020,6,#20001,1,"data1") #20021=@"loc,{#10000},1,5,1,9" locations_default(#20021,#10000,1,5,1,9) hasLocation(#20020,#20021) #20022=* tokeninfo(#20022,8,#20001,2,"=") #20023=@"loc,{#10000},1,11,1,11" locations_default(#20023,#10000,1,11,1,11) hasLocation(#20022,#20023) #20024=* tokeninfo(#20024,8,#20001,3,"%>") #20025=@"loc,{#10000},1,28,1,29" locations_default(#20025,#10000,1,28,1,29) hasLocation(#20024,#20025) #20026=* tokeninfo(#20026,8,#20001,4,";") #20027=@"loc,{#10000},1,30,1,30" locations_default(#20027,#10000,1,30,1,30) hasLocation(#20026,#20027) #20028=* tokeninfo(#20028,7,#20001,5,"let") #20029=@"loc,{#10000},2,1,2,3" locations_default(#20029,#10000,2,1,2,3) hasLocation(#20028,#20029) #20030=* tokeninfo(#20030,6,#20001,6,"data2") #20031=@"loc,{#10000},2,5,2,9" locations_default(#20031,#10000,2,5,2,9) hasLocation(#20030,#20031) #20032=* tokeninfo(#20032,8,#20001,7,"=") #20033=@"loc,{#10000},2,11,2,11" locations_default(#20033,#10000,2,11,2,11) hasLocation(#20032,#20033) #20034=* tokeninfo(#20034,8,#20001,8,"%>") #20035=@"loc,{#10000},2,28,2,29" locations_default(#20035,#10000,2,28,2,29) hasLocation(#20034,#20035) #20036=* tokeninfo(#20036,8,#20001,9,";") #20037=@"loc,{#10000},2,30,2,30" locations_default(#20037,#10000,2,30,2,30) hasLocation(#20036,#20037) #20038=* tokeninfo(#20038,7,#20001,10,"if") #20039=@"loc,{#10000},3,1,3,2" locations_default(#20039,#10000,3,1,3,2) hasLocation(#20038,#20039) #20040=* tokeninfo(#20040,8,#20001,11,"(") #20041=@"loc,{#10000},3,4,3,4" locations_default(#20041,#10000,3,4,3,4) hasLocation(#20040,#20041) #20042=* tokeninfo(#20042,8,#20001,12,"%>") #20043=@"loc,{#10000},3,16,3,17" locations_default(#20043,#10000,3,16,3,17) hasLocation(#20042,#20043) #20044=* tokeninfo(#20044,8,#20001,13,")") #20045=@"loc,{#10000},3,18,3,18" locations_default(#20045,#10000,3,18,3,18) hasLocation(#20044,#20045) #20046=* tokeninfo(#20046,8,#20001,14,"{") #20047=@"loc,{#10000},3,20,3,20" locations_default(#20047,#10000,3,20,3,20) hasLocation(#20046,#20047) #20048=* tokeninfo(#20048,8,#20001,15,"}") #20049=@"loc,{#10000},3,21,3,21" locations_default(#20049,#10000,3,21,3,21) hasLocation(#20048,#20049) #20050=* tokeninfo(#20050,6,#20001,16,"foo") #20051=@"loc,{#10000},4,1,4,3" locations_default(#20051,#10000,4,1,4,3) hasLocation(#20050,#20051) #20052=* tokeninfo(#20052,8,#20001,17,"(") #20053=@"loc,{#10000},4,4,4,4" locations_default(#20053,#10000,4,4,4,4) hasLocation(#20052,#20053) #20054=* tokeninfo(#20054,8,#20001,18,"%>") #20055=@"loc,{#10000},4,10,4,11" locations_default(#20055,#10000,4,10,4,11) hasLocation(#20054,#20055) #20056=* tokeninfo(#20056,8,#20001,19,",") #20057=@"loc,{#10000},4,12,4,12" locations_default(#20057,#10000,4,12,4,12) hasLocation(#20056,#20057) #20058=* tokeninfo(#20058,8,#20001,20,"%>") #20059=@"loc,{#10000},4,19,4,20" locations_default(#20059,#10000,4,19,4,20) hasLocation(#20058,#20059) #20060=* tokeninfo(#20060,8,#20001,21,")") #20061=@"loc,{#10000},4,21,4,21" locations_default(#20061,#10000,4,21,4,21) hasLocation(#20060,#20061) #20062=* tokeninfo(#20062,8,#20001,22,";") #20063=@"loc,{#10000},4,22,4,22" locations_default(#20063,#10000,4,22,4,22) hasLocation(#20062,#20063) #20064=* tokeninfo(#20064,8,#20001,23,"%>") #20065=@"loc,{#10000},6,19,6,20" locations_default(#20065,#10000,6,19,6,20) hasLocation(#20064,#20065) #20066=* tokeninfo(#20066,7,#20001,24,"let") #20067=@"loc,{#10000},7,1,7,3" locations_default(#20067,#10000,7,1,7,3) hasLocation(#20066,#20067) #20068=* tokeninfo(#20068,6,#20001,25,"string") #20069=@"loc,{#10000},7,5,7,10" locations_default(#20069,#10000,7,5,7,10) hasLocation(#20068,#20069) #20070=* tokeninfo(#20070,8,#20001,26,"=") #20071=@"loc,{#10000},7,12,7,12" locations_default(#20071,#10000,7,12,7,12) hasLocation(#20070,#20071) #20072=* tokeninfo(#20072,4,#20001,27,"""<%= not_generated_code %>""") #20073=@"loc,{#10000},7,14,7,40" locations_default(#20073,#10000,7,14,7,40) hasLocation(#20072,#20073) #20074=* tokeninfo(#20074,8,#20001,28,";") #20075=@"loc,{#10000},7,41,7,41" locations_default(#20075,#10000,7,41,7,41) hasLocation(#20074,#20075) #20076=* tokeninfo(#20076,0,#20001,29,"") #20077=@"loc,{#10000},8,1,8,0" locations_default(#20077,#10000,8,1,8,0) hasLocation(#20076,#20077) next_token(#20002,#20076) toplevels(#20001,0) #20078=@"loc,{#10000},1,1,8,0" locations_default(#20078,#10000,1,1,8,0) hasLocation(#20001,#20078) #20079=@"var;{data1};{#20000}" variables(#20079,"data1",#20000) #20080=@"var;{data2};{#20000}" variables(#20080,"data2",#20000) #20081=@"var;{string};{#20000}" variables(#20081,"string",#20000) #20082=* stmts(#20082,23,#20001,0,"let dat ... ta1 %>;") hasLocation(#20082,#20005) stmt_containers(#20082,#20001) #20083=* exprs(#20083,64,#20082,0,"data1 = ... ata1 %>") #20084=@"loc,{#10000},1,5,1,29" locations_default(#20084,#10000,1,5,1,29) hasLocation(#20083,#20084) enclosing_stmt(#20083,#20082) expr_containers(#20083,#20001) #20085=* exprs(#20085,78,#20083,0,"data1") hasLocation(#20085,#20021) enclosing_stmt(#20085,#20082) expr_containers(#20085,#20001) literals("data1","data1",#20085) decl(#20085,#20079) #20086=* exprs(#20086,120,#20083,1,"<%= user_data1 %>") #20087=@"loc,{#10000},1,13,1,29" locations_default(#20087,#10000,1,13,1,29) hasLocation(#20086,#20087) enclosing_stmt(#20086,#20082) expr_containers(#20086,#20001) expr_contains_template_tag_location(#20086,#20087) #20088=* stmts(#20088,23,#20001,1,"let dat ... ta2 %>;") hasLocation(#20088,#20007) stmt_containers(#20088,#20001) #20089=* exprs(#20089,64,#20088,0,"data2 = ... ata2 %>") #20090=@"loc,{#10000},2,5,2,29" locations_default(#20090,#10000,2,5,2,29) hasLocation(#20089,#20090) enclosing_stmt(#20089,#20088) expr_containers(#20089,#20001) #20091=* exprs(#20091,78,#20089,0,"data2") hasLocation(#20091,#20031) enclosing_stmt(#20091,#20088) expr_containers(#20091,#20001) literals("data2","data2",#20091) decl(#20091,#20080) #20092=* exprs(#20092,120,#20089,1,"<%- user_data2 %>") #20093=@"loc,{#10000},2,13,2,29" locations_default(#20093,#10000,2,13,2,29) hasLocation(#20092,#20093) enclosing_stmt(#20092,#20088) expr_containers(#20092,#20001) expr_contains_template_tag_location(#20092,#20093) #20094=* stmts(#20094,3,#20001,2,"if (<%s ... g%>) {}") hasLocation(#20094,#20009) stmt_containers(#20094,#20001) #20095=* exprs(#20095,120,#20094,0,"<%something%>") #20096=@"loc,{#10000},3,5,3,17" locations_default(#20096,#10000,3,5,3,17) hasLocation(#20095,#20096) enclosing_stmt(#20095,#20094) expr_containers(#20095,#20001) expr_contains_template_tag_location(#20095,#20096) #20097=* stmts(#20097,1,#20094,1,"{}") #20098=@"loc,{#10000},3,20,3,21" locations_default(#20098,#10000,3,20,3,21) hasLocation(#20097,#20098) stmt_containers(#20097,#20001) #20099=* stmts(#20099,2,#20001,3,"foo(<%b ... baz%>);") hasLocation(#20099,#20011) stmt_containers(#20099,#20001) #20100=* exprs(#20100,13,#20099,0,"foo(<%b ... %baz%>)") #20101=@"loc,{#10000},4,1,4,21" locations_default(#20101,#10000,4,1,4,21) hasLocation(#20100,#20101) enclosing_stmt(#20100,#20099) expr_containers(#20100,#20001) #20102=* exprs(#20102,79,#20100,-1,"foo") hasLocation(#20102,#20051) enclosing_stmt(#20102,#20099) expr_containers(#20102,#20001) literals("foo","foo",#20102) #20103=@"var;{foo};{#20000}" variables(#20103,"foo",#20000) bind(#20102,#20103) #20104=* exprs(#20104,120,#20100,0,"<%bar%>") #20105=@"loc,{#10000},4,5,4,11" locations_default(#20105,#10000,4,5,4,11) hasLocation(#20104,#20105) enclosing_stmt(#20104,#20099) expr_containers(#20104,#20001) expr_contains_template_tag_location(#20104,#20105) #20106=* exprs(#20106,120,#20100,1,"<%baz%>") #20107=@"loc,{#10000},4,14,4,20" locations_default(#20107,#10000,4,14,4,20) hasLocation(#20106,#20107) enclosing_stmt(#20106,#20099) expr_containers(#20106,#20001) expr_contains_template_tag_location(#20106,#20107) #20108=* stmts(#20108,2,#20001,4,"<% generated_code %>") hasLocation(#20108,#20015) stmt_containers(#20108,#20001) #20109=* exprs(#20109,120,#20108,0,"<% generated_code %>") hasLocation(#20109,#20015) enclosing_stmt(#20109,#20108) expr_containers(#20109,#20001) expr_contains_template_tag_location(#20109,#20015) #20110=* stmts(#20110,23,#20001,5,"let str ... de %>"";") #20111=@"loc,{#10000},7,1,7,41" locations_default(#20111,#10000,7,1,7,41) hasLocation(#20110,#20111) stmt_containers(#20110,#20001) #20112=* exprs(#20112,64,#20110,0,"string ... ode %>""") #20113=@"loc,{#10000},7,5,7,40" locations_default(#20113,#10000,7,5,7,40) hasLocation(#20112,#20113) enclosing_stmt(#20112,#20110) expr_containers(#20112,#20001) #20114=* exprs(#20114,78,#20112,0,"string") hasLocation(#20114,#20069) enclosing_stmt(#20114,#20110) expr_containers(#20114,#20001) literals("string","string",#20114) decl(#20114,#20081) #20115=* exprs(#20115,4,#20112,1,"""<%= no ... ode %>""") hasLocation(#20115,#20073) enclosing_stmt(#20115,#20110) expr_containers(#20115,#20001) literals("<%= not_generated_code %>","""<%= not_generated_code %>""",#20115) #20116=* regexpterm(#20116,14,#20115,0,"<%= not_generated_code %>") #20117=@"loc,{#10000},7,15,7,39" locations_default(#20117,#10000,7,15,7,39) hasLocation(#20116,#20117) regexp_const_value(#20116,"<%= not_generated_code %>") #20118=* entry_cfg_node(#20118,#20001) #20119=@"loc,{#10000},1,1,1,0" locations_default(#20119,#10000,1,1,1,0) hasLocation(#20118,#20119) #20120=* exit_cfg_node(#20120,#20001) hasLocation(#20120,#20077) successor(#20110,#20114) successor(#20115,#20112) successor(#20114,#20115) successor(#20112,#20120) successor(#20108,#20109) successor(#20109,#20110) successor(#20099,#20102) successor(#20106,#20100) successor(#20104,#20106) successor(#20102,#20104) successor(#20100,#20108) successor(#20094,#20095) #20121=* guard_node(#20121,1,#20095) hasLocation(#20121,#20096) successor(#20121,#20097) #20122=* guard_node(#20122,0,#20095) hasLocation(#20122,#20096) successor(#20122,#20099) successor(#20095,#20121) successor(#20095,#20122) successor(#20097,#20099) successor(#20088,#20091) successor(#20092,#20089) successor(#20091,#20092) successor(#20089,#20094) successor(#20082,#20085) successor(#20086,#20083) successor(#20085,#20086) successor(#20083,#20088) successor(#20118,#20082) numlines(#10000,7,6,1) filetype(#10000,"javascript")