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