#10000=@"/component.js;sourcefile" files(#10000,"/component.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,"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," "," ") #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," "," ") #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," "," ") #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," ") #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\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\n\t") hasLocation(#20099,#20051) enclosing_stmt(#20099,#20085) expr_containers(#20099,#20001) literals(" "," ",#20099) scopes(#20000,0) #20100=* #20101=@"script;{#10000},5,15" #20102=* lines(#20102,#20101,"expr + expr","") #20103=@"loc,{#10000},5,15,5,25" locations_default(#20103,#10000,5,15,5,25) hasLocation(#20102,#20103) numlines(#20101,1,1,0) #20104=* tokeninfo(#20104,6,#20101,0,"expr") #20105=@"loc,{#10000},5,15,5,18" locations_default(#20105,#10000,5,15,5,18) hasLocation(#20104,#20105) #20106=* tokeninfo(#20106,8,#20101,1,"+") #20107=@"loc,{#10000},5,20,5,20" locations_default(#20107,#10000,5,20,5,20) hasLocation(#20106,#20107) #20108=* tokeninfo(#20108,6,#20101,2,"expr") #20109=@"loc,{#10000},5,22,5,25" locations_default(#20109,#10000,5,22,5,25) hasLocation(#20108,#20109) #20110=* tokeninfo(#20110,0,#20101,3,"") #20111=@"loc,{#10000},5,26,5,25" locations_default(#20111,#10000,5,26,5,25) hasLocation(#20110,#20111) toplevels(#20101,4) hasLocation(#20101,#20103) #20112=@"module;{#10000},5,15" scopes(#20112,3) scopenodes(#20101,#20112) scopenesting(#20112,#20000) is_module(#20101) #20113=* stmts(#20113,2,#20101,0,"expr + expr") hasLocation(#20113,#20103) stmt_containers(#20113,#20101) #20114=* exprs(#20114,34,#20113,0,"expr + expr") hasLocation(#20114,#20103) enclosing_stmt(#20114,#20113) expr_containers(#20114,#20101) #20115=* exprs(#20115,79,#20114,0,"expr") hasLocation(#20115,#20105) enclosing_stmt(#20115,#20113) expr_containers(#20115,#20101) literals("expr","expr",#20115) #20116=@"var;{expr};{#20112}" variables(#20116,"expr",#20112) bind(#20115,#20116) #20117=* exprs(#20117,79,#20114,1,"expr") hasLocation(#20117,#20109) enclosing_stmt(#20117,#20113) expr_containers(#20117,#20101) literals("expr","expr",#20117) bind(#20117,#20116) #20118=* entry_cfg_node(#20118,#20101) #20119=@"loc,{#10000},5,15,5,14" locations_default(#20119,#10000,5,15,5,14) hasLocation(#20118,#20119) #20120=* exit_cfg_node(#20120,#20101) hasLocation(#20120,#20111) successor(#20113,#20115) successor(#20117,#20114) successor(#20115,#20117) successor(#20114,#20120) successor(#20118,#20113) toplevel_parent_xml_node(#20101,#20100) #20121=* #20122=@"script;{#10000},6,14" #20123=* lines(#20123,#20122,"expr!","") #20124=@"loc,{#10000},6,14,6,18" locations_default(#20124,#10000,6,14,6,18) hasLocation(#20123,#20124) numlines(#20122,1,1,0) #20125=* tokeninfo(#20125,6,#20122,0,"expr") #20126=@"loc,{#10000},6,14,6,17" locations_default(#20126,#10000,6,14,6,17) hasLocation(#20125,#20126) #20127=* tokeninfo(#20127,8,#20122,1,"!") #20128=@"loc,{#10000},6,18,6,18" locations_default(#20128,#10000,6,18,6,18) hasLocation(#20127,#20128) #20129=* tokeninfo(#20129,0,#20122,2,"") #20130=@"loc,{#10000},6,19,6,18" locations_default(#20130,#10000,6,19,6,18) hasLocation(#20129,#20130) toplevels(#20122,4) hasLocation(#20122,#20124) #20131=@"module;{#10000},6,14" scopes(#20131,3) scopenodes(#20122,#20131) scopenesting(#20131,#20000) is_module(#20122) #20132=* stmts(#20132,2,#20122,0,"expr!") hasLocation(#20132,#20124) stmt_containers(#20132,#20122) #20133=* exprs(#20133,105,#20132,0,"expr!") hasLocation(#20133,#20124) enclosing_stmt(#20133,#20132) expr_containers(#20133,#20122) #20134=* exprs(#20134,79,#20133,0,"expr") hasLocation(#20134,#20126) enclosing_stmt(#20134,#20132) expr_containers(#20134,#20122) literals("expr","expr",#20134) #20135=@"var;{expr};{#20131}" variables(#20135,"expr",#20131) bind(#20134,#20135) #20136=* entry_cfg_node(#20136,#20122) #20137=@"loc,{#10000},6,14,6,13" locations_default(#20137,#10000,6,14,6,13) hasLocation(#20136,#20137) #20138=* exit_cfg_node(#20138,#20122) hasLocation(#20138,#20130) successor(#20132,#20134) successor(#20134,#20133) successor(#20133,#20138) successor(#20136,#20132) toplevel_parent_xml_node(#20122,#20121) #20139=* #20140=@"script;{#10000},7,14" #20141=* lines(#20141,#20140,"expr?.bar","") #20142=@"loc,{#10000},7,14,7,22" locations_default(#20142,#10000,7,14,7,22) hasLocation(#20141,#20142) numlines(#20140,1,1,0) #20143=* tokeninfo(#20143,6,#20140,0,"expr") #20144=@"loc,{#10000},7,14,7,17" locations_default(#20144,#10000,7,14,7,17) hasLocation(#20143,#20144) #20145=* tokeninfo(#20145,8,#20140,1,"?.") #20146=@"loc,{#10000},7,18,7,19" locations_default(#20146,#10000,7,18,7,19) hasLocation(#20145,#20146) #20147=* tokeninfo(#20147,6,#20140,2,"bar") #20148=@"loc,{#10000},7,20,7,22" locations_default(#20148,#10000,7,20,7,22) hasLocation(#20147,#20148) #20149=* tokeninfo(#20149,0,#20140,3,"") #20150=@"loc,{#10000},7,23,7,22" locations_default(#20150,#10000,7,23,7,22) hasLocation(#20149,#20150) toplevels(#20140,4) hasLocation(#20140,#20142) #20151=@"module;{#10000},7,14" scopes(#20151,3) scopenodes(#20140,#20151) scopenesting(#20151,#20000) is_module(#20140) #20152=* stmts(#20152,2,#20140,0,"expr?.bar") hasLocation(#20152,#20142) stmt_containers(#20152,#20140) #20153=* exprs(#20153,14,#20152,0,"expr?.bar") hasLocation(#20153,#20142) enclosing_stmt(#20153,#20152) expr_containers(#20153,#20140) #20154=* exprs(#20154,79,#20153,0,"expr") hasLocation(#20154,#20144) enclosing_stmt(#20154,#20152) expr_containers(#20154,#20140) literals("expr","expr",#20154) #20155=@"var;{expr};{#20151}" variables(#20155,"expr",#20151) bind(#20154,#20155) #20156=* exprs(#20156,0,#20153,1,"bar") hasLocation(#20156,#20148) enclosing_stmt(#20156,#20152) expr_containers(#20156,#20140) literals("bar","bar",#20156) isOptionalChaining(#20153) #20157=* entry_cfg_node(#20157,#20140) #20158=@"loc,{#10000},7,14,7,13" locations_default(#20158,#10000,7,14,7,13) hasLocation(#20157,#20158) #20159=* exit_cfg_node(#20159,#20140) hasLocation(#20159,#20150) successor(#20152,#20154) successor(#20156,#20153) successor(#20154,#20156) successor(#20153,#20159) successor(#20154,#20159) successor(#20157,#20152) toplevel_parent_xml_node(#20140,#20139) #20160=* xmlChars(#20160," ",#10000,0,0,#10000) #20161=@"loc,{#10000},4,13,5,1" locations_default(#20161,#10000,4,13,5,1) xmllocations(#20160,#20161) #20162=* xmlChars(#20162," ",#10000,2,0,#10000) #20163=@"loc,{#10000},5,29,6,1" locations_default(#20163,#10000,5,29,6,1) xmllocations(#20162,#20163) #20164=* xmlChars(#20164," ",#10000,4,0,#10000) #20165=@"loc,{#10000},6,23,7,1" locations_default(#20165,#10000,6,23,7,1) xmllocations(#20164,#20165) #20166=* xmlChars(#20166," ",#10000,6,0,#10000) #20167=@"loc,{#10000},7,27,8,1" locations_default(#20167,#10000,7,27,8,1) xmllocations(#20166,#20167) #20168=* xmlElements(#20168,"foo",#10000,5,#10000) #20169=@"loc,{#10000},7,2,7,26" locations_default(#20169,#10000,7,2,7,26) xmllocations(#20168,#20169) xmlAttrs(#20139,#20168,"[baz]","expr?.bar",0,#10000) #20170=@"loc,{#10000},7,7,7,23" locations_default(#20170,#10000,7,7,7,23) xmllocations(#20139,#20170) #20171=* xmlElements(#20171,"foo",#10000,3,#10000) #20172=@"loc,{#10000},6,2,6,22" locations_default(#20172,#10000,6,2,6,22) xmllocations(#20171,#20172) xmlAttrs(#20121,#20171,"[baz]","expr!",0,#10000) #20173=@"loc,{#10000},6,7,6,19" locations_default(#20173,#10000,6,7,6,19) xmllocations(#20121,#20173) #20174=* xmlElements(#20174,"foo",#10000,1,#10000) #20175=@"loc,{#10000},5,2,5,28" locations_default(#20175,#10000,5,2,5,28) xmllocations(#20174,#20175) xmlAttrs(#20100,#20174,"[prop]","expr + expr",0,#10000) #20176=@"loc,{#10000},5,7,5,26" locations_default(#20176,#10000,5,7,5,26) xmllocations(#20100,#20176) xml_element_parent_expression(#20174,#20097,0) xml_element_parent_expression(#20171,#20097,1) xml_element_parent_expression(#20168,#20097,2) #20177=* exprs(#20177,78,#20085,0,"MyComponent") hasLocation(#20177,#20063) enclosing_stmt(#20177,#20085) expr_containers(#20177,#20001) literals("MyComponent","MyComponent",#20177) decl(#20177,#20075) typedecl(#20177,#20076) #20178=* scopes(#20178,10) scopenodes(#20085,#20178) scopenesting(#20178,#20071) #20179=* properties(#20179,#20085,2,0,"constructor() {}") #20180=@"loc,{#10000},10,26,10,25" locations_default(#20180,#10000,10,26,10,25) hasLocation(#20179,#20180) #20181=* exprs(#20181,0,#20179,0,"constructor") hasLocation(#20181,#20180) enclosing_stmt(#20181,#20085) expr_containers(#20181,#20001) literals("constructor","constructor",#20181) #20182=* exprs(#20182,9,#20179,1,"() {}") hasLocation(#20182,#20180) enclosing_stmt(#20182,#20085) expr_containers(#20182,#20001) #20183=* scopes(#20183,1) scopenodes(#20182,#20183) scopenesting(#20183,#20178) #20184=@"var;{arguments};{#20183}" variables(#20184,"arguments",#20183) is_arguments_object(#20184) #20185=* stmts(#20185,1,#20182,-2,"{}") hasLocation(#20185,#20180) stmt_containers(#20185,#20182) is_method(#20179) #20186=* entry_cfg_node(#20186,#20001) #20187=@"loc,{#10000},1,1,1,0" locations_default(#20187,#10000,1,1,1,0) hasLocation(#20186,#20187) #20188=* exit_cfg_node(#20188,#20001) hasLocation(#20188,#20069) successor(#20084,#20177) successor(#20182,#20179) #20189=* entry_cfg_node(#20189,#20182) hasLocation(#20189,#20180) #20190=* exit_cfg_node(#20190,#20182) hasLocation(#20190,#20180) successor(#20185,#20190) successor(#20189,#20185) successor(#20181,#20182) successor(#20179,#20085) successor(#20177,#20181) successor(#20092,#20096) successor(#20097,#20099) successor(#20099,#20094) successor(#20096,#20097) successor(#20094,#20089) successor(#20091,#20092) successor(#20089,#20087) successor(#20087,#20188) successor(#20085,#20091) successor(#20077,#20084) successor(#20081,#20077) successor(#20186,#20081) numlines(#10000,10,9,0) filetype(#10000,"javascript")