зеркало из https://github.com/github/codeql.git
JS: TRAP test for angular templates
This commit is contained in:
Родитель
3c0867125b
Коммит
07cfceee19
|
@ -0,0 +1,10 @@
|
|||
import { Component } from "@angular/core";
|
||||
|
||||
@Component({
|
||||
template: `
|
||||
<foo [prop]="expr + expr"/>
|
||||
<foo [baz]="expr!" />
|
||||
<foo [baz]="expr?.bar" />
|
||||
`
|
||||
})
|
||||
export class MyComponent {}
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"experimental": true
|
||||
}
|
|
@ -0,0 +1,666 @@
|
|||
#10000=@"/component.js;sourcefile"
|
||||
files(#10000,"/component.js","component","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=*
|
||||
lines(#20002,#20001,"import { Component } from ""@angular/core"";","
|
||||
")
|
||||
#20003=@"loc,{#10000},1,1,1,42"
|
||||
locations_default(#20003,#10000,1,1,1,42)
|
||||
hasLocation(#20002,#20003)
|
||||
#20004=*
|
||||
lines(#20004,#20001,"","
|
||||
")
|
||||
#20005=@"loc,{#10000},2,1,2,0"
|
||||
locations_default(#20005,#10000,2,1,2,0)
|
||||
hasLocation(#20004,#20005)
|
||||
#20006=*
|
||||
lines(#20006,#20001,"@Component({","
|
||||
")
|
||||
#20007=@"loc,{#10000},3,1,3,12"
|
||||
locations_default(#20007,#10000,3,1,3,12)
|
||||
hasLocation(#20006,#20007)
|
||||
#20008=*
|
||||
lines(#20008,#20001," template: `","
|
||||
")
|
||||
#20009=@"loc,{#10000},4,1,4,12"
|
||||
locations_default(#20009,#10000,4,1,4,12)
|
||||
hasLocation(#20008,#20009)
|
||||
indentation(#10000,4," ",1)
|
||||
#20010=*
|
||||
lines(#20010,#20001," <foo [prop]=""expr + expr""/>","
|
||||
")
|
||||
#20011=@"loc,{#10000},5,1,5,28"
|
||||
locations_default(#20011,#10000,5,1,5,28)
|
||||
hasLocation(#20010,#20011)
|
||||
indentation(#10000,5," ",1)
|
||||
#20012=*
|
||||
lines(#20012,#20001," <foo [baz]=""expr!"" />","
|
||||
")
|
||||
#20013=@"loc,{#10000},6,1,6,22"
|
||||
locations_default(#20013,#10000,6,1,6,22)
|
||||
hasLocation(#20012,#20013)
|
||||
indentation(#10000,6," ",1)
|
||||
#20014=*
|
||||
lines(#20014,#20001," <foo [baz]=""expr?.bar"" />","
|
||||
")
|
||||
#20015=@"loc,{#10000},7,1,7,26"
|
||||
locations_default(#20015,#10000,7,1,7,26)
|
||||
hasLocation(#20014,#20015)
|
||||
indentation(#10000,7," ",1)
|
||||
#20016=*
|
||||
lines(#20016,#20001," `","
|
||||
")
|
||||
#20017=@"loc,{#10000},8,1,8,2"
|
||||
locations_default(#20017,#10000,8,1,8,2)
|
||||
hasLocation(#20016,#20017)
|
||||
indentation(#10000,8," ",1)
|
||||
#20018=*
|
||||
lines(#20018,#20001,"})","
|
||||
")
|
||||
#20019=@"loc,{#10000},9,1,9,2"
|
||||
locations_default(#20019,#10000,9,1,9,2)
|
||||
hasLocation(#20018,#20019)
|
||||
#20020=*
|
||||
lines(#20020,#20001,"export class MyComponent {}","
|
||||
")
|
||||
#20021=@"loc,{#10000},10,1,10,27"
|
||||
locations_default(#20021,#10000,10,1,10,27)
|
||||
hasLocation(#20020,#20021)
|
||||
numlines(#20001,10,9,0)
|
||||
#20022=*
|
||||
tokeninfo(#20022,7,#20001,0,"import")
|
||||
#20023=@"loc,{#10000},1,1,1,6"
|
||||
locations_default(#20023,#10000,1,1,1,6)
|
||||
hasLocation(#20022,#20023)
|
||||
#20024=*
|
||||
tokeninfo(#20024,8,#20001,1,"{")
|
||||
#20025=@"loc,{#10000},1,8,1,8"
|
||||
locations_default(#20025,#10000,1,8,1,8)
|
||||
hasLocation(#20024,#20025)
|
||||
#20026=*
|
||||
tokeninfo(#20026,6,#20001,2,"Component")
|
||||
#20027=@"loc,{#10000},1,10,1,18"
|
||||
locations_default(#20027,#10000,1,10,1,18)
|
||||
hasLocation(#20026,#20027)
|
||||
#20028=*
|
||||
tokeninfo(#20028,8,#20001,3,"}")
|
||||
#20029=@"loc,{#10000},1,20,1,20"
|
||||
locations_default(#20029,#10000,1,20,1,20)
|
||||
hasLocation(#20028,#20029)
|
||||
#20030=*
|
||||
tokeninfo(#20030,6,#20001,4,"from")
|
||||
#20031=@"loc,{#10000},1,22,1,25"
|
||||
locations_default(#20031,#10000,1,22,1,25)
|
||||
hasLocation(#20030,#20031)
|
||||
#20032=*
|
||||
tokeninfo(#20032,4,#20001,5,"""@angular/core""")
|
||||
#20033=@"loc,{#10000},1,27,1,41"
|
||||
locations_default(#20033,#10000,1,27,1,41)
|
||||
hasLocation(#20032,#20033)
|
||||
#20034=*
|
||||
tokeninfo(#20034,8,#20001,6,";")
|
||||
#20035=@"loc,{#10000},1,42,1,42"
|
||||
locations_default(#20035,#10000,1,42,1,42)
|
||||
hasLocation(#20034,#20035)
|
||||
#20036=*
|
||||
tokeninfo(#20036,8,#20001,7,"@")
|
||||
#20037=@"loc,{#10000},3,1,3,1"
|
||||
locations_default(#20037,#10000,3,1,3,1)
|
||||
hasLocation(#20036,#20037)
|
||||
#20038=*
|
||||
tokeninfo(#20038,6,#20001,8,"Component")
|
||||
#20039=@"loc,{#10000},3,2,3,10"
|
||||
locations_default(#20039,#10000,3,2,3,10)
|
||||
hasLocation(#20038,#20039)
|
||||
#20040=*
|
||||
tokeninfo(#20040,8,#20001,9,"(")
|
||||
#20041=@"loc,{#10000},3,11,3,11"
|
||||
locations_default(#20041,#10000,3,11,3,11)
|
||||
hasLocation(#20040,#20041)
|
||||
#20042=*
|
||||
tokeninfo(#20042,8,#20001,10,"{")
|
||||
#20043=@"loc,{#10000},3,12,3,12"
|
||||
locations_default(#20043,#10000,3,12,3,12)
|
||||
hasLocation(#20042,#20043)
|
||||
#20044=*
|
||||
tokeninfo(#20044,6,#20001,11,"template")
|
||||
#20045=@"loc,{#10000},4,2,4,9"
|
||||
locations_default(#20045,#10000,4,2,4,9)
|
||||
hasLocation(#20044,#20045)
|
||||
#20046=*
|
||||
tokeninfo(#20046,8,#20001,12,":")
|
||||
#20047=@"loc,{#10000},4,10,4,10"
|
||||
locations_default(#20047,#10000,4,10,4,10)
|
||||
hasLocation(#20046,#20047)
|
||||
#20048=*
|
||||
tokeninfo(#20048,8,#20001,13,"`")
|
||||
#20049=@"loc,{#10000},4,12,4,12"
|
||||
locations_default(#20049,#10000,4,12,4,12)
|
||||
hasLocation(#20048,#20049)
|
||||
#20050=*
|
||||
tokeninfo(#20050,4,#20001,14,"
|
||||
<foo [prop]=""expr + expr""/>
|
||||
<foo [baz]=""expr!"" />
|
||||
<foo [baz]=""expr?.bar"" />
|
||||
")
|
||||
#20051=@"loc,{#10000},4,13,8,1"
|
||||
locations_default(#20051,#10000,4,13,8,1)
|
||||
hasLocation(#20050,#20051)
|
||||
#20052=*
|
||||
tokeninfo(#20052,8,#20001,15,"`")
|
||||
#20053=@"loc,{#10000},8,2,8,2"
|
||||
locations_default(#20053,#10000,8,2,8,2)
|
||||
hasLocation(#20052,#20053)
|
||||
#20054=*
|
||||
tokeninfo(#20054,8,#20001,16,"}")
|
||||
#20055=@"loc,{#10000},9,1,9,1"
|
||||
locations_default(#20055,#10000,9,1,9,1)
|
||||
hasLocation(#20054,#20055)
|
||||
#20056=*
|
||||
tokeninfo(#20056,8,#20001,17,")")
|
||||
#20057=@"loc,{#10000},9,2,9,2"
|
||||
locations_default(#20057,#10000,9,2,9,2)
|
||||
hasLocation(#20056,#20057)
|
||||
#20058=*
|
||||
tokeninfo(#20058,7,#20001,18,"export")
|
||||
#20059=@"loc,{#10000},10,1,10,6"
|
||||
locations_default(#20059,#10000,10,1,10,6)
|
||||
hasLocation(#20058,#20059)
|
||||
#20060=*
|
||||
tokeninfo(#20060,7,#20001,19,"class")
|
||||
#20061=@"loc,{#10000},10,8,10,12"
|
||||
locations_default(#20061,#10000,10,8,10,12)
|
||||
hasLocation(#20060,#20061)
|
||||
#20062=*
|
||||
tokeninfo(#20062,6,#20001,20,"MyComponent")
|
||||
#20063=@"loc,{#10000},10,14,10,24"
|
||||
locations_default(#20063,#10000,10,14,10,24)
|
||||
hasLocation(#20062,#20063)
|
||||
#20064=*
|
||||
tokeninfo(#20064,8,#20001,21,"{")
|
||||
#20065=@"loc,{#10000},10,26,10,26"
|
||||
locations_default(#20065,#10000,10,26,10,26)
|
||||
hasLocation(#20064,#20065)
|
||||
#20066=*
|
||||
tokeninfo(#20066,8,#20001,22,"}")
|
||||
#20067=@"loc,{#10000},10,27,10,27"
|
||||
locations_default(#20067,#10000,10,27,10,27)
|
||||
hasLocation(#20066,#20067)
|
||||
#20068=*
|
||||
tokeninfo(#20068,0,#20001,23,"")
|
||||
#20069=@"loc,{#10000},11,1,11,0"
|
||||
locations_default(#20069,#10000,11,1,11,0)
|
||||
hasLocation(#20068,#20069)
|
||||
toplevels(#20001,0)
|
||||
#20070=@"loc,{#10000},1,1,11,0"
|
||||
locations_default(#20070,#10000,1,1,11,0)
|
||||
hasLocation(#20001,#20070)
|
||||
#20071=@"module;{#10000},1,1"
|
||||
scopes(#20071,3)
|
||||
scopenodes(#20001,#20071)
|
||||
scopenesting(#20071,#20000)
|
||||
is_module(#20001)
|
||||
is_es2015_module(#20001)
|
||||
#20072=@"var;{Component};{#20071}"
|
||||
variables(#20072,"Component",#20071)
|
||||
#20073=@"local_type_name;{Component};{#20071}"
|
||||
local_type_names(#20073,"Component",#20071)
|
||||
#20074=@"local_namespace_name;{Component};{#20071}"
|
||||
local_namespace_names(#20074,"Component",#20071)
|
||||
variables(#20072,"Component",#20071)
|
||||
#20075=@"var;{MyComponent};{#20071}"
|
||||
variables(#20075,"MyComponent",#20071)
|
||||
local_type_names(#20073,"Component",#20071)
|
||||
#20076=@"local_type_name;{MyComponent};{#20071}"
|
||||
local_type_names(#20076,"MyComponent",#20071)
|
||||
local_namespace_names(#20074,"Component",#20071)
|
||||
#20077=*
|
||||
stmts(#20077,27,#20001,0,"import ... /core"";")
|
||||
hasLocation(#20077,#20003)
|
||||
stmt_containers(#20077,#20001)
|
||||
#20078=*
|
||||
exprs(#20078,4,#20077,-1,"""@angular/core""")
|
||||
hasLocation(#20078,#20033)
|
||||
enclosing_stmt(#20078,#20077)
|
||||
expr_containers(#20078,#20001)
|
||||
literals("@angular/core","""@angular/core""",#20078)
|
||||
#20079=*
|
||||
regexpterm(#20079,14,#20078,0,"@angular/core")
|
||||
#20080=@"loc,{#10000},1,28,1,40"
|
||||
locations_default(#20080,#10000,1,28,1,40)
|
||||
hasLocation(#20079,#20080)
|
||||
regexp_const_value(#20079,"@angular/core")
|
||||
#20081=*
|
||||
exprs(#20081,83,#20077,0,"Component")
|
||||
hasLocation(#20081,#20027)
|
||||
enclosing_stmt(#20081,#20077)
|
||||
expr_containers(#20081,#20001)
|
||||
#20082=*
|
||||
exprs(#20082,0,#20081,0,"Component")
|
||||
hasLocation(#20082,#20027)
|
||||
enclosing_stmt(#20082,#20077)
|
||||
expr_containers(#20082,#20001)
|
||||
literals("Component","Component",#20082)
|
||||
#20083=*
|
||||
exprs(#20083,78,#20081,1,"Component")
|
||||
hasLocation(#20083,#20027)
|
||||
enclosing_stmt(#20083,#20077)
|
||||
expr_containers(#20083,#20001)
|
||||
literals("Component","Component",#20083)
|
||||
decl(#20083,#20072)
|
||||
typedecl(#20083,#20073)
|
||||
namespacedecl(#20083,#20074)
|
||||
#20084=*
|
||||
stmts(#20084,30,#20001,1,"export ... nent {}")
|
||||
hasLocation(#20084,#20021)
|
||||
stmt_containers(#20084,#20001)
|
||||
#20085=*
|
||||
stmts(#20085,26,#20084,-1,"class MyComponent {}")
|
||||
#20086=@"loc,{#10000},10,8,10,27"
|
||||
locations_default(#20086,#10000,10,8,10,27)
|
||||
hasLocation(#20085,#20086)
|
||||
stmt_containers(#20085,#20001)
|
||||
#20087=*
|
||||
exprs(#20087,94,#20085,-2,"@Compon ... >\n\t`\n})")
|
||||
#20088=@"loc,{#10000},3,1,9,2"
|
||||
locations_default(#20088,#10000,3,1,9,2)
|
||||
hasLocation(#20087,#20088)
|
||||
enclosing_stmt(#20087,#20085)
|
||||
expr_containers(#20087,#20001)
|
||||
#20089=*
|
||||
exprs(#20089,13,#20087,0,"Compone ... >\n\t`\n})")
|
||||
#20090=@"loc,{#10000},3,2,9,2"
|
||||
locations_default(#20090,#10000,3,2,9,2)
|
||||
hasLocation(#20089,#20090)
|
||||
enclosing_stmt(#20089,#20085)
|
||||
expr_containers(#20089,#20001)
|
||||
#20091=*
|
||||
exprs(#20091,79,#20089,-1,"Component")
|
||||
hasLocation(#20091,#20039)
|
||||
enclosing_stmt(#20091,#20085)
|
||||
expr_containers(#20091,#20001)
|
||||
literals("Component","Component",#20091)
|
||||
bind(#20091,#20072)
|
||||
#20092=*
|
||||
exprs(#20092,8,#20089,0,"{\n\ttemp ... />\n\t`\n}")
|
||||
#20093=@"loc,{#10000},3,12,9,1"
|
||||
locations_default(#20093,#10000,3,12,9,1)
|
||||
hasLocation(#20092,#20093)
|
||||
enclosing_stmt(#20092,#20085)
|
||||
expr_containers(#20092,#20001)
|
||||
#20094=*
|
||||
properties(#20094,#20092,0,0,"templat ... "" />\n\t`")
|
||||
#20095=@"loc,{#10000},4,2,8,2"
|
||||
locations_default(#20095,#10000,4,2,8,2)
|
||||
hasLocation(#20094,#20095)
|
||||
#20096=*
|
||||
exprs(#20096,0,#20094,0,"template")
|
||||
hasLocation(#20096,#20045)
|
||||
enclosing_stmt(#20096,#20085)
|
||||
expr_containers(#20096,#20001)
|
||||
literals("template","template",#20096)
|
||||
#20097=*
|
||||
exprs(#20097,71,#20094,1,"`\n\t<foo ... "" />\n\t`")
|
||||
#20098=@"loc,{#10000},4,12,8,2"
|
||||
locations_default(#20098,#10000,4,12,8,2)
|
||||
hasLocation(#20097,#20098)
|
||||
enclosing_stmt(#20097,#20085)
|
||||
expr_containers(#20097,#20001)
|
||||
#20099=*
|
||||
exprs(#20099,72,#20097,0,"\n\t<foo ... r"" />\n\t")
|
||||
hasLocation(#20099,#20051)
|
||||
enclosing_stmt(#20099,#20085)
|
||||
expr_containers(#20099,#20001)
|
||||
literals("
|
||||
<foo [prop]=""expr + expr""/>
|
||||
<foo [baz]=""expr!"" />
|
||||
<foo [baz]=""expr?.bar"" />
|
||||
","
|
||||
<foo [prop]=""expr + expr""/>
|
||||
<foo [baz]=""expr!"" />
|
||||
<foo [baz]=""expr?.bar"" />
|
||||
",#20099)
|
||||
scopes(#20000,0)
|
||||
#20100=@"script;{#10000},5,15"
|
||||
#20101=*
|
||||
lines(#20101,#20100,"expr + expr","")
|
||||
#20102=@"loc,{#10000},5,15,5,25"
|
||||
locations_default(#20102,#10000,5,15,5,25)
|
||||
hasLocation(#20101,#20102)
|
||||
numlines(#20100,1,1,0)
|
||||
#20103=*
|
||||
tokeninfo(#20103,6,#20100,0,"expr")
|
||||
#20104=@"loc,{#10000},5,15,5,18"
|
||||
locations_default(#20104,#10000,5,15,5,18)
|
||||
hasLocation(#20103,#20104)
|
||||
#20105=*
|
||||
tokeninfo(#20105,8,#20100,1,"+")
|
||||
#20106=@"loc,{#10000},5,20,5,20"
|
||||
locations_default(#20106,#10000,5,20,5,20)
|
||||
hasLocation(#20105,#20106)
|
||||
#20107=*
|
||||
tokeninfo(#20107,6,#20100,2,"expr")
|
||||
#20108=@"loc,{#10000},5,22,5,25"
|
||||
locations_default(#20108,#10000,5,22,5,25)
|
||||
hasLocation(#20107,#20108)
|
||||
#20109=*
|
||||
tokeninfo(#20109,0,#20100,3,"")
|
||||
#20110=@"loc,{#10000},5,26,5,25"
|
||||
locations_default(#20110,#10000,5,26,5,25)
|
||||
hasLocation(#20109,#20110)
|
||||
toplevels(#20100,2)
|
||||
hasLocation(#20100,#20102)
|
||||
#20111=@"module;{#10000},5,15"
|
||||
scopes(#20111,3)
|
||||
scopenodes(#20100,#20111)
|
||||
scopenesting(#20111,#20000)
|
||||
is_module(#20100)
|
||||
#20112=*
|
||||
stmts(#20112,2,#20100,0,"expr + expr")
|
||||
hasLocation(#20112,#20102)
|
||||
stmt_containers(#20112,#20100)
|
||||
#20113=*
|
||||
exprs(#20113,34,#20112,0,"expr + expr")
|
||||
hasLocation(#20113,#20102)
|
||||
enclosing_stmt(#20113,#20112)
|
||||
expr_containers(#20113,#20100)
|
||||
#20114=*
|
||||
exprs(#20114,79,#20113,0,"expr")
|
||||
hasLocation(#20114,#20104)
|
||||
enclosing_stmt(#20114,#20112)
|
||||
expr_containers(#20114,#20100)
|
||||
literals("expr","expr",#20114)
|
||||
#20115=@"var;{expr};{#20000}"
|
||||
variables(#20115,"expr",#20000)
|
||||
bind(#20114,#20115)
|
||||
#20116=*
|
||||
exprs(#20116,79,#20113,1,"expr")
|
||||
hasLocation(#20116,#20108)
|
||||
enclosing_stmt(#20116,#20112)
|
||||
expr_containers(#20116,#20100)
|
||||
literals("expr","expr",#20116)
|
||||
bind(#20116,#20115)
|
||||
#20117=*
|
||||
entry_cfg_node(#20117,#20100)
|
||||
#20118=@"loc,{#10000},5,15,5,14"
|
||||
locations_default(#20118,#10000,5,15,5,14)
|
||||
hasLocation(#20117,#20118)
|
||||
#20119=*
|
||||
exit_cfg_node(#20119,#20100)
|
||||
hasLocation(#20119,#20110)
|
||||
successor(#20112,#20114)
|
||||
successor(#20116,#20113)
|
||||
successor(#20114,#20116)
|
||||
successor(#20113,#20119)
|
||||
successor(#20117,#20112)
|
||||
#20120=*
|
||||
toplevel_parent_xml_node(#20100,#20120)
|
||||
#20121=@"script;{#10000},6,14"
|
||||
#20122=*
|
||||
lines(#20122,#20121,"expr!","")
|
||||
#20123=@"loc,{#10000},6,14,6,18"
|
||||
locations_default(#20123,#10000,6,14,6,18)
|
||||
hasLocation(#20122,#20123)
|
||||
numlines(#20121,1,1,0)
|
||||
#20124=*
|
||||
tokeninfo(#20124,6,#20121,0,"expr")
|
||||
#20125=@"loc,{#10000},6,14,6,17"
|
||||
locations_default(#20125,#10000,6,14,6,17)
|
||||
hasLocation(#20124,#20125)
|
||||
#20126=*
|
||||
tokeninfo(#20126,8,#20121,1,"!")
|
||||
#20127=@"loc,{#10000},6,18,6,18"
|
||||
locations_default(#20127,#10000,6,18,6,18)
|
||||
hasLocation(#20126,#20127)
|
||||
#20128=*
|
||||
tokeninfo(#20128,0,#20121,2,"")
|
||||
#20129=@"loc,{#10000},6,19,6,18"
|
||||
locations_default(#20129,#10000,6,19,6,18)
|
||||
hasLocation(#20128,#20129)
|
||||
toplevels(#20121,2)
|
||||
hasLocation(#20121,#20123)
|
||||
#20130=@"module;{#10000},6,14"
|
||||
scopes(#20130,3)
|
||||
scopenodes(#20121,#20130)
|
||||
scopenesting(#20130,#20000)
|
||||
is_module(#20121)
|
||||
#20131=*
|
||||
stmts(#20131,2,#20121,0,"expr!")
|
||||
hasLocation(#20131,#20123)
|
||||
stmt_containers(#20131,#20121)
|
||||
#20132=*
|
||||
exprs(#20132,105,#20131,0,"expr!")
|
||||
hasLocation(#20132,#20123)
|
||||
enclosing_stmt(#20132,#20131)
|
||||
expr_containers(#20132,#20121)
|
||||
#20133=*
|
||||
exprs(#20133,79,#20132,0,"expr")
|
||||
hasLocation(#20133,#20125)
|
||||
enclosing_stmt(#20133,#20131)
|
||||
expr_containers(#20133,#20121)
|
||||
literals("expr","expr",#20133)
|
||||
bind(#20133,#20115)
|
||||
#20134=*
|
||||
entry_cfg_node(#20134,#20121)
|
||||
#20135=@"loc,{#10000},6,14,6,13"
|
||||
locations_default(#20135,#10000,6,14,6,13)
|
||||
hasLocation(#20134,#20135)
|
||||
#20136=*
|
||||
exit_cfg_node(#20136,#20121)
|
||||
hasLocation(#20136,#20129)
|
||||
successor(#20131,#20133)
|
||||
successor(#20133,#20132)
|
||||
successor(#20132,#20136)
|
||||
successor(#20134,#20131)
|
||||
#20137=*
|
||||
toplevel_parent_xml_node(#20121,#20137)
|
||||
#20138=@"script;{#10000},7,14"
|
||||
#20139=*
|
||||
lines(#20139,#20138,"expr?.bar","")
|
||||
#20140=@"loc,{#10000},7,14,7,22"
|
||||
locations_default(#20140,#10000,7,14,7,22)
|
||||
hasLocation(#20139,#20140)
|
||||
numlines(#20138,1,1,0)
|
||||
#20141=*
|
||||
tokeninfo(#20141,6,#20138,0,"expr")
|
||||
#20142=@"loc,{#10000},7,14,7,17"
|
||||
locations_default(#20142,#10000,7,14,7,17)
|
||||
hasLocation(#20141,#20142)
|
||||
#20143=*
|
||||
tokeninfo(#20143,8,#20138,1,"?.")
|
||||
#20144=@"loc,{#10000},7,18,7,19"
|
||||
locations_default(#20144,#10000,7,18,7,19)
|
||||
hasLocation(#20143,#20144)
|
||||
#20145=*
|
||||
tokeninfo(#20145,6,#20138,2,"bar")
|
||||
#20146=@"loc,{#10000},7,20,7,22"
|
||||
locations_default(#20146,#10000,7,20,7,22)
|
||||
hasLocation(#20145,#20146)
|
||||
#20147=*
|
||||
tokeninfo(#20147,0,#20138,3,"")
|
||||
#20148=@"loc,{#10000},7,23,7,22"
|
||||
locations_default(#20148,#10000,7,23,7,22)
|
||||
hasLocation(#20147,#20148)
|
||||
toplevels(#20138,2)
|
||||
hasLocation(#20138,#20140)
|
||||
#20149=@"module;{#10000},7,14"
|
||||
scopes(#20149,3)
|
||||
scopenodes(#20138,#20149)
|
||||
scopenesting(#20149,#20000)
|
||||
is_module(#20138)
|
||||
#20150=*
|
||||
stmts(#20150,2,#20138,0,"expr?.bar")
|
||||
hasLocation(#20150,#20140)
|
||||
stmt_containers(#20150,#20138)
|
||||
#20151=*
|
||||
exprs(#20151,14,#20150,0,"expr?.bar")
|
||||
hasLocation(#20151,#20140)
|
||||
enclosing_stmt(#20151,#20150)
|
||||
expr_containers(#20151,#20138)
|
||||
#20152=*
|
||||
exprs(#20152,79,#20151,0,"expr")
|
||||
hasLocation(#20152,#20142)
|
||||
enclosing_stmt(#20152,#20150)
|
||||
expr_containers(#20152,#20138)
|
||||
literals("expr","expr",#20152)
|
||||
bind(#20152,#20115)
|
||||
#20153=*
|
||||
exprs(#20153,0,#20151,1,"bar")
|
||||
hasLocation(#20153,#20146)
|
||||
enclosing_stmt(#20153,#20150)
|
||||
expr_containers(#20153,#20138)
|
||||
literals("bar","bar",#20153)
|
||||
isOptionalChaining(#20151)
|
||||
#20154=*
|
||||
entry_cfg_node(#20154,#20138)
|
||||
#20155=@"loc,{#10000},7,14,7,13"
|
||||
locations_default(#20155,#10000,7,14,7,13)
|
||||
hasLocation(#20154,#20155)
|
||||
#20156=*
|
||||
exit_cfg_node(#20156,#20138)
|
||||
hasLocation(#20156,#20148)
|
||||
successor(#20150,#20152)
|
||||
successor(#20153,#20151)
|
||||
successor(#20152,#20153)
|
||||
successor(#20151,#20156)
|
||||
successor(#20152,#20156)
|
||||
successor(#20154,#20150)
|
||||
#20157=*
|
||||
toplevel_parent_xml_node(#20138,#20157)
|
||||
#20158=*
|
||||
xmlChars(#20158,"
|
||||
",#10000,0,0,#10000)
|
||||
#20159=@"loc,{#10000},4,13,5,2"
|
||||
locations_default(#20159,#10000,4,13,5,2)
|
||||
xmllocations(#20158,#20159)
|
||||
#20160=*
|
||||
xmlChars(#20160,"
|
||||
",#10000,2,0,#10000)
|
||||
#20161=@"loc,{#10000},5,29,6,2"
|
||||
locations_default(#20161,#10000,5,29,6,2)
|
||||
xmllocations(#20160,#20161)
|
||||
#20162=*
|
||||
xmlChars(#20162,"
|
||||
",#10000,4,0,#10000)
|
||||
#20163=@"loc,{#10000},6,23,7,2"
|
||||
locations_default(#20163,#10000,6,23,7,2)
|
||||
xmllocations(#20162,#20163)
|
||||
#20164=*
|
||||
xmlChars(#20164,"
|
||||
",#10000,6,0,#10000)
|
||||
#20165=@"loc,{#10000},7,27,8,2"
|
||||
locations_default(#20165,#10000,7,27,8,2)
|
||||
xmllocations(#20164,#20165)
|
||||
#20166=*
|
||||
xmlElements(#20166,"foo",#10000,5,#10000)
|
||||
#20167=@"loc,{#10000},7,2,7,27"
|
||||
locations_default(#20167,#10000,7,2,7,27)
|
||||
xmllocations(#20166,#20167)
|
||||
xmlAttrs(#20157,#20166,"[baz]","expr?.bar",0,#10000)
|
||||
#20168=@"loc,{#10000},7,7,7,24"
|
||||
locations_default(#20168,#10000,7,7,7,24)
|
||||
xmllocations(#20157,#20168)
|
||||
#20169=*
|
||||
xmlElements(#20169,"foo",#10000,3,#10000)
|
||||
#20170=@"loc,{#10000},6,2,6,23"
|
||||
locations_default(#20170,#10000,6,2,6,23)
|
||||
xmllocations(#20169,#20170)
|
||||
xmlAttrs(#20137,#20169,"[baz]","expr!",0,#10000)
|
||||
#20171=@"loc,{#10000},6,7,6,20"
|
||||
locations_default(#20171,#10000,6,7,6,20)
|
||||
xmllocations(#20137,#20171)
|
||||
#20172=*
|
||||
xmlElements(#20172,"foo",#10000,1,#10000)
|
||||
#20173=@"loc,{#10000},5,2,5,29"
|
||||
locations_default(#20173,#10000,5,2,5,29)
|
||||
xmllocations(#20172,#20173)
|
||||
xmlAttrs(#20120,#20172,"[prop]","expr + expr",0,#10000)
|
||||
#20174=@"loc,{#10000},5,7,5,27"
|
||||
locations_default(#20174,#10000,5,7,5,27)
|
||||
xmllocations(#20120,#20174)
|
||||
xml_element_parent_expression(#20172,#20097,0)
|
||||
xml_element_parent_expression(#20169,#20097,1)
|
||||
xml_element_parent_expression(#20166,#20097,2)
|
||||
#20175=*
|
||||
exprs(#20175,78,#20085,0,"MyComponent")
|
||||
hasLocation(#20175,#20063)
|
||||
enclosing_stmt(#20175,#20085)
|
||||
expr_containers(#20175,#20001)
|
||||
literals("MyComponent","MyComponent",#20175)
|
||||
decl(#20175,#20075)
|
||||
typedecl(#20175,#20076)
|
||||
#20176=*
|
||||
scopes(#20176,10)
|
||||
scopenodes(#20085,#20176)
|
||||
scopenesting(#20176,#20071)
|
||||
#20177=*
|
||||
properties(#20177,#20085,2,0,"constructor() {}")
|
||||
#20178=@"loc,{#10000},10,26,10,25"
|
||||
locations_default(#20178,#10000,10,26,10,25)
|
||||
hasLocation(#20177,#20178)
|
||||
#20179=*
|
||||
exprs(#20179,0,#20177,0,"constructor")
|
||||
hasLocation(#20179,#20178)
|
||||
enclosing_stmt(#20179,#20085)
|
||||
expr_containers(#20179,#20001)
|
||||
literals("constructor","constructor",#20179)
|
||||
#20180=*
|
||||
exprs(#20180,9,#20177,1,"() {}")
|
||||
hasLocation(#20180,#20178)
|
||||
enclosing_stmt(#20180,#20085)
|
||||
expr_containers(#20180,#20001)
|
||||
#20181=*
|
||||
scopes(#20181,1)
|
||||
scopenodes(#20180,#20181)
|
||||
scopenesting(#20181,#20176)
|
||||
#20182=@"var;{arguments};{#20181}"
|
||||
variables(#20182,"arguments",#20181)
|
||||
is_arguments_object(#20182)
|
||||
#20183=*
|
||||
stmts(#20183,1,#20180,-2,"{}")
|
||||
hasLocation(#20183,#20178)
|
||||
stmt_containers(#20183,#20180)
|
||||
is_method(#20177)
|
||||
#20184=*
|
||||
entry_cfg_node(#20184,#20001)
|
||||
#20185=@"loc,{#10000},1,1,1,0"
|
||||
locations_default(#20185,#10000,1,1,1,0)
|
||||
hasLocation(#20184,#20185)
|
||||
#20186=*
|
||||
exit_cfg_node(#20186,#20001)
|
||||
hasLocation(#20186,#20069)
|
||||
successor(#20084,#20175)
|
||||
successor(#20180,#20177)
|
||||
#20187=*
|
||||
entry_cfg_node(#20187,#20180)
|
||||
hasLocation(#20187,#20178)
|
||||
#20188=*
|
||||
exit_cfg_node(#20188,#20180)
|
||||
hasLocation(#20188,#20178)
|
||||
successor(#20183,#20188)
|
||||
successor(#20187,#20183)
|
||||
successor(#20179,#20180)
|
||||
successor(#20177,#20085)
|
||||
successor(#20175,#20179)
|
||||
successor(#20092,#20096)
|
||||
successor(#20097,#20099)
|
||||
successor(#20099,#20094)
|
||||
successor(#20096,#20097)
|
||||
successor(#20094,#20089)
|
||||
successor(#20091,#20092)
|
||||
successor(#20089,#20087)
|
||||
successor(#20087,#20186)
|
||||
successor(#20085,#20091)
|
||||
successor(#20077,#20084)
|
||||
successor(#20081,#20077)
|
||||
successor(#20184,#20081)
|
||||
numlines(#10000,10,9,0)
|
||||
filetype(#10000,"javascript")
|
Загрузка…
Ссылка в новой задаче