JS: add TRAP test with closure modules

This commit is contained in:
Asger F
2019-01-30 16:57:35 +00:00
parent cac09cf154
commit ac6b9d1282
6 changed files with 700 additions and 0 deletions

View File

@@ -0,0 +1,3 @@
goog.declareModuleId('test');
export let x = 5;

View File

@@ -0,0 +1,3 @@
goog.module('test');
var x = 5;
exports = { x: x };

View File

@@ -0,0 +1,3 @@
goog.provide('test.x');
test.x = 5;

View File

@@ -0,0 +1,203 @@
#10000=@"/googDotDeclareModuleId.js;sourcefile"
files(#10000,"/googDotDeclareModuleId.js","googDotDeclareModuleId","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"
toplevels(#20001,0)
#20002=@"loc,{#10000},1,1,4,0"
locations_default(#20002,#10000,1,1,4,0)
hasLocation(#20001,#20002)
#20003=@"module;{#10000},1,1"
scopes(#20003,3)
scopenodes(#20001,#20003)
scopenesting(#20003,#20000)
isES2015Module(#20001)
isModule(#20001)
#20004=@"var;{x};{#20003}"
variables(#20004,"x",#20003)
#20005=*
stmts(#20005,2,#20001,0,"goog.de ... test');")
#20006=@"loc,{#10000},1,1,1,29"
locations_default(#20006,#10000,1,1,1,29)
hasLocation(#20005,#20006)
stmtContainers(#20005,#20001)
#20007=*
exprs(#20007,13,#20005,0,"goog.de ... 'test')")
#20008=@"loc,{#10000},1,1,1,28"
locations_default(#20008,#10000,1,1,1,28)
hasLocation(#20007,#20008)
enclosingStmt(#20007,#20005)
exprContainers(#20007,#20001)
#20009=*
exprs(#20009,14,#20007,-1,"goog.declareModuleId")
#20010=@"loc,{#10000},1,1,1,20"
locations_default(#20010,#10000,1,1,1,20)
hasLocation(#20009,#20010)
enclosingStmt(#20009,#20005)
exprContainers(#20009,#20001)
#20011=*
exprs(#20011,79,#20009,0,"goog")
#20012=@"loc,{#10000},1,1,1,4"
locations_default(#20012,#10000,1,1,1,4)
hasLocation(#20011,#20012)
enclosingStmt(#20011,#20005)
exprContainers(#20011,#20001)
literals("goog","goog",#20011)
#20013=@"var;{goog};{#20000}"
variables(#20013,"goog",#20000)
bind(#20011,#20013)
#20014=*
exprs(#20014,0,#20009,1,"declareModuleId")
#20015=@"loc,{#10000},1,6,1,20"
locations_default(#20015,#10000,1,6,1,20)
hasLocation(#20014,#20015)
enclosingStmt(#20014,#20005)
exprContainers(#20014,#20001)
literals("declareModuleId","declareModuleId",#20014)
#20016=*
exprs(#20016,4,#20007,0,"'test'")
#20017=@"loc,{#10000},1,22,1,27"
locations_default(#20017,#10000,1,22,1,27)
hasLocation(#20016,#20017)
enclosingStmt(#20016,#20005)
exprContainers(#20016,#20001)
literals("test","'test'",#20016)
#20018=*
stmts(#20018,30,#20001,1,"export let x = 5;")
#20019=@"loc,{#10000},3,1,3,17"
locations_default(#20019,#10000,3,1,3,17)
hasLocation(#20018,#20019)
stmtContainers(#20018,#20001)
#20020=*
stmts(#20020,23,#20018,-1,"let x = 5;")
#20021=@"loc,{#10000},3,8,3,17"
locations_default(#20021,#10000,3,8,3,17)
hasLocation(#20020,#20021)
stmtContainers(#20020,#20001)
#20022=*
exprs(#20022,64,#20020,0,"x = 5")
#20023=@"loc,{#10000},3,12,3,16"
locations_default(#20023,#10000,3,12,3,16)
hasLocation(#20022,#20023)
enclosingStmt(#20022,#20020)
exprContainers(#20022,#20001)
#20024=*
exprs(#20024,78,#20022,0,"x")
#20025=@"loc,{#10000},3,12,3,12"
locations_default(#20025,#10000,3,12,3,12)
hasLocation(#20024,#20025)
enclosingStmt(#20024,#20020)
exprContainers(#20024,#20001)
literals("x","x",#20024)
decl(#20024,#20004)
#20026=*
exprs(#20026,3,#20022,1,"5")
#20027=@"loc,{#10000},3,16,3,16"
locations_default(#20027,#10000,3,16,3,16)
hasLocation(#20026,#20027)
enclosingStmt(#20026,#20020)
exprContainers(#20026,#20001)
literals("5","5",#20026)
#20028=*
lines(#20028,#20001,"goog.declareModuleId('test');","
")
hasLocation(#20028,#20006)
#20029=*
lines(#20029,#20001,"","
")
#20030=@"loc,{#10000},2,1,2,0"
locations_default(#20030,#10000,2,1,2,0)
hasLocation(#20029,#20030)
#20031=*
lines(#20031,#20001,"export let x = 5;","
")
hasLocation(#20031,#20019)
numlines(#20001,3,2,0)
#20032=*
tokeninfo(#20032,6,#20001,0,"goog")
hasLocation(#20032,#20012)
#20033=*
tokeninfo(#20033,8,#20001,1,".")
#20034=@"loc,{#10000},1,5,1,5"
locations_default(#20034,#10000,1,5,1,5)
hasLocation(#20033,#20034)
#20035=*
tokeninfo(#20035,6,#20001,2,"declareModuleId")
hasLocation(#20035,#20015)
#20036=*
tokeninfo(#20036,8,#20001,3,"(")
#20037=@"loc,{#10000},1,21,1,21"
locations_default(#20037,#10000,1,21,1,21)
hasLocation(#20036,#20037)
#20038=*
tokeninfo(#20038,4,#20001,4,"'test'")
hasLocation(#20038,#20017)
#20039=*
tokeninfo(#20039,8,#20001,5,")")
#20040=@"loc,{#10000},1,28,1,28"
locations_default(#20040,#10000,1,28,1,28)
hasLocation(#20039,#20040)
#20041=*
tokeninfo(#20041,8,#20001,6,";")
#20042=@"loc,{#10000},1,29,1,29"
locations_default(#20042,#10000,1,29,1,29)
hasLocation(#20041,#20042)
#20043=*
tokeninfo(#20043,7,#20001,7,"export")
#20044=@"loc,{#10000},3,1,3,6"
locations_default(#20044,#10000,3,1,3,6)
hasLocation(#20043,#20044)
#20045=*
tokeninfo(#20045,7,#20001,8,"let")
#20046=@"loc,{#10000},3,8,3,10"
locations_default(#20046,#10000,3,8,3,10)
hasLocation(#20045,#20046)
#20047=*
tokeninfo(#20047,6,#20001,9,"x")
hasLocation(#20047,#20025)
#20048=*
tokeninfo(#20048,8,#20001,10,"=")
#20049=@"loc,{#10000},3,14,3,14"
locations_default(#20049,#10000,3,14,3,14)
hasLocation(#20048,#20049)
#20050=*
tokeninfo(#20050,3,#20001,11,"5")
hasLocation(#20050,#20027)
#20051=*
tokeninfo(#20051,8,#20001,12,";")
#20052=@"loc,{#10000},3,17,3,17"
locations_default(#20052,#10000,3,17,3,17)
hasLocation(#20051,#20052)
#20053=*
tokeninfo(#20053,0,#20001,13,"")
#20054=@"loc,{#10000},4,1,4,0"
locations_default(#20054,#10000,4,1,4,0)
hasLocation(#20053,#20054)
#20055=*
entry_cfg_node(#20055,#20001)
#20056=@"loc,{#10000},1,1,1,0"
locations_default(#20056,#10000,1,1,1,0)
hasLocation(#20055,#20056)
#20057=*
exit_cfg_node(#20057,#20001)
hasLocation(#20057,#20054)
successor(#20018,#20020)
successor(#20020,#20024)
successor(#20026,#20022)
successor(#20024,#20026)
successor(#20022,#20057)
successor(#20005,#20011)
successor(#20016,#20007)
successor(#20014,#20009)
successor(#20011,#20014)
successor(#20009,#20016)
successor(#20007,#20018)
successor(#20055,#20005)
numlines(#10000,3,2,0)
filetype(#10000,"javascript")

View File

@@ -0,0 +1,283 @@
#10000=@"/googDotModule.js;sourcefile"
files(#10000,"/googDotModule.js","googDotModule","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"
toplevels(#20001,0)
#20002=@"loc,{#10000},1,1,4,0"
locations_default(#20002,#10000,1,1,4,0)
hasLocation(#20001,#20002)
#20003=@"module;{#10000},1,1"
scopes(#20003,3)
scopenodes(#20001,#20003)
scopenesting(#20003,#20000)
#20004=@"var;{exports};{#20003}"
variables(#20004,"exports",#20003)
isClosureModule(#20001)
isModule(#20001)
#20005=@"var;{x};{#20003}"
variables(#20005,"x",#20003)
#20006=*
stmts(#20006,2,#20001,0,"goog.module('test');")
#20007=@"loc,{#10000},1,1,1,20"
locations_default(#20007,#10000,1,1,1,20)
hasLocation(#20006,#20007)
stmtContainers(#20006,#20001)
#20008=*
exprs(#20008,13,#20006,0,"goog.module('test')")
#20009=@"loc,{#10000},1,1,1,19"
locations_default(#20009,#10000,1,1,1,19)
hasLocation(#20008,#20009)
enclosingStmt(#20008,#20006)
exprContainers(#20008,#20001)
#20010=*
exprs(#20010,14,#20008,-1,"goog.module")
#20011=@"loc,{#10000},1,1,1,11"
locations_default(#20011,#10000,1,1,1,11)
hasLocation(#20010,#20011)
enclosingStmt(#20010,#20006)
exprContainers(#20010,#20001)
#20012=*
exprs(#20012,79,#20010,0,"goog")
#20013=@"loc,{#10000},1,1,1,4"
locations_default(#20013,#10000,1,1,1,4)
hasLocation(#20012,#20013)
enclosingStmt(#20012,#20006)
exprContainers(#20012,#20001)
literals("goog","goog",#20012)
#20014=@"var;{goog};{#20000}"
variables(#20014,"goog",#20000)
bind(#20012,#20014)
#20015=*
exprs(#20015,0,#20010,1,"module")
#20016=@"loc,{#10000},1,6,1,11"
locations_default(#20016,#10000,1,6,1,11)
hasLocation(#20015,#20016)
enclosingStmt(#20015,#20006)
exprContainers(#20015,#20001)
literals("module","module",#20015)
#20017=*
exprs(#20017,4,#20008,0,"'test'")
#20018=@"loc,{#10000},1,13,1,18"
locations_default(#20018,#10000,1,13,1,18)
hasLocation(#20017,#20018)
enclosingStmt(#20017,#20006)
exprContainers(#20017,#20001)
literals("test","'test'",#20017)
#20019=*
stmts(#20019,18,#20001,1,"var x = 5;")
#20020=@"loc,{#10000},2,1,2,10"
locations_default(#20020,#10000,2,1,2,10)
hasLocation(#20019,#20020)
stmtContainers(#20019,#20001)
#20021=*
exprs(#20021,64,#20019,0,"x = 5")
#20022=@"loc,{#10000},2,5,2,9"
locations_default(#20022,#10000,2,5,2,9)
hasLocation(#20021,#20022)
enclosingStmt(#20021,#20019)
exprContainers(#20021,#20001)
#20023=*
exprs(#20023,78,#20021,0,"x")
#20024=@"loc,{#10000},2,5,2,5"
locations_default(#20024,#10000,2,5,2,5)
hasLocation(#20023,#20024)
enclosingStmt(#20023,#20019)
exprContainers(#20023,#20001)
literals("x","x",#20023)
decl(#20023,#20005)
#20025=*
exprs(#20025,3,#20021,1,"5")
#20026=@"loc,{#10000},2,9,2,9"
locations_default(#20026,#10000,2,9,2,9)
hasLocation(#20025,#20026)
enclosingStmt(#20025,#20019)
exprContainers(#20025,#20001)
literals("5","5",#20025)
#20027=*
stmts(#20027,2,#20001,2,"exports = { x: x };")
#20028=@"loc,{#10000},3,1,3,19"
locations_default(#20028,#10000,3,1,3,19)
hasLocation(#20027,#20028)
stmtContainers(#20027,#20001)
#20029=*
exprs(#20029,47,#20027,0,"exports = { x: x }")
#20030=@"loc,{#10000},3,1,3,18"
locations_default(#20030,#10000,3,1,3,18)
hasLocation(#20029,#20030)
enclosingStmt(#20029,#20027)
exprContainers(#20029,#20001)
#20031=*
exprs(#20031,79,#20029,0,"exports")
#20032=@"loc,{#10000},3,1,3,7"
locations_default(#20032,#10000,3,1,3,7)
hasLocation(#20031,#20032)
enclosingStmt(#20031,#20027)
exprContainers(#20031,#20001)
literals("exports","exports",#20031)
bind(#20031,#20004)
#20033=*
exprs(#20033,8,#20029,1,"{ x: x }")
#20034=@"loc,{#10000},3,11,3,18"
locations_default(#20034,#10000,3,11,3,18)
hasLocation(#20033,#20034)
enclosingStmt(#20033,#20027)
exprContainers(#20033,#20001)
#20035=*
properties(#20035,#20033,0,0,"x: x")
#20036=@"loc,{#10000},3,13,3,16"
locations_default(#20036,#10000,3,13,3,16)
hasLocation(#20035,#20036)
#20037=*
exprs(#20037,0,#20035,0,"x")
#20038=@"loc,{#10000},3,13,3,13"
locations_default(#20038,#10000,3,13,3,13)
hasLocation(#20037,#20038)
enclosingStmt(#20037,#20027)
exprContainers(#20037,#20001)
literals("x","x",#20037)
#20039=*
exprs(#20039,79,#20035,1,"x")
#20040=@"loc,{#10000},3,16,3,16"
locations_default(#20040,#10000,3,16,3,16)
hasLocation(#20039,#20040)
enclosingStmt(#20039,#20027)
exprContainers(#20039,#20001)
literals("x","x",#20039)
bind(#20039,#20005)
#20041=*
lines(#20041,#20001,"goog.module('test');","
")
hasLocation(#20041,#20007)
#20042=*
lines(#20042,#20001,"var x = 5;","
")
hasLocation(#20042,#20020)
#20043=*
lines(#20043,#20001,"exports = { x: x };","
")
hasLocation(#20043,#20028)
numlines(#20001,3,3,0)
#20044=*
tokeninfo(#20044,6,#20001,0,"goog")
hasLocation(#20044,#20013)
#20045=*
tokeninfo(#20045,8,#20001,1,".")
#20046=@"loc,{#10000},1,5,1,5"
locations_default(#20046,#10000,1,5,1,5)
hasLocation(#20045,#20046)
#20047=*
tokeninfo(#20047,6,#20001,2,"module")
hasLocation(#20047,#20016)
#20048=*
tokeninfo(#20048,8,#20001,3,"(")
#20049=@"loc,{#10000},1,12,1,12"
locations_default(#20049,#10000,1,12,1,12)
hasLocation(#20048,#20049)
#20050=*
tokeninfo(#20050,4,#20001,4,"'test'")
hasLocation(#20050,#20018)
#20051=*
tokeninfo(#20051,8,#20001,5,")")
#20052=@"loc,{#10000},1,19,1,19"
locations_default(#20052,#10000,1,19,1,19)
hasLocation(#20051,#20052)
#20053=*
tokeninfo(#20053,8,#20001,6,";")
#20054=@"loc,{#10000},1,20,1,20"
locations_default(#20054,#10000,1,20,1,20)
hasLocation(#20053,#20054)
#20055=*
tokeninfo(#20055,7,#20001,7,"var")
#20056=@"loc,{#10000},2,1,2,3"
locations_default(#20056,#10000,2,1,2,3)
hasLocation(#20055,#20056)
#20057=*
tokeninfo(#20057,6,#20001,8,"x")
hasLocation(#20057,#20024)
#20058=*
tokeninfo(#20058,8,#20001,9,"=")
#20059=@"loc,{#10000},2,7,2,7"
locations_default(#20059,#10000,2,7,2,7)
hasLocation(#20058,#20059)
#20060=*
tokeninfo(#20060,3,#20001,10,"5")
hasLocation(#20060,#20026)
#20061=*
tokeninfo(#20061,8,#20001,11,";")
#20062=@"loc,{#10000},2,10,2,10"
locations_default(#20062,#10000,2,10,2,10)
hasLocation(#20061,#20062)
#20063=*
tokeninfo(#20063,6,#20001,12,"exports")
hasLocation(#20063,#20032)
#20064=*
tokeninfo(#20064,8,#20001,13,"=")
#20065=@"loc,{#10000},3,9,3,9"
locations_default(#20065,#10000,3,9,3,9)
hasLocation(#20064,#20065)
#20066=*
tokeninfo(#20066,8,#20001,14,"{")
#20067=@"loc,{#10000},3,11,3,11"
locations_default(#20067,#10000,3,11,3,11)
hasLocation(#20066,#20067)
#20068=*
tokeninfo(#20068,6,#20001,15,"x")
hasLocation(#20068,#20038)
#20069=*
tokeninfo(#20069,8,#20001,16,":")
#20070=@"loc,{#10000},3,14,3,14"
locations_default(#20070,#10000,3,14,3,14)
hasLocation(#20069,#20070)
#20071=*
tokeninfo(#20071,6,#20001,17,"x")
hasLocation(#20071,#20040)
#20072=*
tokeninfo(#20072,8,#20001,18,"}")
#20073=@"loc,{#10000},3,18,3,18"
locations_default(#20073,#10000,3,18,3,18)
hasLocation(#20072,#20073)
#20074=*
tokeninfo(#20074,8,#20001,19,";")
#20075=@"loc,{#10000},3,19,3,19"
locations_default(#20075,#10000,3,19,3,19)
hasLocation(#20074,#20075)
#20076=*
tokeninfo(#20076,0,#20001,20,"")
#20077=@"loc,{#10000},4,1,4,0"
locations_default(#20077,#10000,4,1,4,0)
hasLocation(#20076,#20077)
#20078=*
entry_cfg_node(#20078,#20001)
#20079=@"loc,{#10000},1,1,1,0"
locations_default(#20079,#10000,1,1,1,0)
hasLocation(#20078,#20079)
#20080=*
exit_cfg_node(#20080,#20001)
hasLocation(#20080,#20077)
successor(#20027,#20031)
successor(#20033,#20037)
successor(#20039,#20035)
successor(#20037,#20039)
successor(#20035,#20029)
successor(#20031,#20033)
successor(#20029,#20080)
successor(#20019,#20023)
successor(#20025,#20021)
successor(#20023,#20025)
successor(#20021,#20027)
successor(#20006,#20012)
successor(#20017,#20008)
successor(#20015,#20010)
successor(#20012,#20015)
successor(#20010,#20017)
successor(#20008,#20019)
successor(#20078,#20006)
numlines(#10000,3,3,0)
filetype(#10000,"javascript")

View File

@@ -0,0 +1,205 @@
#10000=@"/googDotProvide.js;sourcefile"
files(#10000,"/googDotProvide.js","googDotProvide","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"
toplevels(#20001,0)
#20002=@"loc,{#10000},1,1,4,0"
locations_default(#20002,#10000,1,1,4,0)
hasLocation(#20001,#20002)
#20003=*
stmts(#20003,2,#20001,0,"goog.pr ... st.x');")
#20004=@"loc,{#10000},1,1,1,23"
locations_default(#20004,#10000,1,1,1,23)
hasLocation(#20003,#20004)
stmtContainers(#20003,#20001)
#20005=*
exprs(#20005,13,#20003,0,"goog.pr ... est.x')")
#20006=@"loc,{#10000},1,1,1,22"
locations_default(#20006,#10000,1,1,1,22)
hasLocation(#20005,#20006)
enclosingStmt(#20005,#20003)
exprContainers(#20005,#20001)
#20007=*
exprs(#20007,14,#20005,-1,"goog.provide")
#20008=@"loc,{#10000},1,1,1,12"
locations_default(#20008,#10000,1,1,1,12)
hasLocation(#20007,#20008)
enclosingStmt(#20007,#20003)
exprContainers(#20007,#20001)
#20009=*
exprs(#20009,79,#20007,0,"goog")
#20010=@"loc,{#10000},1,1,1,4"
locations_default(#20010,#10000,1,1,1,4)
hasLocation(#20009,#20010)
enclosingStmt(#20009,#20003)
exprContainers(#20009,#20001)
literals("goog","goog",#20009)
#20011=@"var;{goog};{#20000}"
variables(#20011,"goog",#20000)
bind(#20009,#20011)
#20012=*
exprs(#20012,0,#20007,1,"provide")
#20013=@"loc,{#10000},1,6,1,12"
locations_default(#20013,#10000,1,6,1,12)
hasLocation(#20012,#20013)
enclosingStmt(#20012,#20003)
exprContainers(#20012,#20001)
literals("provide","provide",#20012)
#20014=*
exprs(#20014,4,#20005,0,"'test.x'")
#20015=@"loc,{#10000},1,14,1,21"
locations_default(#20015,#10000,1,14,1,21)
hasLocation(#20014,#20015)
enclosingStmt(#20014,#20003)
exprContainers(#20014,#20001)
literals("test.x","'test.x'",#20014)
#20016=*
stmts(#20016,2,#20001,1,"test.x = 5;")
#20017=@"loc,{#10000},3,1,3,11"
locations_default(#20017,#10000,3,1,3,11)
hasLocation(#20016,#20017)
stmtContainers(#20016,#20001)
#20018=*
exprs(#20018,47,#20016,0,"test.x = 5")
#20019=@"loc,{#10000},3,1,3,10"
locations_default(#20019,#10000,3,1,3,10)
hasLocation(#20018,#20019)
enclosingStmt(#20018,#20016)
exprContainers(#20018,#20001)
#20020=*
exprs(#20020,14,#20018,0,"test.x")
#20021=@"loc,{#10000},3,1,3,6"
locations_default(#20021,#10000,3,1,3,6)
hasLocation(#20020,#20021)
enclosingStmt(#20020,#20016)
exprContainers(#20020,#20001)
#20022=*
exprs(#20022,79,#20020,0,"test")
#20023=@"loc,{#10000},3,1,3,4"
locations_default(#20023,#10000,3,1,3,4)
hasLocation(#20022,#20023)
enclosingStmt(#20022,#20016)
exprContainers(#20022,#20001)
literals("test","test",#20022)
#20024=@"var;{test};{#20000}"
variables(#20024,"test",#20000)
bind(#20022,#20024)
#20025=*
exprs(#20025,0,#20020,1,"x")
#20026=@"loc,{#10000},3,6,3,6"
locations_default(#20026,#10000,3,6,3,6)
hasLocation(#20025,#20026)
enclosingStmt(#20025,#20016)
exprContainers(#20025,#20001)
literals("x","x",#20025)
#20027=*
exprs(#20027,3,#20018,1,"5")
#20028=@"loc,{#10000},3,10,3,10"
locations_default(#20028,#10000,3,10,3,10)
hasLocation(#20027,#20028)
enclosingStmt(#20027,#20016)
exprContainers(#20027,#20001)
literals("5","5",#20027)
#20029=*
lines(#20029,#20001,"goog.provide('test.x');","
")
hasLocation(#20029,#20004)
#20030=*
lines(#20030,#20001,"","
")
#20031=@"loc,{#10000},2,1,2,0"
locations_default(#20031,#10000,2,1,2,0)
hasLocation(#20030,#20031)
#20032=*
lines(#20032,#20001,"test.x = 5;","
")
hasLocation(#20032,#20017)
numlines(#20001,3,2,0)
#20033=*
tokeninfo(#20033,6,#20001,0,"goog")
hasLocation(#20033,#20010)
#20034=*
tokeninfo(#20034,8,#20001,1,".")
#20035=@"loc,{#10000},1,5,1,5"
locations_default(#20035,#10000,1,5,1,5)
hasLocation(#20034,#20035)
#20036=*
tokeninfo(#20036,6,#20001,2,"provide")
hasLocation(#20036,#20013)
#20037=*
tokeninfo(#20037,8,#20001,3,"(")
#20038=@"loc,{#10000},1,13,1,13"
locations_default(#20038,#10000,1,13,1,13)
hasLocation(#20037,#20038)
#20039=*
tokeninfo(#20039,4,#20001,4,"'test.x'")
hasLocation(#20039,#20015)
#20040=*
tokeninfo(#20040,8,#20001,5,")")
#20041=@"loc,{#10000},1,22,1,22"
locations_default(#20041,#10000,1,22,1,22)
hasLocation(#20040,#20041)
#20042=*
tokeninfo(#20042,8,#20001,6,";")
#20043=@"loc,{#10000},1,23,1,23"
locations_default(#20043,#10000,1,23,1,23)
hasLocation(#20042,#20043)
#20044=*
tokeninfo(#20044,6,#20001,7,"test")
hasLocation(#20044,#20023)
#20045=*
tokeninfo(#20045,8,#20001,8,".")
#20046=@"loc,{#10000},3,5,3,5"
locations_default(#20046,#10000,3,5,3,5)
hasLocation(#20045,#20046)
#20047=*
tokeninfo(#20047,6,#20001,9,"x")
hasLocation(#20047,#20026)
#20048=*
tokeninfo(#20048,8,#20001,10,"=")
#20049=@"loc,{#10000},3,8,3,8"
locations_default(#20049,#10000,3,8,3,8)
hasLocation(#20048,#20049)
#20050=*
tokeninfo(#20050,3,#20001,11,"5")
hasLocation(#20050,#20028)
#20051=*
tokeninfo(#20051,8,#20001,12,";")
#20052=@"loc,{#10000},3,11,3,11"
locations_default(#20052,#10000,3,11,3,11)
hasLocation(#20051,#20052)
#20053=*
tokeninfo(#20053,0,#20001,13,"")
#20054=@"loc,{#10000},4,1,4,0"
locations_default(#20054,#10000,4,1,4,0)
hasLocation(#20053,#20054)
#20055=*
entry_cfg_node(#20055,#20001)
#20056=@"loc,{#10000},1,1,1,0"
locations_default(#20056,#10000,1,1,1,0)
hasLocation(#20055,#20056)
#20057=*
exit_cfg_node(#20057,#20001)
hasLocation(#20057,#20054)
successor(#20016,#20022)
successor(#20027,#20018)
successor(#20025,#20020)
successor(#20022,#20025)
successor(#20020,#20027)
successor(#20018,#20057)
successor(#20003,#20009)
successor(#20014,#20005)
successor(#20012,#20007)
successor(#20009,#20012)
successor(#20007,#20014)
successor(#20005,#20016)
successor(#20055,#20003)
numlines(#10000,3,2,0)
filetype(#10000,"javascript")