#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" #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) stmtContainers(#20074,#20001) #20075=* exprs(#20075,4,#20074,0,"'\ud800'") hasLocation(#20075,#20032) enclosingStmt(#20075,#20074) exprContainers(#20075,#20001) literals("?","'\ud800'",#20075) #20076=* stmts(#20076,2,#20001,1,"'foo\ud800';") hasLocation(#20076,#20012) stmtContainers(#20076,#20001) #20077=* exprs(#20077,4,#20076,0,"'foo\ud800'") hasLocation(#20077,#20036) enclosingStmt(#20077,#20076) exprContainers(#20077,#20001) literals("foo?","'foo\ud800'",#20077) #20078=* stmts(#20078,2,#20001,2,"'\ud800bar';") hasLocation(#20078,#20014) stmtContainers(#20078,#20001) #20079=* exprs(#20079,4,#20078,0,"'\ud800bar'") hasLocation(#20079,#20040) enclosingStmt(#20079,#20078) exprContainers(#20079,#20001) literals("?bar","'\ud800bar'",#20079) #20080=* stmts(#20080,2,#20001,3,"'foo\ud800bar';") hasLocation(#20080,#20016) stmtContainers(#20080,#20001) #20081=* exprs(#20081,4,#20080,0,"'foo\ud800bar'") hasLocation(#20081,#20044) enclosingStmt(#20081,#20080) exprContainers(#20081,#20001) literals("foo?bar","'foo\ud800bar'",#20081) #20082=* stmts(#20082,2,#20001,4,"/\uD800/;") hasLocation(#20082,#20018) stmtContainers(#20082,#20001) #20083=* exprs(#20083,5,#20082,0,"/\uD800/") hasLocation(#20083,#20048) enclosingStmt(#20083,#20082) exprContainers(#20083,#20001) literals("/\uD800/","/\uD800/",#20083) #20084=* regexpterm(#20084,16,#20083,0,"\uD800") #20085=@"loc,{#10000},6,2,6,7" locations_default(#20085,#10000,6,2,6,7) hasLocation(#20084,#20085) regexpConstValue(#20084,"?") #20086=* stmts(#20086,2,#20001,5,"/foo\ud800/;") hasLocation(#20086,#20020) stmtContainers(#20086,#20001) #20087=* exprs(#20087,5,#20086,0,"/foo\ud800/") hasLocation(#20087,#20052) enclosingStmt(#20087,#20086) exprContainers(#20087,#20001) literals("/foo\ud800/","/foo\ud800/",#20087) #20088=* regexpterm(#20088,1,#20087,0,"foo\ud800") #20089=@"loc,{#10000},7,2,7,10" locations_default(#20089,#10000,7,2,7,10) hasLocation(#20088,#20089) #20090=* regexpterm(#20090,14,#20088,0,"f") #20091=@"loc,{#10000},7,2,7,2" locations_default(#20091,#10000,7,2,7,2) hasLocation(#20090,#20091) regexpConstValue(#20090,"f") #20092=* regexpterm(#20092,14,#20088,1,"o") #20093=@"loc,{#10000},7,3,7,3" locations_default(#20093,#10000,7,3,7,3) hasLocation(#20092,#20093) regexpConstValue(#20092,"o") #20094=* regexpterm(#20094,14,#20088,2,"o") #20095=@"loc,{#10000},7,4,7,4" locations_default(#20095,#10000,7,4,7,4) hasLocation(#20094,#20095) regexpConstValue(#20094,"o") #20096=* regexpterm(#20096,16,#20088,3,"\ud800") #20097=@"loc,{#10000},7,5,7,10" locations_default(#20097,#10000,7,5,7,10) hasLocation(#20096,#20097) regexpConstValue(#20096,"?") #20098=* stmts(#20098,2,#20001,6,"/\ud800bar/;") hasLocation(#20098,#20022) stmtContainers(#20098,#20001) #20099=* exprs(#20099,5,#20098,0,"/\ud800bar/") hasLocation(#20099,#20056) enclosingStmt(#20099,#20098) exprContainers(#20099,#20001) literals("/\ud800bar/","/\ud800bar/",#20099) #20100=* regexpterm(#20100,1,#20099,0,"\ud800bar") #20101=@"loc,{#10000},8,2,8,10" locations_default(#20101,#10000,8,2,8,10) hasLocation(#20100,#20101) #20102=* regexpterm(#20102,16,#20100,0,"\ud800") #20103=@"loc,{#10000},8,2,8,7" locations_default(#20103,#10000,8,2,8,7) hasLocation(#20102,#20103) regexpConstValue(#20102,"?") #20104=* regexpterm(#20104,14,#20100,1,"b") #20105=@"loc,{#10000},8,8,8,8" locations_default(#20105,#10000,8,8,8,8) hasLocation(#20104,#20105) regexpConstValue(#20104,"b") #20106=* regexpterm(#20106,14,#20100,2,"a") #20107=@"loc,{#10000},8,9,8,9" locations_default(#20107,#10000,8,9,8,9) hasLocation(#20106,#20107) regexpConstValue(#20106,"a") #20108=* regexpterm(#20108,14,#20100,3,"r") #20109=@"loc,{#10000},8,10,8,10" locations_default(#20109,#10000,8,10,8,10) hasLocation(#20108,#20109) regexpConstValue(#20108,"r") #20110=* stmts(#20110,2,#20001,7,"/foo\ud800bar/;") hasLocation(#20110,#20024) stmtContainers(#20110,#20001) #20111=* exprs(#20111,5,#20110,0,"/foo\ud800bar/") hasLocation(#20111,#20060) enclosingStmt(#20111,#20110) exprContainers(#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,"f") #20115=@"loc,{#10000},9,2,9,2" locations_default(#20115,#10000,9,2,9,2) hasLocation(#20114,#20115) regexpConstValue(#20114,"f") #20116=* regexpterm(#20116,14,#20112,1,"o") #20117=@"loc,{#10000},9,3,9,3" locations_default(#20117,#10000,9,3,9,3) hasLocation(#20116,#20117) regexpConstValue(#20116,"o") #20118=* regexpterm(#20118,14,#20112,2,"o") #20119=@"loc,{#10000},9,4,9,4" locations_default(#20119,#10000,9,4,9,4) hasLocation(#20118,#20119) regexpConstValue(#20118,"o") #20120=* regexpterm(#20120,16,#20112,3,"\ud800") #20121=@"loc,{#10000},9,5,9,10" locations_default(#20121,#10000,9,5,9,10) hasLocation(#20120,#20121) regexpConstValue(#20120,"?") #20122=* regexpterm(#20122,14,#20112,4,"b") #20123=@"loc,{#10000},9,11,9,11" locations_default(#20123,#10000,9,11,9,11) hasLocation(#20122,#20123) regexpConstValue(#20122,"b") #20124=* regexpterm(#20124,14,#20112,5,"a") #20125=@"loc,{#10000},9,12,9,12" locations_default(#20125,#10000,9,12,9,12) hasLocation(#20124,#20125) regexpConstValue(#20124,"a") #20126=* regexpterm(#20126,14,#20112,6,"r") #20127=@"loc,{#10000},9,13,9,13" locations_default(#20127,#10000,9,13,9,13) hasLocation(#20126,#20127) regexpConstValue(#20126,"r") #20128=* stmts(#20128,2,#20001,8,"'\udc00\ud800';") hasLocation(#20128,#20027) stmtContainers(#20128,#20001) #20129=* exprs(#20129,4,#20128,0,"'\udc00\ud800'") hasLocation(#20129,#20064) enclosingStmt(#20129,#20128) exprContainers(#20129,#20001) literals("??","'\udc00\ud800'",#20129) #20130=* stmts(#20130,2,#20001,9,"'\uD834\uDF06';") hasLocation(#20130,#20030) stmtContainers(#20130,#20001) #20131=* exprs(#20131,4,#20130,0,"'\uD834\uDF06'") hasLocation(#20131,#20068) enclosingStmt(#20131,#20130) exprContainers(#20131,#20001) literals("𝌆","'\uD834\uDF06'",#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,#20072) successor(#20130,#20131) successor(#20131,#20134) successor(#20128,#20129) successor(#20129,#20130) successor(#20110,#20111) successor(#20111,#20128) successor(#20098,#20099) successor(#20099,#20110) successor(#20086,#20087) successor(#20087,#20098) successor(#20082,#20083) successor(#20083,#20086) successor(#20080,#20081) successor(#20081,#20082) successor(#20078,#20079) successor(#20079,#20080) successor(#20076,#20077) successor(#20077,#20078) successor(#20074,#20075) successor(#20075,#20076) successor(#20132,#20074) numlines(#10000,13,10,3) filetype(#10000,"javascript")