mirror of
https://github.com/github/codeql.git
synced 2025-12-17 01:03:14 +01:00
Added test cases for union.
This commit is contained in:
6
javascript/extractor/tests/es2024/input/union.js
Normal file
6
javascript/extractor/tests/es2024/input/union.js
Normal file
@@ -0,0 +1,6 @@
|
||||
/[\p{Script_Extensions=Greek}\p{RGI_Emoji}]/v;
|
||||
/[[abc][cbd]]/v;
|
||||
/[\p{Emoji}\q{a&}byz]/v;
|
||||
/[\q{\\\}a&}byz]/v;
|
||||
/[\q{\\}]/v;
|
||||
/[\q{abc|cbd|\}}]/v;
|
||||
392
javascript/extractor/tests/es2024/output/trap/union.js.trap
Normal file
392
javascript/extractor/tests/es2024/output/trap/union.js.trap
Normal file
@@ -0,0 +1,392 @@
|
||||
#10000=@"/union.js;sourcefile"
|
||||
files(#10000,"/union.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=*
|
||||
lines(#20002,#20001,"/[\p{Script_Extensions=Greek}\p{RGI_Emoji}]/v;","
|
||||
")
|
||||
#20003=@"loc,{#10000},1,1,1,46"
|
||||
locations_default(#20003,#10000,1,1,1,46)
|
||||
hasLocation(#20002,#20003)
|
||||
#20004=*
|
||||
lines(#20004,#20001,"/[[abc][cbd]]/v;","
|
||||
")
|
||||
#20005=@"loc,{#10000},2,1,2,16"
|
||||
locations_default(#20005,#10000,2,1,2,16)
|
||||
hasLocation(#20004,#20005)
|
||||
#20006=*
|
||||
lines(#20006,#20001,"/[\p{Emoji}\q{a&}byz]/v;","
|
||||
")
|
||||
#20007=@"loc,{#10000},3,1,3,24"
|
||||
locations_default(#20007,#10000,3,1,3,24)
|
||||
hasLocation(#20006,#20007)
|
||||
#20008=*
|
||||
lines(#20008,#20001,"/[\q{\\\}a&}byz]/v;","
|
||||
")
|
||||
#20009=@"loc,{#10000},4,1,4,19"
|
||||
locations_default(#20009,#10000,4,1,4,19)
|
||||
hasLocation(#20008,#20009)
|
||||
#20010=*
|
||||
lines(#20010,#20001,"/[\q{\\}]/v;","
|
||||
")
|
||||
#20011=@"loc,{#10000},5,1,5,12"
|
||||
locations_default(#20011,#10000,5,1,5,12)
|
||||
hasLocation(#20010,#20011)
|
||||
#20012=*
|
||||
lines(#20012,#20001,"/[\q{abc|cbd|\}}]/v;","
|
||||
")
|
||||
#20013=@"loc,{#10000},6,1,6,20"
|
||||
locations_default(#20013,#10000,6,1,6,20)
|
||||
hasLocation(#20012,#20013)
|
||||
numlines(#20001,6,6,0)
|
||||
#20014=*
|
||||
tokeninfo(#20014,5,#20001,0,"/[\p{Script_Extensions=Greek}\p{RGI_Emoji}]/v")
|
||||
#20015=@"loc,{#10000},1,1,1,45"
|
||||
locations_default(#20015,#10000,1,1,1,45)
|
||||
hasLocation(#20014,#20015)
|
||||
#20016=*
|
||||
tokeninfo(#20016,8,#20001,1,";")
|
||||
#20017=@"loc,{#10000},1,46,1,46"
|
||||
locations_default(#20017,#10000,1,46,1,46)
|
||||
hasLocation(#20016,#20017)
|
||||
#20018=*
|
||||
tokeninfo(#20018,5,#20001,2,"/[[abc][cbd]]/v")
|
||||
#20019=@"loc,{#10000},2,1,2,15"
|
||||
locations_default(#20019,#10000,2,1,2,15)
|
||||
hasLocation(#20018,#20019)
|
||||
#20020=*
|
||||
tokeninfo(#20020,8,#20001,3,";")
|
||||
#20021=@"loc,{#10000},2,16,2,16"
|
||||
locations_default(#20021,#10000,2,16,2,16)
|
||||
hasLocation(#20020,#20021)
|
||||
#20022=*
|
||||
tokeninfo(#20022,5,#20001,4,"/[\p{Emoji}\q{a&}byz]/v")
|
||||
#20023=@"loc,{#10000},3,1,3,23"
|
||||
locations_default(#20023,#10000,3,1,3,23)
|
||||
hasLocation(#20022,#20023)
|
||||
#20024=*
|
||||
tokeninfo(#20024,8,#20001,5,";")
|
||||
#20025=@"loc,{#10000},3,24,3,24"
|
||||
locations_default(#20025,#10000,3,24,3,24)
|
||||
hasLocation(#20024,#20025)
|
||||
#20026=*
|
||||
tokeninfo(#20026,5,#20001,6,"/[\q{\\\}a&}byz]/v")
|
||||
#20027=@"loc,{#10000},4,1,4,18"
|
||||
locations_default(#20027,#10000,4,1,4,18)
|
||||
hasLocation(#20026,#20027)
|
||||
#20028=*
|
||||
tokeninfo(#20028,8,#20001,7,";")
|
||||
#20029=@"loc,{#10000},4,19,4,19"
|
||||
locations_default(#20029,#10000,4,19,4,19)
|
||||
hasLocation(#20028,#20029)
|
||||
#20030=*
|
||||
tokeninfo(#20030,5,#20001,8,"/[\q{\\}]/v")
|
||||
#20031=@"loc,{#10000},5,1,5,11"
|
||||
locations_default(#20031,#10000,5,1,5,11)
|
||||
hasLocation(#20030,#20031)
|
||||
#20032=*
|
||||
tokeninfo(#20032,8,#20001,9,";")
|
||||
#20033=@"loc,{#10000},5,12,5,12"
|
||||
locations_default(#20033,#10000,5,12,5,12)
|
||||
hasLocation(#20032,#20033)
|
||||
#20034=*
|
||||
tokeninfo(#20034,5,#20001,10,"/[\q{abc|cbd|\}}]/v")
|
||||
#20035=@"loc,{#10000},6,1,6,19"
|
||||
locations_default(#20035,#10000,6,1,6,19)
|
||||
hasLocation(#20034,#20035)
|
||||
#20036=*
|
||||
tokeninfo(#20036,8,#20001,11,";")
|
||||
#20037=@"loc,{#10000},6,20,6,20"
|
||||
locations_default(#20037,#10000,6,20,6,20)
|
||||
hasLocation(#20036,#20037)
|
||||
#20038=*
|
||||
tokeninfo(#20038,0,#20001,12,"")
|
||||
#20039=@"loc,{#10000},7,1,7,0"
|
||||
locations_default(#20039,#10000,7,1,7,0)
|
||||
hasLocation(#20038,#20039)
|
||||
toplevels(#20001,0)
|
||||
#20040=@"loc,{#10000},1,1,7,0"
|
||||
locations_default(#20040,#10000,1,1,7,0)
|
||||
hasLocation(#20001,#20040)
|
||||
#20041=*
|
||||
stmts(#20041,2,#20001,0,"/[\p{Sc ... ji}]/v;")
|
||||
hasLocation(#20041,#20003)
|
||||
stmt_containers(#20041,#20001)
|
||||
#20042=*
|
||||
exprs(#20042,5,#20041,0,"/[\p{Sc ... oji}]/v")
|
||||
hasLocation(#20042,#20015)
|
||||
enclosing_stmt(#20042,#20041)
|
||||
expr_containers(#20042,#20001)
|
||||
literals("/[\p{Script_Extensions=Greek}\p{RGI_Emoji}]/v","/[\p{Script_Extensions=Greek}\p{RGI_Emoji}]/v",#20042)
|
||||
#20043=*
|
||||
regexpterm(#20043,23,#20042,0,"[\p{Script_Extensions=Greek}\p{RGI_Emoji}]")
|
||||
#20044=@"loc,{#10000},1,2,1,43"
|
||||
locations_default(#20044,#10000,1,2,1,43)
|
||||
hasLocation(#20043,#20044)
|
||||
#20045=*
|
||||
regexpterm(#20045,27,#20043,0,"\p{Script_Extensions=Greek}")
|
||||
#20046=@"loc,{#10000},1,3,1,29"
|
||||
locations_default(#20046,#10000,1,3,1,29)
|
||||
hasLocation(#20045,#20046)
|
||||
unicode_property_escapename(#20045,"Script_Extensions")
|
||||
unicode_property_escapevalue(#20045,"Greek")
|
||||
#20047=*
|
||||
regexpterm(#20047,27,#20043,1,"\p{RGI_Emoji}")
|
||||
#20048=@"loc,{#10000},1,30,1,42"
|
||||
locations_default(#20048,#10000,1,30,1,42)
|
||||
hasLocation(#20047,#20048)
|
||||
unicode_property_escapename(#20047,"RGI_Emoji")
|
||||
#20049=*
|
||||
stmts(#20049,2,#20001,1,"/[[abc][cbd]]/v;")
|
||||
hasLocation(#20049,#20005)
|
||||
stmt_containers(#20049,#20001)
|
||||
#20050=*
|
||||
exprs(#20050,5,#20049,0,"/[[abc][cbd]]/v")
|
||||
hasLocation(#20050,#20019)
|
||||
enclosing_stmt(#20050,#20049)
|
||||
expr_containers(#20050,#20001)
|
||||
literals("/[[abc][cbd]]/v","/[[abc][cbd]]/v",#20050)
|
||||
#20051=*
|
||||
regexpterm(#20051,23,#20050,0,"[[abc][cbd]]")
|
||||
#20052=@"loc,{#10000},2,2,2,13"
|
||||
locations_default(#20052,#10000,2,2,2,13)
|
||||
hasLocation(#20051,#20052)
|
||||
#20053=*
|
||||
regexpterm(#20053,23,#20051,0,"[abc]")
|
||||
#20054=@"loc,{#10000},2,3,2,7"
|
||||
locations_default(#20054,#10000,2,3,2,7)
|
||||
hasLocation(#20053,#20054)
|
||||
#20055=*
|
||||
regexpterm(#20055,14,#20053,0,"a")
|
||||
#20056=@"loc,{#10000},2,4,2,4"
|
||||
locations_default(#20056,#10000,2,4,2,4)
|
||||
hasLocation(#20055,#20056)
|
||||
regexp_const_value(#20055,"a")
|
||||
#20057=*
|
||||
regexpterm(#20057,14,#20053,1,"b")
|
||||
#20058=@"loc,{#10000},2,5,2,5"
|
||||
locations_default(#20058,#10000,2,5,2,5)
|
||||
hasLocation(#20057,#20058)
|
||||
regexp_const_value(#20057,"b")
|
||||
#20059=*
|
||||
regexpterm(#20059,14,#20053,2,"c")
|
||||
#20060=@"loc,{#10000},2,6,2,6"
|
||||
locations_default(#20060,#10000,2,6,2,6)
|
||||
hasLocation(#20059,#20060)
|
||||
regexp_const_value(#20059,"c")
|
||||
#20061=*
|
||||
regexpterm(#20061,23,#20051,1,"[cbd]")
|
||||
#20062=@"loc,{#10000},2,8,2,12"
|
||||
locations_default(#20062,#10000,2,8,2,12)
|
||||
hasLocation(#20061,#20062)
|
||||
#20063=*
|
||||
regexpterm(#20063,14,#20061,0,"c")
|
||||
#20064=@"loc,{#10000},2,9,2,9"
|
||||
locations_default(#20064,#10000,2,9,2,9)
|
||||
hasLocation(#20063,#20064)
|
||||
regexp_const_value(#20063,"c")
|
||||
#20065=*
|
||||
regexpterm(#20065,14,#20061,1,"b")
|
||||
#20066=@"loc,{#10000},2,10,2,10"
|
||||
locations_default(#20066,#10000,2,10,2,10)
|
||||
hasLocation(#20065,#20066)
|
||||
regexp_const_value(#20065,"b")
|
||||
#20067=*
|
||||
regexpterm(#20067,14,#20061,2,"d")
|
||||
#20068=@"loc,{#10000},2,11,2,11"
|
||||
locations_default(#20068,#10000,2,11,2,11)
|
||||
hasLocation(#20067,#20068)
|
||||
regexp_const_value(#20067,"d")
|
||||
#20069=*
|
||||
stmts(#20069,2,#20001,2,"/[\p{Em ... byz]/v;")
|
||||
hasLocation(#20069,#20007)
|
||||
stmt_containers(#20069,#20001)
|
||||
#20070=*
|
||||
exprs(#20070,5,#20069,0,"/[\p{Em ... }byz]/v")
|
||||
hasLocation(#20070,#20023)
|
||||
enclosing_stmt(#20070,#20069)
|
||||
expr_containers(#20070,#20001)
|
||||
literals("/[\p{Emoji}\q{a&}byz]/v","/[\p{Emoji}\q{a&}byz]/v",#20070)
|
||||
#20071=*
|
||||
regexpterm(#20071,23,#20070,0,"[\p{Emoji}\q{a&}byz]")
|
||||
#20072=@"loc,{#10000},3,2,3,21"
|
||||
locations_default(#20072,#10000,3,2,3,21)
|
||||
hasLocation(#20071,#20072)
|
||||
#20073=*
|
||||
regexpterm(#20073,27,#20071,0,"\p{Emoji}")
|
||||
#20074=@"loc,{#10000},3,3,3,11"
|
||||
locations_default(#20074,#10000,3,3,3,11)
|
||||
hasLocation(#20073,#20074)
|
||||
unicode_property_escapename(#20073,"Emoji")
|
||||
#20075=*
|
||||
regexpterm(#20075,28,#20071,1,"\q{a&}")
|
||||
#20076=@"loc,{#10000},3,12,3,17"
|
||||
locations_default(#20076,#10000,3,12,3,17)
|
||||
hasLocation(#20075,#20076)
|
||||
#20077=*
|
||||
regexpterm(#20077,14,#20075,0,"a&")
|
||||
#20078=@"loc,{#10000},3,15,3,16"
|
||||
locations_default(#20078,#10000,3,15,3,16)
|
||||
hasLocation(#20077,#20078)
|
||||
regexp_const_value(#20077,"a&")
|
||||
#20079=*
|
||||
regexpterm(#20079,14,#20071,2,"b")
|
||||
#20080=@"loc,{#10000},3,18,3,18"
|
||||
locations_default(#20080,#10000,3,18,3,18)
|
||||
hasLocation(#20079,#20080)
|
||||
regexp_const_value(#20079,"b")
|
||||
#20081=*
|
||||
regexpterm(#20081,14,#20071,3,"y")
|
||||
#20082=@"loc,{#10000},3,19,3,19"
|
||||
locations_default(#20082,#10000,3,19,3,19)
|
||||
hasLocation(#20081,#20082)
|
||||
regexp_const_value(#20081,"y")
|
||||
#20083=*
|
||||
regexpterm(#20083,14,#20071,4,"z")
|
||||
#20084=@"loc,{#10000},3,20,3,20"
|
||||
locations_default(#20084,#10000,3,20,3,20)
|
||||
hasLocation(#20083,#20084)
|
||||
regexp_const_value(#20083,"z")
|
||||
#20085=*
|
||||
stmts(#20085,2,#20001,3,"/[\q{\\\}a&}byz]/v;")
|
||||
hasLocation(#20085,#20009)
|
||||
stmt_containers(#20085,#20001)
|
||||
#20086=*
|
||||
exprs(#20086,5,#20085,0,"/[\q{\\\}a&}byz]/v")
|
||||
hasLocation(#20086,#20027)
|
||||
enclosing_stmt(#20086,#20085)
|
||||
expr_containers(#20086,#20001)
|
||||
literals("/[\q{\\\}a&}byz]/v","/[\q{\\\}a&}byz]/v",#20086)
|
||||
#20087=*
|
||||
regexpterm(#20087,23,#20086,0,"[\q{\\\}a&}byz]")
|
||||
#20088=@"loc,{#10000},4,2,4,16"
|
||||
locations_default(#20088,#10000,4,2,4,16)
|
||||
hasLocation(#20087,#20088)
|
||||
#20089=*
|
||||
regexpterm(#20089,28,#20087,0,"\q{\\\}a&}")
|
||||
#20090=@"loc,{#10000},4,3,4,12"
|
||||
locations_default(#20090,#10000,4,3,4,12)
|
||||
hasLocation(#20089,#20090)
|
||||
#20091=*
|
||||
regexpterm(#20091,14,#20089,0,"\\\}a&")
|
||||
#20092=@"loc,{#10000},4,6,4,11"
|
||||
locations_default(#20092,#10000,4,6,4,11)
|
||||
hasLocation(#20091,#20092)
|
||||
regexp_const_value(#20091,"\\\}a&")
|
||||
#20093=*
|
||||
regexpterm(#20093,14,#20087,1,"b")
|
||||
#20094=@"loc,{#10000},4,13,4,13"
|
||||
locations_default(#20094,#10000,4,13,4,13)
|
||||
hasLocation(#20093,#20094)
|
||||
regexp_const_value(#20093,"b")
|
||||
#20095=*
|
||||
regexpterm(#20095,14,#20087,2,"y")
|
||||
#20096=@"loc,{#10000},4,14,4,14"
|
||||
locations_default(#20096,#10000,4,14,4,14)
|
||||
hasLocation(#20095,#20096)
|
||||
regexp_const_value(#20095,"y")
|
||||
#20097=*
|
||||
regexpterm(#20097,14,#20087,3,"z")
|
||||
#20098=@"loc,{#10000},4,15,4,15"
|
||||
locations_default(#20098,#10000,4,15,4,15)
|
||||
hasLocation(#20097,#20098)
|
||||
regexp_const_value(#20097,"z")
|
||||
#20099=*
|
||||
stmts(#20099,2,#20001,4,"/[\q{\\}]/v;")
|
||||
hasLocation(#20099,#20011)
|
||||
stmt_containers(#20099,#20001)
|
||||
#20100=*
|
||||
exprs(#20100,5,#20099,0,"/[\q{\\}]/v")
|
||||
hasLocation(#20100,#20031)
|
||||
enclosing_stmt(#20100,#20099)
|
||||
expr_containers(#20100,#20001)
|
||||
literals("/[\q{\\}]/v","/[\q{\\}]/v",#20100)
|
||||
#20101=*
|
||||
regexpterm(#20101,23,#20100,0,"[\q{\\}]")
|
||||
#20102=@"loc,{#10000},5,2,5,9"
|
||||
locations_default(#20102,#10000,5,2,5,9)
|
||||
hasLocation(#20101,#20102)
|
||||
#20103=*
|
||||
regexpterm(#20103,28,#20101,0,"\q{\\}")
|
||||
#20104=@"loc,{#10000},5,3,5,8"
|
||||
locations_default(#20104,#10000,5,3,5,8)
|
||||
hasLocation(#20103,#20104)
|
||||
#20105=*
|
||||
regexpterm(#20105,14,#20103,0,"\\")
|
||||
#20106=@"loc,{#10000},5,6,5,7"
|
||||
locations_default(#20106,#10000,5,6,5,7)
|
||||
hasLocation(#20105,#20106)
|
||||
regexp_const_value(#20105,"\\")
|
||||
#20107=*
|
||||
stmts(#20107,2,#20001,5,"/[\q{abc|cbd|\}}]/v;")
|
||||
hasLocation(#20107,#20013)
|
||||
stmt_containers(#20107,#20001)
|
||||
#20108=*
|
||||
exprs(#20108,5,#20107,0,"/[\q{abc|cbd|\}}]/v")
|
||||
hasLocation(#20108,#20035)
|
||||
enclosing_stmt(#20108,#20107)
|
||||
expr_containers(#20108,#20001)
|
||||
literals("/[\q{abc|cbd|\}}]/v","/[\q{abc|cbd|\}}]/v",#20108)
|
||||
#20109=*
|
||||
regexpterm(#20109,23,#20108,0,"[\q{abc|cbd|\}}]")
|
||||
#20110=@"loc,{#10000},6,2,6,17"
|
||||
locations_default(#20110,#10000,6,2,6,17)
|
||||
hasLocation(#20109,#20110)
|
||||
#20111=*
|
||||
regexpterm(#20111,28,#20109,0,"\q{abc|cbd|\}}")
|
||||
#20112=@"loc,{#10000},6,3,6,16"
|
||||
locations_default(#20112,#10000,6,3,6,16)
|
||||
hasLocation(#20111,#20112)
|
||||
#20113=*
|
||||
regexpterm(#20113,0,#20111,0,"abc|cbd|\}")
|
||||
#20114=@"loc,{#10000},6,6,6,15"
|
||||
locations_default(#20114,#10000,6,6,6,15)
|
||||
hasLocation(#20113,#20114)
|
||||
#20115=*
|
||||
regexpterm(#20115,14,#20113,0,"abc")
|
||||
#20116=@"loc,{#10000},6,6,6,8"
|
||||
locations_default(#20116,#10000,6,6,6,8)
|
||||
hasLocation(#20115,#20116)
|
||||
regexp_const_value(#20115,"abc")
|
||||
#20117=*
|
||||
regexpterm(#20117,14,#20113,1,"cbd")
|
||||
#20118=@"loc,{#10000},6,10,6,12"
|
||||
locations_default(#20118,#10000,6,10,6,12)
|
||||
hasLocation(#20117,#20118)
|
||||
regexp_const_value(#20117,"cbd")
|
||||
#20119=*
|
||||
regexpterm(#20119,14,#20113,2,"\}")
|
||||
#20120=@"loc,{#10000},6,14,6,15"
|
||||
locations_default(#20120,#10000,6,14,6,15)
|
||||
hasLocation(#20119,#20120)
|
||||
regexp_const_value(#20119,"\}")
|
||||
#20121=*
|
||||
entry_cfg_node(#20121,#20001)
|
||||
#20122=@"loc,{#10000},1,1,1,0"
|
||||
locations_default(#20122,#10000,1,1,1,0)
|
||||
hasLocation(#20121,#20122)
|
||||
#20123=*
|
||||
exit_cfg_node(#20123,#20001)
|
||||
hasLocation(#20123,#20039)
|
||||
successor(#20107,#20108)
|
||||
successor(#20108,#20123)
|
||||
successor(#20099,#20100)
|
||||
successor(#20100,#20107)
|
||||
successor(#20085,#20086)
|
||||
successor(#20086,#20099)
|
||||
successor(#20069,#20070)
|
||||
successor(#20070,#20085)
|
||||
successor(#20049,#20050)
|
||||
successor(#20050,#20069)
|
||||
successor(#20041,#20042)
|
||||
successor(#20042,#20049)
|
||||
successor(#20121,#20041)
|
||||
numlines(#10000,6,6,0)
|
||||
filetype(#10000,"javascript")
|
||||
Reference in New Issue
Block a user