JS: TRAP test for angular templates

This commit is contained in:
Asger Feldthaus 2020-12-17 15:31:33 +00:00
Родитель 3c0867125b
Коммит 07cfceee19
3 изменённых файлов: 679 добавлений и 0 удалений

Просмотреть файл

@ -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")