#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," "," ") #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=@"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,4) 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};{#20111}" variables(#20115,"expr",#20111) 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,4) 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) #20134=@"var;{expr};{#20130}" variables(#20134,"expr",#20130) bind(#20133,#20134) #20135=* entry_cfg_node(#20135,#20121) #20136=@"loc,{#10000},6,14,6,13" locations_default(#20136,#10000,6,14,6,13) hasLocation(#20135,#20136) #20137=* exit_cfg_node(#20137,#20121) hasLocation(#20137,#20129) successor(#20131,#20133) successor(#20133,#20132) successor(#20132,#20137) successor(#20135,#20131) #20138=* toplevel_parent_xml_node(#20121,#20138) #20139=@"script;{#10000},7,14" #20140=* lines(#20140,#20139,"expr?.bar","") #20141=@"loc,{#10000},7,14,7,22" locations_default(#20141,#10000,7,14,7,22) hasLocation(#20140,#20141) numlines(#20139,1,1,0) #20142=* tokeninfo(#20142,6,#20139,0,"expr") #20143=@"loc,{#10000},7,14,7,17" locations_default(#20143,#10000,7,14,7,17) hasLocation(#20142,#20143) #20144=* tokeninfo(#20144,8,#20139,1,"?.") #20145=@"loc,{#10000},7,18,7,19" locations_default(#20145,#10000,7,18,7,19) hasLocation(#20144,#20145) #20146=* tokeninfo(#20146,6,#20139,2,"bar") #20147=@"loc,{#10000},7,20,7,22" locations_default(#20147,#10000,7,20,7,22) hasLocation(#20146,#20147) #20148=* tokeninfo(#20148,0,#20139,3,"") #20149=@"loc,{#10000},7,23,7,22" locations_default(#20149,#10000,7,23,7,22) hasLocation(#20148,#20149) toplevels(#20139,4) hasLocation(#20139,#20141) #20150=@"module;{#10000},7,14" scopes(#20150,3) scopenodes(#20139,#20150) scopenesting(#20150,#20000) is_module(#20139) #20151=* stmts(#20151,2,#20139,0,"expr?.bar") hasLocation(#20151,#20141) stmt_containers(#20151,#20139) #20152=* exprs(#20152,14,#20151,0,"expr?.bar") hasLocation(#20152,#20141) enclosing_stmt(#20152,#20151) expr_containers(#20152,#20139) #20153=* exprs(#20153,79,#20152,0,"expr") hasLocation(#20153,#20143) enclosing_stmt(#20153,#20151) expr_containers(#20153,#20139) literals("expr","expr",#20153) #20154=@"var;{expr};{#20150}" variables(#20154,"expr",#20150) bind(#20153,#20154) #20155=* exprs(#20155,0,#20152,1,"bar") hasLocation(#20155,#20147) enclosing_stmt(#20155,#20151) expr_containers(#20155,#20139) literals("bar","bar",#20155) isOptionalChaining(#20152) #20156=* entry_cfg_node(#20156,#20139) #20157=@"loc,{#10000},7,14,7,13" locations_default(#20157,#10000,7,14,7,13) hasLocation(#20156,#20157) #20158=* exit_cfg_node(#20158,#20139) hasLocation(#20158,#20149) successor(#20151,#20153) successor(#20155,#20152) successor(#20153,#20155) successor(#20152,#20158) successor(#20153,#20158) successor(#20156,#20151) #20159=* toplevel_parent_xml_node(#20139,#20159) #20160=* xmlChars(#20160," ",#10000,0,0,#10000) #20161=@"loc,{#10000},4,13,5,2" locations_default(#20161,#10000,4,13,5,2) xmllocations(#20160,#20161) #20162=* xmlChars(#20162," ",#10000,2,0,#10000) #20163=@"loc,{#10000},5,29,6,2" locations_default(#20163,#10000,5,29,6,2) xmllocations(#20162,#20163) #20164=* xmlChars(#20164," ",#10000,4,0,#10000) #20165=@"loc,{#10000},6,23,7,2" locations_default(#20165,#10000,6,23,7,2) xmllocations(#20164,#20165) #20166=* xmlChars(#20166," ",#10000,6,0,#10000) #20167=@"loc,{#10000},7,27,8,2" locations_default(#20167,#10000,7,27,8,2) xmllocations(#20166,#20167) #20168=* xmlElements(#20168,"foo",#10000,5,#10000) #20169=@"loc,{#10000},7,2,7,27" locations_default(#20169,#10000,7,2,7,27) xmllocations(#20168,#20169) xmlAttrs(#20159,#20168,"[baz]","expr?.bar",0,#10000) #20170=@"loc,{#10000},7,7,7,24" locations_default(#20170,#10000,7,7,7,24) xmllocations(#20159,#20170) #20171=* xmlElements(#20171,"foo",#10000,3,#10000) #20172=@"loc,{#10000},6,2,6,23" locations_default(#20172,#10000,6,2,6,23) xmllocations(#20171,#20172) xmlAttrs(#20138,#20171,"[baz]","expr!",0,#10000) #20173=@"loc,{#10000},6,7,6,20" locations_default(#20173,#10000,6,7,6,20) xmllocations(#20138,#20173) #20174=* xmlElements(#20174,"foo",#10000,1,#10000) #20175=@"loc,{#10000},5,2,5,29" locations_default(#20175,#10000,5,2,5,29) xmllocations(#20174,#20175) xmlAttrs(#20120,#20174,"[prop]","expr + expr",0,#10000) #20176=@"loc,{#10000},5,7,5,27" locations_default(#20176,#10000,5,7,5,27) xmllocations(#20120,#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")