#10000=@"/surrogates.js;sourcefile" files(#10000,"/surrogates.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," lone surrogate halves","// lone ... halves") #20003=@"loc,{#10000},1,1,1,24" locations_default(#20003,#10000,1,1,1,24) hasLocation(#20002,#20003) #20004=* comments(#20004,0,#20001," wrong order","// wrong order") #20005=@"loc,{#10000},10,1,10,14" locations_default(#20005,#10000,10,1,10,14) hasLocation(#20004,#20005) #20006=* comments(#20006,0,#20001," OK","// OK") #20007=@"loc,{#10000},12,1,12,5" locations_default(#20007,#10000,12,1,12,5) hasLocation(#20006,#20007) #20008=* lines(#20008,#20001,"// lone surrogate halves"," ") hasLocation(#20008,#20003) #20009=* lines(#20009,#20001,"'\ud800';"," ") #20010=@"loc,{#10000},2,1,2,9" locations_default(#20010,#10000,2,1,2,9) hasLocation(#20009,#20010) #20011=* lines(#20011,#20001,"'foo\ud800';"," ") #20012=@"loc,{#10000},3,1,3,12" locations_default(#20012,#10000,3,1,3,12) hasLocation(#20011,#20012) #20013=* lines(#20013,#20001,"'\ud800bar';"," ") #20014=@"loc,{#10000},4,1,4,12" locations_default(#20014,#10000,4,1,4,12) hasLocation(#20013,#20014) #20015=* lines(#20015,#20001,"'foo\ud800bar';"," ") #20016=@"loc,{#10000},5,1,5,15" locations_default(#20016,#10000,5,1,5,15) hasLocation(#20015,#20016) #20017=* lines(#20017,#20001,"/\uD800/;"," ") #20018=@"loc,{#10000},6,1,6,9" locations_default(#20018,#10000,6,1,6,9) hasLocation(#20017,#20018) #20019=* lines(#20019,#20001,"/foo\ud800/;"," ") #20020=@"loc,{#10000},7,1,7,12" locations_default(#20020,#10000,7,1,7,12) hasLocation(#20019,#20020) #20021=* lines(#20021,#20001,"/\ud800bar/;"," ") #20022=@"loc,{#10000},8,1,8,12" locations_default(#20022,#10000,8,1,8,12) hasLocation(#20021,#20022) #20023=* lines(#20023,#20001,"/foo\ud800bar/;"," ") #20024=@"loc,{#10000},9,1,9,15" locations_default(#20024,#10000,9,1,9,15) hasLocation(#20023,#20024) #20025=* lines(#20025,#20001,"// wrong order"," ") hasLocation(#20025,#20005) #20026=* lines(#20026,#20001,"'\udc00\ud800';"," ") #20027=@"loc,{#10000},11,1,11,15" locations_default(#20027,#10000,11,1,11,15) hasLocation(#20026,#20027) #20028=* lines(#20028,#20001,"// OK"," ") hasLocation(#20028,#20007) #20029=* lines(#20029,#20001,"'\uD834\uDF06';"," ") #20030=@"loc,{#10000},13,1,13,15" locations_default(#20030,#10000,13,1,13,15) hasLocation(#20029,#20030) numlines(#20001,13,10,3) #20031=* tokeninfo(#20031,4,#20001,0,"'\ud800'") #20032=@"loc,{#10000},2,1,2,8" locations_default(#20032,#10000,2,1,2,8) hasLocation(#20031,#20032) next_token(#20002,#20031) #20033=* tokeninfo(#20033,8,#20001,1,";") #20034=@"loc,{#10000},2,9,2,9" locations_default(#20034,#10000,2,9,2,9) hasLocation(#20033,#20034) #20035=* tokeninfo(#20035,4,#20001,2,"'foo\ud800'") #20036=@"loc,{#10000},3,1,3,11" locations_default(#20036,#10000,3,1,3,11) hasLocation(#20035,#20036) #20037=* tokeninfo(#20037,8,#20001,3,";") #20038=@"loc,{#10000},3,12,3,12" locations_default(#20038,#10000,3,12,3,12) hasLocation(#20037,#20038) #20039=* tokeninfo(#20039,4,#20001,4,"'\ud800bar'") #20040=@"loc,{#10000},4,1,4,11" locations_default(#20040,#10000,4,1,4,11) hasLocation(#20039,#20040) #20041=* tokeninfo(#20041,8,#20001,5,";") #20042=@"loc,{#10000},4,12,4,12" locations_default(#20042,#10000,4,12,4,12) hasLocation(#20041,#20042) #20043=* tokeninfo(#20043,4,#20001,6,"'foo\ud800bar'") #20044=@"loc,{#10000},5,1,5,14" locations_default(#20044,#10000,5,1,5,14) hasLocation(#20043,#20044) #20045=* tokeninfo(#20045,8,#20001,7,";") #20046=@"loc,{#10000},5,15,5,15" locations_default(#20046,#10000,5,15,5,15) hasLocation(#20045,#20046) #20047=* tokeninfo(#20047,5,#20001,8,"/\uD800/") #20048=@"loc,{#10000},6,1,6,8" locations_default(#20048,#10000,6,1,6,8) hasLocation(#20047,#20048) #20049=* tokeninfo(#20049,8,#20001,9,";") #20050=@"loc,{#10000},6,9,6,9" locations_default(#20050,#10000,6,9,6,9) hasLocation(#20049,#20050) #20051=* tokeninfo(#20051,5,#20001,10,"/foo\ud800/") #20052=@"loc,{#10000},7,1,7,11" locations_default(#20052,#10000,7,1,7,11) hasLocation(#20051,#20052) #20053=* tokeninfo(#20053,8,#20001,11,";") #20054=@"loc,{#10000},7,12,7,12" locations_default(#20054,#10000,7,12,7,12) hasLocation(#20053,#20054) #20055=* tokeninfo(#20055,5,#20001,12,"/\ud800bar/") #20056=@"loc,{#10000},8,1,8,11" locations_default(#20056,#10000,8,1,8,11) hasLocation(#20055,#20056) #20057=* tokeninfo(#20057,8,#20001,13,";") #20058=@"loc,{#10000},8,12,8,12" locations_default(#20058,#10000,8,12,8,12) hasLocation(#20057,#20058) #20059=* tokeninfo(#20059,5,#20001,14,"/foo\ud800bar/") #20060=@"loc,{#10000},9,1,9,14" locations_default(#20060,#10000,9,1,9,14) hasLocation(#20059,#20060) #20061=* tokeninfo(#20061,8,#20001,15,";") #20062=@"loc,{#10000},9,15,9,15" locations_default(#20062,#10000,9,15,9,15) hasLocation(#20061,#20062) #20063=* tokeninfo(#20063,4,#20001,16,"'\udc00\ud800'") #20064=@"loc,{#10000},11,1,11,14" locations_default(#20064,#10000,11,1,11,14) hasLocation(#20063,#20064) next_token(#20004,#20063) #20065=* tokeninfo(#20065,8,#20001,17,";") #20066=@"loc,{#10000},11,15,11,15" locations_default(#20066,#10000,11,15,11,15) hasLocation(#20065,#20066) #20067=* tokeninfo(#20067,4,#20001,18,"'\uD834\uDF06'") #20068=@"loc,{#10000},13,1,13,14" locations_default(#20068,#10000,13,1,13,14) hasLocation(#20067,#20068) next_token(#20006,#20067) #20069=* tokeninfo(#20069,8,#20001,19,";") #20070=@"loc,{#10000},13,15,13,15" locations_default(#20070,#10000,13,15,13,15) hasLocation(#20069,#20070) #20071=* tokeninfo(#20071,0,#20001,20,"") #20072=@"loc,{#10000},14,1,14,0" locations_default(#20072,#10000,14,1,14,0) hasLocation(#20071,#20072) toplevels(#20001,0) #20073=@"loc,{#10000},1,1,14,0" locations_default(#20073,#10000,1,1,14,0) hasLocation(#20001,#20073) #20074=* stmts(#20074,2,#20001,0,"'\ud800';") hasLocation(#20074,#20010) stmt_containers(#20074,#20001) #20075=* exprs(#20075,4,#20074,0,"'\ud800'") hasLocation(#20075,#20032) enclosing_stmt(#20075,#20074) expr_containers(#20075,#20001) literals("?","'\ud800'",#20075) #20076=* regexpterm(#20076,14,#20075,0,"?") #20077=@"loc,{#10000},2,2,2,7" locations_default(#20077,#10000,2,2,2,7) hasLocation(#20076,#20077) regexp_const_value(#20076,"?") #20078=* stmts(#20078,2,#20001,1,"'foo\ud800';") hasLocation(#20078,#20012) stmt_containers(#20078,#20001) #20079=* exprs(#20079,4,#20078,0,"'foo\ud800'") hasLocation(#20079,#20036) enclosing_stmt(#20079,#20078) expr_containers(#20079,#20001) literals("foo?","'foo\ud800'",#20079) #20080=* regexpterm(#20080,14,#20079,0,"foo?") #20081=@"loc,{#10000},3,2,3,10" locations_default(#20081,#10000,3,2,3,10) hasLocation(#20080,#20081) regexp_const_value(#20080,"foo?") #20082=* stmts(#20082,2,#20001,2,"'\ud800bar';") hasLocation(#20082,#20014) stmt_containers(#20082,#20001) #20083=* exprs(#20083,4,#20082,0,"'\ud800bar'") hasLocation(#20083,#20040) enclosing_stmt(#20083,#20082) expr_containers(#20083,#20001) literals("?bar","'\ud800bar'",#20083) #20084=* regexpterm(#20084,14,#20083,0,"?bar") #20085=@"loc,{#10000},4,2,4,10" locations_default(#20085,#10000,4,2,4,10) hasLocation(#20084,#20085) regexp_const_value(#20084,"?bar") #20086=* stmts(#20086,2,#20001,3,"'foo\ud800bar';") hasLocation(#20086,#20016) stmt_containers(#20086,#20001) #20087=* exprs(#20087,4,#20086,0,"'foo\ud800bar'") hasLocation(#20087,#20044) enclosing_stmt(#20087,#20086) expr_containers(#20087,#20001) literals("foo?bar","'foo\ud800bar'",#20087) #20088=* regexpterm(#20088,14,#20087,0,"foo?bar") #20089=@"loc,{#10000},5,2,5,13" locations_default(#20089,#10000,5,2,5,13) hasLocation(#20088,#20089) regexp_const_value(#20088,"foo?bar") #20090=* stmts(#20090,2,#20001,4,"/\uD800/;") hasLocation(#20090,#20018) stmt_containers(#20090,#20001) #20091=* exprs(#20091,5,#20090,0,"/\uD800/") hasLocation(#20091,#20048) enclosing_stmt(#20091,#20090) expr_containers(#20091,#20001) literals("/\uD800/","/\uD800/",#20091) #20092=* regexpterm(#20092,16,#20091,0,"\uD800") #20093=@"loc,{#10000},6,2,6,7" locations_default(#20093,#10000,6,2,6,7) hasLocation(#20092,#20093) regexp_const_value(#20092,"?") #20094=* stmts(#20094,2,#20001,5,"/foo\ud800/;") hasLocation(#20094,#20020) stmt_containers(#20094,#20001) #20095=* exprs(#20095,5,#20094,0,"/foo\ud800/") hasLocation(#20095,#20052) enclosing_stmt(#20095,#20094) expr_containers(#20095,#20001) literals("/foo\ud800/","/foo\ud800/",#20095) #20096=* regexpterm(#20096,1,#20095,0,"foo\ud800") #20097=@"loc,{#10000},7,2,7,10" locations_default(#20097,#10000,7,2,7,10) hasLocation(#20096,#20097) #20098=* regexpterm(#20098,14,#20096,0,"foo") #20099=@"loc,{#10000},7,2,7,4" locations_default(#20099,#10000,7,2,7,4) hasLocation(#20098,#20099) regexp_const_value(#20098,"foo") #20100=* regexpterm(#20100,16,#20096,1,"\ud800") #20101=@"loc,{#10000},7,5,7,10" locations_default(#20101,#10000,7,5,7,10) hasLocation(#20100,#20101) regexp_const_value(#20100,"?") #20102=* stmts(#20102,2,#20001,6,"/\ud800bar/;") hasLocation(#20102,#20022) stmt_containers(#20102,#20001) #20103=* exprs(#20103,5,#20102,0,"/\ud800bar/") hasLocation(#20103,#20056) enclosing_stmt(#20103,#20102) expr_containers(#20103,#20001) literals("/\ud800bar/","/\ud800bar/",#20103) #20104=* regexpterm(#20104,1,#20103,0,"\ud800bar") #20105=@"loc,{#10000},8,2,8,10" locations_default(#20105,#10000,8,2,8,10) hasLocation(#20104,#20105) #20106=* regexpterm(#20106,16,#20104,0,"\ud800") #20107=@"loc,{#10000},8,2,8,7" locations_default(#20107,#10000,8,2,8,7) hasLocation(#20106,#20107) regexp_const_value(#20106,"?") #20108=* regexpterm(#20108,14,#20104,1,"bar") #20109=@"loc,{#10000},8,8,8,10" locations_default(#20109,#10000,8,8,8,10) hasLocation(#20108,#20109) regexp_const_value(#20108,"bar") #20110=* stmts(#20110,2,#20001,7,"/foo\ud800bar/;") hasLocation(#20110,#20024) stmt_containers(#20110,#20001) #20111=* exprs(#20111,5,#20110,0,"/foo\ud800bar/") hasLocation(#20111,#20060) enclosing_stmt(#20111,#20110) expr_containers(#20111,#20001) literals("/foo\ud800bar/","/foo\ud800bar/",#20111) #20112=* regexpterm(#20112,1,#20111,0,"foo\ud800bar") #20113=@"loc,{#10000},9,2,9,13" locations_default(#20113,#10000,9,2,9,13) hasLocation(#20112,#20113) #20114=* regexpterm(#20114,14,#20112,0,"foo") #20115=@"loc,{#10000},9,2,9,4" locations_default(#20115,#10000,9,2,9,4) hasLocation(#20114,#20115) regexp_const_value(#20114,"foo") #20116=* regexpterm(#20116,16,#20112,1,"\ud800") #20117=@"loc,{#10000},9,5,9,10" locations_default(#20117,#10000,9,5,9,10) hasLocation(#20116,#20117) regexp_const_value(#20116,"?") #20118=* regexpterm(#20118,14,#20112,2,"bar") #20119=@"loc,{#10000},9,11,9,13" locations_default(#20119,#10000,9,11,9,13) hasLocation(#20118,#20119) regexp_const_value(#20118,"bar") #20120=* stmts(#20120,2,#20001,8,"'\udc00\ud800';") hasLocation(#20120,#20027) stmt_containers(#20120,#20001) #20121=* exprs(#20121,4,#20120,0,"'\udc00\ud800'") hasLocation(#20121,#20064) enclosing_stmt(#20121,#20120) expr_containers(#20121,#20001) literals("??","'\udc00\ud800'",#20121) #20122=* regexpterm(#20122,14,#20121,0,"??") #20123=@"loc,{#10000},11,2,11,13" locations_default(#20123,#10000,11,2,11,13) hasLocation(#20122,#20123) regexp_const_value(#20122,"??") #20124=* stmts(#20124,2,#20001,9,"'\uD834\uDF06';") hasLocation(#20124,#20030) stmt_containers(#20124,#20001) #20125=* exprs(#20125,4,#20124,0,"'\uD834\uDF06'") hasLocation(#20125,#20068) enclosing_stmt(#20125,#20124) expr_containers(#20125,#20001) literals("𝌆","'\uD834\uDF06'",#20125) #20126=* regexpterm(#20126,14,#20125,0,"𝌆") #20127=@"loc,{#10000},13,2,13,13" locations_default(#20127,#10000,13,2,13,13) hasLocation(#20126,#20127) regexp_const_value(#20126,"𝌆") #20128=* entry_cfg_node(#20128,#20001) #20129=@"loc,{#10000},1,1,1,0" locations_default(#20129,#10000,1,1,1,0) hasLocation(#20128,#20129) #20130=* exit_cfg_node(#20130,#20001) hasLocation(#20130,#20072) successor(#20124,#20125) successor(#20125,#20130) successor(#20120,#20121) successor(#20121,#20124) successor(#20110,#20111) successor(#20111,#20120) successor(#20102,#20103) successor(#20103,#20110) successor(#20094,#20095) successor(#20095,#20102) successor(#20090,#20091) successor(#20091,#20094) successor(#20086,#20087) successor(#20087,#20090) successor(#20082,#20083) successor(#20083,#20086) successor(#20078,#20079) successor(#20079,#20082) successor(#20074,#20075) successor(#20075,#20078) successor(#20128,#20074) numlines(#10000,13,10,3) filetype(#10000,"javascript")