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