#10000=@"/class_extends2.js;sourcefile" files(#10000,"/class_extends2.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,"class Point extends (Math.random() ? Object : Array) {}","") #20003=@"loc,{#10000},1,1,1,55" locations_default(#20003,#10000,1,1,1,55) hasLocation(#20002,#20003) numlines(#20001,1,1,0) #20004=* tokeninfo(#20004,7,#20001,0,"class") #20005=@"loc,{#10000},1,1,1,5" locations_default(#20005,#10000,1,1,1,5) hasLocation(#20004,#20005) #20006=* tokeninfo(#20006,6,#20001,1,"Point") #20007=@"loc,{#10000},1,7,1,11" locations_default(#20007,#10000,1,7,1,11) hasLocation(#20006,#20007) #20008=* tokeninfo(#20008,7,#20001,2,"extends") #20009=@"loc,{#10000},1,13,1,19" locations_default(#20009,#10000,1,13,1,19) hasLocation(#20008,#20009) #20010=* tokeninfo(#20010,8,#20001,3,"(") #20011=@"loc,{#10000},1,21,1,21" locations_default(#20011,#10000,1,21,1,21) hasLocation(#20010,#20011) #20012=* tokeninfo(#20012,6,#20001,4,"Math") #20013=@"loc,{#10000},1,22,1,25" locations_default(#20013,#10000,1,22,1,25) hasLocation(#20012,#20013) #20014=* tokeninfo(#20014,8,#20001,5,".") #20015=@"loc,{#10000},1,26,1,26" locations_default(#20015,#10000,1,26,1,26) hasLocation(#20014,#20015) #20016=* tokeninfo(#20016,6,#20001,6,"random") #20017=@"loc,{#10000},1,27,1,32" locations_default(#20017,#10000,1,27,1,32) hasLocation(#20016,#20017) #20018=* tokeninfo(#20018,8,#20001,7,"(") #20019=@"loc,{#10000},1,33,1,33" locations_default(#20019,#10000,1,33,1,33) hasLocation(#20018,#20019) #20020=* tokeninfo(#20020,8,#20001,8,")") #20021=@"loc,{#10000},1,34,1,34" locations_default(#20021,#10000,1,34,1,34) hasLocation(#20020,#20021) #20022=* tokeninfo(#20022,8,#20001,9,"?") #20023=@"loc,{#10000},1,36,1,36" locations_default(#20023,#10000,1,36,1,36) hasLocation(#20022,#20023) #20024=* tokeninfo(#20024,6,#20001,10,"Object") #20025=@"loc,{#10000},1,38,1,43" locations_default(#20025,#10000,1,38,1,43) hasLocation(#20024,#20025) #20026=* tokeninfo(#20026,8,#20001,11,":") #20027=@"loc,{#10000},1,45,1,45" locations_default(#20027,#10000,1,45,1,45) hasLocation(#20026,#20027) #20028=* tokeninfo(#20028,6,#20001,12,"Array") #20029=@"loc,{#10000},1,47,1,51" locations_default(#20029,#10000,1,47,1,51) hasLocation(#20028,#20029) #20030=* tokeninfo(#20030,8,#20001,13,")") #20031=@"loc,{#10000},1,52,1,52" locations_default(#20031,#10000,1,52,1,52) hasLocation(#20030,#20031) #20032=* tokeninfo(#20032,8,#20001,14,"{") #20033=@"loc,{#10000},1,54,1,54" locations_default(#20033,#10000,1,54,1,54) hasLocation(#20032,#20033) #20034=* tokeninfo(#20034,8,#20001,15,"}") #20035=@"loc,{#10000},1,55,1,55" locations_default(#20035,#10000,1,55,1,55) hasLocation(#20034,#20035) #20036=* tokeninfo(#20036,0,#20001,16,"") #20037=@"loc,{#10000},1,56,1,55" locations_default(#20037,#10000,1,56,1,55) hasLocation(#20036,#20037) toplevels(#20001,0) hasLocation(#20001,#20003) #20038=@"var;{Point};{#20000}" variables(#20038,"Point",#20000) #20039=@"local_type_name;{Point};{#20000}" local_type_names(#20039,"Point",#20000) #20040=* stmts(#20040,26,#20001,0,"class P ... ray) {}") hasLocation(#20040,#20003) stmt_containers(#20040,#20001) #20041=* exprs(#20041,78,#20040,0,"Point") hasLocation(#20041,#20007) enclosing_stmt(#20041,#20040) expr_containers(#20041,#20001) literals("Point","Point",#20041) decl(#20041,#20038) typedecl(#20041,#20039) #20042=* scopes(#20042,10) scopenodes(#20040,#20042) scopenesting(#20042,#20000) #20043=* exprs(#20043,63,#20040,1,"(Math.r ... Array)") #20044=@"loc,{#10000},1,21,1,52" locations_default(#20044,#10000,1,21,1,52) hasLocation(#20043,#20044) enclosing_stmt(#20043,#20040) expr_containers(#20043,#20001) #20045=* exprs(#20045,11,#20043,0,"Math.ra ... : Array") #20046=@"loc,{#10000},1,22,1,51" locations_default(#20046,#10000,1,22,1,51) hasLocation(#20045,#20046) enclosing_stmt(#20045,#20040) expr_containers(#20045,#20001) #20047=* exprs(#20047,13,#20045,0,"Math.random()") #20048=@"loc,{#10000},1,22,1,34" locations_default(#20048,#10000,1,22,1,34) hasLocation(#20047,#20048) enclosing_stmt(#20047,#20040) expr_containers(#20047,#20001) #20049=* exprs(#20049,14,#20047,-1,"Math.random") #20050=@"loc,{#10000},1,22,1,32" locations_default(#20050,#10000,1,22,1,32) hasLocation(#20049,#20050) enclosing_stmt(#20049,#20040) expr_containers(#20049,#20001) #20051=* exprs(#20051,79,#20049,0,"Math") hasLocation(#20051,#20013) enclosing_stmt(#20051,#20040) expr_containers(#20051,#20001) literals("Math","Math",#20051) #20052=@"var;{Math};{#20000}" variables(#20052,"Math",#20000) bind(#20051,#20052) #20053=* exprs(#20053,0,#20049,1,"random") hasLocation(#20053,#20017) enclosing_stmt(#20053,#20040) expr_containers(#20053,#20001) literals("random","random",#20053) #20054=* exprs(#20054,79,#20045,1,"Object") hasLocation(#20054,#20025) enclosing_stmt(#20054,#20040) expr_containers(#20054,#20001) literals("Object","Object",#20054) #20055=@"var;{Object};{#20000}" variables(#20055,"Object",#20000) bind(#20054,#20055) #20056=* exprs(#20056,79,#20045,2,"Array") hasLocation(#20056,#20029) enclosing_stmt(#20056,#20040) expr_containers(#20056,#20001) literals("Array","Array",#20056) #20057=@"var;{Array};{#20000}" variables(#20057,"Array",#20000) bind(#20056,#20057) #20058=* properties(#20058,#20040,2,0,"constru ... rgs); }") #20059=@"loc,{#10000},1,54,1,53" locations_default(#20059,#10000,1,54,1,53) hasLocation(#20058,#20059) #20060=* exprs(#20060,0,#20058,0,"constructor") hasLocation(#20060,#20059) enclosing_stmt(#20060,#20040) expr_containers(#20060,#20001) literals("constructor","constructor",#20060) #20061=* exprs(#20061,9,#20058,1,"(...arg ... rgs); }") hasLocation(#20061,#20059) enclosing_stmt(#20061,#20040) expr_containers(#20061,#20001) #20062=* scopes(#20062,1) scopenodes(#20061,#20062) scopenesting(#20062,#20042) #20063=@"var;{args};{#20062}" variables(#20063,"args",#20062) #20064=* exprs(#20064,78,#20061,0,"args") hasLocation(#20064,#20059) expr_containers(#20064,#20061) literals("args","args",#20064) decl(#20064,#20063) #20065=@"var;{arguments};{#20062}" variables(#20065,"arguments",#20062) is_arguments_object(#20065) has_rest_parameter(#20061) #20066=* stmts(#20066,1,#20061,-2,"{ super(...args); }") hasLocation(#20066,#20059) stmt_containers(#20066,#20061) #20067=* stmts(#20067,2,#20066,0,"super(...args);") hasLocation(#20067,#20059) stmt_containers(#20067,#20061) #20068=* exprs(#20068,13,#20067,0,"super(...args)") hasLocation(#20068,#20059) enclosing_stmt(#20068,#20067) expr_containers(#20068,#20061) #20069=* exprs(#20069,81,#20068,-1,"super") hasLocation(#20069,#20059) enclosing_stmt(#20069,#20067) expr_containers(#20069,#20061) #20070=* exprs(#20070,66,#20068,0,"...args") hasLocation(#20070,#20059) enclosing_stmt(#20070,#20067) expr_containers(#20070,#20061) #20071=* exprs(#20071,79,#20070,0,"args") hasLocation(#20071,#20059) enclosing_stmt(#20071,#20067) expr_containers(#20071,#20061) literals("args","args",#20071) bind(#20071,#20063) is_method(#20058) #20072=* entry_cfg_node(#20072,#20001) #20073=@"loc,{#10000},1,1,1,0" locations_default(#20073,#10000,1,1,1,0) hasLocation(#20072,#20073) #20074=* exit_cfg_node(#20074,#20001) hasLocation(#20074,#20037) successor(#20061,#20058) #20075=* entry_cfg_node(#20075,#20061) hasLocation(#20075,#20059) #20076=* exit_cfg_node(#20076,#20061) hasLocation(#20076,#20059) successor(#20066,#20067) successor(#20067,#20069) successor(#20071,#20070) successor(#20070,#20068) successor(#20069,#20071) successor(#20068,#20076) successor(#20064,#20066) successor(#20075,#20064) successor(#20060,#20061) successor(#20058,#20040) successor(#20043,#20045) successor(#20045,#20051) successor(#20053,#20049) successor(#20051,#20053) successor(#20049,#20047) #20077=* guard_node(#20077,1,#20047) hasLocation(#20077,#20048) successor(#20077,#20054) #20078=* guard_node(#20078,0,#20047) hasLocation(#20078,#20048) successor(#20078,#20056) successor(#20047,#20077) successor(#20047,#20078) successor(#20054,#20060) successor(#20056,#20060) successor(#20041,#20043) successor(#20040,#20074) successor(#20072,#20041) numlines(#10000,1,1,0) filetype(#10000,"javascript")