#10000=@"/predicate-function-annotation.js;sourcefile" files(#10000,"/predicate-function-annotation.js","predicate-function-annotation","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,10,0" locations_default(#20002,#10000,1,1,10,0) hasLocation(#20001,#20002) #20003=@"var;{f};{#20000}" variables(#20003,"f",#20000) #20004=@"var;{g};{#20000}" variables(#20004,"g",#20000) #20005=* stmts(#20005,17,#20001,0,"functio ... rn a;\n}") #20006=@"loc,{#10000},1,1,3,1" locations_default(#20006,#10000,1,1,3,1) hasLocation(#20005,#20006) stmtContainers(#20005,#20001) #20007=* exprs(#20007,78,#20005,-1,"f") #20008=@"loc,{#10000},1,10,1,10" locations_default(#20008,#10000,1,10,1,10) hasLocation(#20007,#20008) exprContainers(#20007,#20005) literals("f","f",#20007) decl(#20007,#20003) #20009=* scopes(#20009,1) scopenodes(#20005,#20009) scopenesting(#20009,#20000) #20010=@"var;{a};{#20009}" variables(#20010,"a",#20009) #20011=* exprs(#20011,78,#20005,0,"a") #20012=@"loc,{#10000},1,12,1,12" locations_default(#20012,#10000,1,12,1,12) hasLocation(#20011,#20012) exprContainers(#20011,#20005) literals("a","a",#20011) decl(#20011,#20010) #20013=@"var;{arguments};{#20009}" variables(#20013,"arguments",#20009) isArgumentsObject(#20013) #20014=* stmts(#20014,1,#20005,-2,"{\n return a;\n}") #20015=@"loc,{#10000},1,32,3,1" locations_default(#20015,#10000,1,32,3,1) hasLocation(#20014,#20015) stmtContainers(#20014,#20005) #20016=* stmts(#20016,9,#20014,0,"return a;") #20017=@"loc,{#10000},2,5,2,13" locations_default(#20017,#10000,2,5,2,13) hasLocation(#20016,#20017) stmtContainers(#20016,#20005) #20018=* exprs(#20018,79,#20016,0,"a") #20019=@"loc,{#10000},2,12,2,12" locations_default(#20019,#10000,2,12,2,12) hasLocation(#20018,#20019) enclosingStmt(#20018,#20016) exprContainers(#20018,#20005) literals("a","a",#20018) bind(#20018,#20010) numlines(#20005,3,3,0) #20020=* stmts(#20020,17,#20001,1,"functio ... ecks {}") #20021=@"loc,{#10000},4,1,4,24" locations_default(#20021,#10000,4,1,4,24) hasLocation(#20020,#20021) stmtContainers(#20020,#20001) #20022=* exprs(#20022,78,#20020,-1,"g") #20023=@"loc,{#10000},4,10,4,10" locations_default(#20023,#10000,4,10,4,10) hasLocation(#20022,#20023) exprContainers(#20022,#20020) literals("g","g",#20022) decl(#20022,#20004) #20024=* scopes(#20024,1) scopenodes(#20020,#20024) scopenesting(#20024,#20000) #20025=@"var;{arguments};{#20024}" variables(#20025,"arguments",#20024) isArgumentsObject(#20025) #20026=* stmts(#20026,1,#20020,-2,"{}") #20027=@"loc,{#10000},4,23,4,24" locations_default(#20027,#10000,4,23,4,24) hasLocation(#20026,#20027) stmtContainers(#20026,#20020) numlines(#20020,1,1,0) #20028=* stmts(#20028,1,#20001,2,"{\n return b;\n}") #20029=@"loc,{#10000},4,26,6,1" locations_default(#20029,#10000,4,26,6,1) hasLocation(#20028,#20029) stmtContainers(#20028,#20001) #20030=* stmts(#20030,9,#20028,0,"return b;") #20031=@"loc,{#10000},5,5,5,13" locations_default(#20031,#10000,5,5,5,13) hasLocation(#20030,#20031) stmtContainers(#20030,#20001) #20032=* exprs(#20032,79,#20030,0,"b") #20033=@"loc,{#10000},5,12,5,12" locations_default(#20033,#10000,5,12,5,12) hasLocation(#20032,#20033) enclosingStmt(#20032,#20030) exprContainers(#20032,#20001) literals("b","b",#20032) #20034=@"var;{b};{#20000}" variables(#20034,"b",#20000) bind(#20032,#20034) #20035=* stmts(#20035,2,#20001,3,"(c): bo ... s => c;") #20036=@"loc,{#10000},8,1,8,26" locations_default(#20036,#10000,8,1,8,26) hasLocation(#20035,#20036) stmtContainers(#20035,#20001) #20037=* exprs(#20037,65,#20035,0,"(c): bo ... ks => c") #20038=@"loc,{#10000},8,1,8,25" locations_default(#20038,#10000,8,1,8,25) hasLocation(#20037,#20038) enclosingStmt(#20037,#20035) exprContainers(#20037,#20001) #20039=* scopes(#20039,1) scopenodes(#20037,#20039) scopenesting(#20039,#20000) #20040=@"var;{c};{#20039}" variables(#20040,"c",#20039) #20041=* exprs(#20041,78,#20037,0,"c") #20042=@"loc,{#10000},8,2,8,2" locations_default(#20042,#10000,8,2,8,2) hasLocation(#20041,#20042) exprContainers(#20041,#20037) literals("c","c",#20041) decl(#20041,#20040) #20043=* exprs(#20043,79,#20037,-2,"c") #20044=@"loc,{#10000},8,25,8,25" locations_default(#20044,#10000,8,25,8,25) hasLocation(#20043,#20044) exprContainers(#20043,#20037) literals("c","c",#20043) bind(#20043,#20040) numlines(#20037,1,1,0) #20045=* stmts(#20045,2,#20001,4,"(d): %checks => d;") #20046=@"loc,{#10000},9,1,9,18" locations_default(#20046,#10000,9,1,9,18) hasLocation(#20045,#20046) stmtContainers(#20045,#20001) #20047=* exprs(#20047,65,#20045,0,"(d): %checks => d") #20048=@"loc,{#10000},9,1,9,17" locations_default(#20048,#10000,9,1,9,17) hasLocation(#20047,#20048) enclosingStmt(#20047,#20045) exprContainers(#20047,#20001) #20049=* scopes(#20049,1) scopenodes(#20047,#20049) scopenesting(#20049,#20000) #20050=@"var;{d};{#20049}" variables(#20050,"d",#20049) #20051=* exprs(#20051,78,#20047,0,"d") #20052=@"loc,{#10000},9,2,9,2" locations_default(#20052,#10000,9,2,9,2) hasLocation(#20051,#20052) exprContainers(#20051,#20047) literals("d","d",#20051) decl(#20051,#20050) #20053=* exprs(#20053,79,#20047,-2,"d") #20054=@"loc,{#10000},9,17,9,17" locations_default(#20054,#10000,9,17,9,17) hasLocation(#20053,#20054) exprContainers(#20053,#20047) literals("d","d",#20053) bind(#20053,#20050) numlines(#20047,1,1,0) #20055=* lines(#20055,#20001,"function f(a): boolean %checks {"," ") #20056=@"loc,{#10000},1,1,1,32" locations_default(#20056,#10000,1,1,1,32) hasLocation(#20055,#20056) #20057=* lines(#20057,#20001," return a;"," ") #20058=@"loc,{#10000},2,1,2,13" locations_default(#20058,#10000,2,1,2,13) hasLocation(#20057,#20058) indentation(#10000,2," ",4) #20059=* lines(#20059,#20001,"}"," ") #20060=@"loc,{#10000},3,1,3,1" locations_default(#20060,#10000,3,1,3,1) hasLocation(#20059,#20060) #20061=* lines(#20061,#20001,"function g(): %checks {} {"," ") #20062=@"loc,{#10000},4,1,4,26" locations_default(#20062,#10000,4,1,4,26) hasLocation(#20061,#20062) #20063=* lines(#20063,#20001," return b;"," ") #20064=@"loc,{#10000},5,1,5,13" locations_default(#20064,#10000,5,1,5,13) hasLocation(#20063,#20064) indentation(#10000,5," ",4) #20065=* lines(#20065,#20001,"}"," ") #20066=@"loc,{#10000},6,1,6,1" locations_default(#20066,#10000,6,1,6,1) hasLocation(#20065,#20066) #20067=* lines(#20067,#20001,""," ") #20068=@"loc,{#10000},7,1,7,0" locations_default(#20068,#10000,7,1,7,0) hasLocation(#20067,#20068) #20069=* lines(#20069,#20001,"(c): boolean %checks => c;"," ") hasLocation(#20069,#20036) #20070=* lines(#20070,#20001,"(d): %checks => d;"," ") hasLocation(#20070,#20046) numlines(#20001,9,8,0) #20071=* tokeninfo(#20071,7,#20001,0,"function") #20072=@"loc,{#10000},1,1,1,8" locations_default(#20072,#10000,1,1,1,8) hasLocation(#20071,#20072) #20073=* tokeninfo(#20073,6,#20001,1,"f") hasLocation(#20073,#20008) #20074=* tokeninfo(#20074,8,#20001,2,"(") #20075=@"loc,{#10000},1,11,1,11" locations_default(#20075,#10000,1,11,1,11) hasLocation(#20074,#20075) #20076=* tokeninfo(#20076,6,#20001,3,"a") hasLocation(#20076,#20012) #20077=* tokeninfo(#20077,8,#20001,4,")") #20078=@"loc,{#10000},1,13,1,13" locations_default(#20078,#10000,1,13,1,13) hasLocation(#20077,#20078) #20079=* tokeninfo(#20079,8,#20001,5,":") #20080=@"loc,{#10000},1,14,1,14" locations_default(#20080,#10000,1,14,1,14) hasLocation(#20079,#20080) #20081=* tokeninfo(#20081,6,#20001,6,"boolean") #20082=@"loc,{#10000},1,16,1,22" locations_default(#20082,#10000,1,16,1,22) hasLocation(#20081,#20082) #20083=* tokeninfo(#20083,8,#20001,7,"%") #20084=@"loc,{#10000},1,24,1,24" locations_default(#20084,#10000,1,24,1,24) hasLocation(#20083,#20084) #20085=* tokeninfo(#20085,6,#20001,8,"checks") #20086=@"loc,{#10000},1,25,1,30" locations_default(#20086,#10000,1,25,1,30) hasLocation(#20085,#20086) #20087=* tokeninfo(#20087,8,#20001,9,"{") #20088=@"loc,{#10000},1,32,1,32" locations_default(#20088,#10000,1,32,1,32) hasLocation(#20087,#20088) #20089=* tokeninfo(#20089,7,#20001,10,"return") #20090=@"loc,{#10000},2,5,2,10" locations_default(#20090,#10000,2,5,2,10) hasLocation(#20089,#20090) #20091=* tokeninfo(#20091,6,#20001,11,"a") hasLocation(#20091,#20019) #20092=* tokeninfo(#20092,8,#20001,12,";") #20093=@"loc,{#10000},2,13,2,13" locations_default(#20093,#10000,2,13,2,13) hasLocation(#20092,#20093) #20094=* tokeninfo(#20094,8,#20001,13,"}") hasLocation(#20094,#20060) #20095=* tokeninfo(#20095,7,#20001,14,"function") #20096=@"loc,{#10000},4,1,4,8" locations_default(#20096,#10000,4,1,4,8) hasLocation(#20095,#20096) #20097=* tokeninfo(#20097,6,#20001,15,"g") hasLocation(#20097,#20023) #20098=* tokeninfo(#20098,8,#20001,16,"(") #20099=@"loc,{#10000},4,11,4,11" locations_default(#20099,#10000,4,11,4,11) hasLocation(#20098,#20099) #20100=* tokeninfo(#20100,8,#20001,17,")") #20101=@"loc,{#10000},4,12,4,12" locations_default(#20101,#10000,4,12,4,12) hasLocation(#20100,#20101) #20102=* tokeninfo(#20102,8,#20001,18,":") #20103=@"loc,{#10000},4,13,4,13" locations_default(#20103,#10000,4,13,4,13) hasLocation(#20102,#20103) #20104=* tokeninfo(#20104,8,#20001,19,"%") #20105=@"loc,{#10000},4,15,4,15" locations_default(#20105,#10000,4,15,4,15) hasLocation(#20104,#20105) #20106=* tokeninfo(#20106,6,#20001,20,"checks") #20107=@"loc,{#10000},4,16,4,21" locations_default(#20107,#10000,4,16,4,21) hasLocation(#20106,#20107) #20108=* tokeninfo(#20108,8,#20001,21,"{") #20109=@"loc,{#10000},4,23,4,23" locations_default(#20109,#10000,4,23,4,23) hasLocation(#20108,#20109) #20110=* tokeninfo(#20110,8,#20001,22,"}") #20111=@"loc,{#10000},4,24,4,24" locations_default(#20111,#10000,4,24,4,24) hasLocation(#20110,#20111) #20112=* tokeninfo(#20112,8,#20001,23,"{") #20113=@"loc,{#10000},4,26,4,26" locations_default(#20113,#10000,4,26,4,26) hasLocation(#20112,#20113) #20114=* tokeninfo(#20114,7,#20001,24,"return") #20115=@"loc,{#10000},5,5,5,10" locations_default(#20115,#10000,5,5,5,10) hasLocation(#20114,#20115) #20116=* tokeninfo(#20116,6,#20001,25,"b") hasLocation(#20116,#20033) #20117=* tokeninfo(#20117,8,#20001,26,";") #20118=@"loc,{#10000},5,13,5,13" locations_default(#20118,#10000,5,13,5,13) hasLocation(#20117,#20118) #20119=* tokeninfo(#20119,8,#20001,27,"}") hasLocation(#20119,#20066) #20120=* tokeninfo(#20120,8,#20001,28,"(") #20121=@"loc,{#10000},8,1,8,1" locations_default(#20121,#10000,8,1,8,1) hasLocation(#20120,#20121) #20122=* tokeninfo(#20122,6,#20001,29,"c") hasLocation(#20122,#20042) #20123=* tokeninfo(#20123,8,#20001,30,")") #20124=@"loc,{#10000},8,3,8,3" locations_default(#20124,#10000,8,3,8,3) hasLocation(#20123,#20124) #20125=* tokeninfo(#20125,8,#20001,31,":") #20126=@"loc,{#10000},8,4,8,4" locations_default(#20126,#10000,8,4,8,4) hasLocation(#20125,#20126) #20127=* tokeninfo(#20127,6,#20001,32,"boolean") #20128=@"loc,{#10000},8,6,8,12" locations_default(#20128,#10000,8,6,8,12) hasLocation(#20127,#20128) #20129=* tokeninfo(#20129,8,#20001,33,"%") #20130=@"loc,{#10000},8,14,8,14" locations_default(#20130,#10000,8,14,8,14) hasLocation(#20129,#20130) #20131=* tokeninfo(#20131,6,#20001,34,"checks") #20132=@"loc,{#10000},8,15,8,20" locations_default(#20132,#10000,8,15,8,20) hasLocation(#20131,#20132) #20133=* tokeninfo(#20133,8,#20001,35,"=>") #20134=@"loc,{#10000},8,22,8,23" locations_default(#20134,#10000,8,22,8,23) hasLocation(#20133,#20134) #20135=* tokeninfo(#20135,6,#20001,36,"c") hasLocation(#20135,#20044) #20136=* tokeninfo(#20136,8,#20001,37,";") #20137=@"loc,{#10000},8,26,8,26" locations_default(#20137,#10000,8,26,8,26) hasLocation(#20136,#20137) #20138=* tokeninfo(#20138,8,#20001,38,"(") #20139=@"loc,{#10000},9,1,9,1" locations_default(#20139,#10000,9,1,9,1) hasLocation(#20138,#20139) #20140=* tokeninfo(#20140,6,#20001,39,"d") hasLocation(#20140,#20052) #20141=* tokeninfo(#20141,8,#20001,40,")") #20142=@"loc,{#10000},9,3,9,3" locations_default(#20142,#10000,9,3,9,3) hasLocation(#20141,#20142) #20143=* tokeninfo(#20143,8,#20001,41,":") #20144=@"loc,{#10000},9,4,9,4" locations_default(#20144,#10000,9,4,9,4) hasLocation(#20143,#20144) #20145=* tokeninfo(#20145,8,#20001,42,"%") #20146=@"loc,{#10000},9,6,9,6" locations_default(#20146,#10000,9,6,9,6) hasLocation(#20145,#20146) #20147=* tokeninfo(#20147,6,#20001,43,"checks") #20148=@"loc,{#10000},9,7,9,12" locations_default(#20148,#10000,9,7,9,12) hasLocation(#20147,#20148) #20149=* tokeninfo(#20149,8,#20001,44,"=>") #20150=@"loc,{#10000},9,14,9,15" locations_default(#20150,#10000,9,14,9,15) hasLocation(#20149,#20150) #20151=* tokeninfo(#20151,6,#20001,45,"d") hasLocation(#20151,#20054) #20152=* tokeninfo(#20152,8,#20001,46,";") #20153=@"loc,{#10000},9,18,9,18" locations_default(#20153,#10000,9,18,9,18) hasLocation(#20152,#20153) #20154=* tokeninfo(#20154,0,#20001,47,"") #20155=@"loc,{#10000},10,1,10,0" locations_default(#20155,#10000,10,1,10,0) hasLocation(#20154,#20155) #20156=* entry_cfg_node(#20156,#20001) #20157=@"loc,{#10000},1,1,1,0" locations_default(#20157,#10000,1,1,1,0) hasLocation(#20156,#20157) #20158=* exit_cfg_node(#20158,#20001) hasLocation(#20158,#20155) successor(#20045,#20047) successor(#20047,#20158) #20159=* entry_cfg_node(#20159,#20047) #20160=@"loc,{#10000},9,1,9,0" locations_default(#20160,#10000,9,1,9,0) hasLocation(#20159,#20160) #20161=* exit_cfg_node(#20161,#20047) #20162=@"loc,{#10000},9,18,9,17" locations_default(#20162,#10000,9,18,9,17) hasLocation(#20161,#20162) successor(#20053,#20161) successor(#20051,#20053) successor(#20159,#20051) successor(#20035,#20037) successor(#20037,#20045) #20163=* entry_cfg_node(#20163,#20037) #20164=@"loc,{#10000},8,1,8,0" locations_default(#20164,#10000,8,1,8,0) hasLocation(#20163,#20164) #20165=* exit_cfg_node(#20165,#20037) #20166=@"loc,{#10000},8,26,8,25" locations_default(#20166,#10000,8,26,8,25) hasLocation(#20165,#20166) successor(#20043,#20165) successor(#20041,#20043) successor(#20163,#20041) successor(#20028,#20032) successor(#20032,#20030) successor(#20030,#20158) successor(#20020,#20028) #20167=* entry_cfg_node(#20167,#20020) #20168=@"loc,{#10000},4,1,4,0" locations_default(#20168,#10000,4,1,4,0) hasLocation(#20167,#20168) #20169=* exit_cfg_node(#20169,#20020) #20170=@"loc,{#10000},4,25,4,24" locations_default(#20170,#10000,4,25,4,24) hasLocation(#20169,#20170) successor(#20026,#20169) successor(#20167,#20026) successor(#20005,#20020) #20171=* entry_cfg_node(#20171,#20005) hasLocation(#20171,#20157) #20172=* exit_cfg_node(#20172,#20005) #20173=@"loc,{#10000},3,2,3,1" locations_default(#20173,#10000,3,2,3,1) hasLocation(#20172,#20173) successor(#20014,#20018) successor(#20018,#20016) successor(#20016,#20172) successor(#20011,#20014) successor(#20171,#20011) successor(#20022,#20005) successor(#20007,#20022) successor(#20156,#20007) numlines(#10000,9,8,0) filetype(#10000,"javascript")