#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=@"var;{this};{#20000}" variables(#20040,"this",#20000) #20041=* stmts(#20041,26,#20001,0,"class P ... ray) {}") hasLocation(#20041,#20003) stmt_containers(#20041,#20001) #20042=* exprs(#20042,78,#20041,0,"Point") hasLocation(#20042,#20007) enclosing_stmt(#20042,#20041) expr_containers(#20042,#20001) literals("Point","Point",#20042) decl(#20042,#20038) typedecl(#20042,#20039) #20043=* scopes(#20043,10) scopenodes(#20041,#20043) scopenesting(#20043,#20000) #20044=@"var;{this};{#20043}" variables(#20044,"this",#20043) #20045=* exprs(#20045,63,#20041,1,"(Math.r ... Array)") #20046=@"loc,{#10000},1,21,1,52" locations_default(#20046,#10000,1,21,1,52) hasLocation(#20045,#20046) enclosing_stmt(#20045,#20041) expr_containers(#20045,#20001) #20047=* exprs(#20047,11,#20045,0,"Math.ra ... : Array") #20048=@"loc,{#10000},1,22,1,51" locations_default(#20048,#10000,1,22,1,51) hasLocation(#20047,#20048) enclosing_stmt(#20047,#20041) expr_containers(#20047,#20001) #20049=* exprs(#20049,13,#20047,0,"Math.random()") #20050=@"loc,{#10000},1,22,1,34" locations_default(#20050,#10000,1,22,1,34) hasLocation(#20049,#20050) enclosing_stmt(#20049,#20041) expr_containers(#20049,#20001) #20051=* exprs(#20051,14,#20049,-1,"Math.random") #20052=@"loc,{#10000},1,22,1,32" locations_default(#20052,#10000,1,22,1,32) hasLocation(#20051,#20052) enclosing_stmt(#20051,#20041) expr_containers(#20051,#20001) #20053=* exprs(#20053,79,#20051,0,"Math") hasLocation(#20053,#20013) enclosing_stmt(#20053,#20041) expr_containers(#20053,#20001) literals("Math","Math",#20053) #20054=@"var;{Math};{#20000}" variables(#20054,"Math",#20000) bind(#20053,#20054) #20055=* exprs(#20055,0,#20051,1,"random") hasLocation(#20055,#20017) enclosing_stmt(#20055,#20041) expr_containers(#20055,#20001) literals("random","random",#20055) #20056=* exprs(#20056,79,#20047,1,"Object") hasLocation(#20056,#20025) enclosing_stmt(#20056,#20041) expr_containers(#20056,#20001) literals("Object","Object",#20056) #20057=@"var;{Object};{#20000}" variables(#20057,"Object",#20000) bind(#20056,#20057) #20058=* exprs(#20058,79,#20047,2,"Array") hasLocation(#20058,#20029) enclosing_stmt(#20058,#20041) expr_containers(#20058,#20001) literals("Array","Array",#20058) #20059=@"var;{Array};{#20000}" variables(#20059,"Array",#20000) bind(#20058,#20059) #20060=* properties(#20060,#20041,2,0,"constru ... rgs); }") #20061=@"loc,{#10000},1,54,1,53" locations_default(#20061,#10000,1,54,1,53) hasLocation(#20060,#20061) #20062=* exprs(#20062,0,#20060,0,"constructor") hasLocation(#20062,#20061) enclosing_stmt(#20062,#20041) expr_containers(#20062,#20001) literals("constructor","constructor",#20062) #20063=* exprs(#20063,9,#20060,1,"(...arg ... rgs); }") hasLocation(#20063,#20061) enclosing_stmt(#20063,#20041) expr_containers(#20063,#20001) #20064=* scopes(#20064,1) scopenodes(#20063,#20064) scopenesting(#20064,#20043) #20065=@"var;{this};{#20064}" variables(#20065,"this",#20064) #20066=@"var;{args};{#20064}" variables(#20066,"args",#20064) #20067=* exprs(#20067,78,#20063,0,"args") hasLocation(#20067,#20061) expr_containers(#20067,#20063) literals("args","args",#20067) decl(#20067,#20066) #20068=@"var;{arguments};{#20064}" variables(#20068,"arguments",#20064) is_arguments_object(#20068) has_rest_parameter(#20063) #20069=* stmts(#20069,1,#20063,-2,"{ super(...args); }") hasLocation(#20069,#20061) stmt_containers(#20069,#20063) #20070=* stmts(#20070,2,#20069,0,"super(...args);") hasLocation(#20070,#20061) stmt_containers(#20070,#20063) #20071=* exprs(#20071,13,#20070,0,"super(...args)") hasLocation(#20071,#20061) enclosing_stmt(#20071,#20070) expr_containers(#20071,#20063) #20072=* exprs(#20072,81,#20071,-1,"super") hasLocation(#20072,#20061) enclosing_stmt(#20072,#20070) expr_containers(#20072,#20063) #20073=* exprs(#20073,66,#20071,0,"...args") hasLocation(#20073,#20061) enclosing_stmt(#20073,#20070) expr_containers(#20073,#20063) #20074=* exprs(#20074,79,#20073,0,"args") hasLocation(#20074,#20061) enclosing_stmt(#20074,#20070) expr_containers(#20074,#20063) literals("args","args",#20074) bind(#20074,#20066) is_method(#20060) #20075=* entry_cfg_node(#20075,#20001) #20076=@"loc,{#10000},1,1,1,0" locations_default(#20076,#10000,1,1,1,0) hasLocation(#20075,#20076) #20077=* exit_cfg_node(#20077,#20001) hasLocation(#20077,#20037) successor(#20063,#20060) #20078=* entry_cfg_node(#20078,#20063) hasLocation(#20078,#20061) #20079=* exit_cfg_node(#20079,#20063) hasLocation(#20079,#20061) successor(#20070,#20072) successor(#20074,#20073) successor(#20073,#20071) successor(#20072,#20074) successor(#20071,#20079) successor(#20069,#20070) successor(#20067,#20069) successor(#20078,#20067) successor(#20062,#20063) successor(#20060,#20041) successor(#20045,#20047) successor(#20047,#20053) successor(#20055,#20051) successor(#20053,#20055) successor(#20051,#20049) #20080=* guard_node(#20080,1,#20049) hasLocation(#20080,#20050) successor(#20080,#20056) #20081=* guard_node(#20081,0,#20049) hasLocation(#20081,#20050) successor(#20081,#20058) successor(#20049,#20080) successor(#20049,#20081) successor(#20056,#20062) successor(#20058,#20062) successor(#20042,#20045) successor(#20041,#20077) successor(#20075,#20042) numlines(#10000,1,1,0) filetype(#10000,"javascript")