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