diff --git a/javascript/extractor/src/com/semmle/jcorn/CustomParser.java b/javascript/extractor/src/com/semmle/jcorn/CustomParser.java index fbcf40f6b1a..6eff92fdc98 100644 --- a/javascript/extractor/src/com/semmle/jcorn/CustomParser.java +++ b/javascript/extractor/src/com/semmle/jcorn/CustomParser.java @@ -564,7 +564,7 @@ public class CustomParser extends FlowParser { @Override protected Either jsx_readChunk(StringBuilder out, int chunkStart, int ch) { - // skip XML comments and processing instructions (which are allowed in E4X, but not in JSX) + // skip XML comments, processing instructions and CDATA (which are allowed in E4X, but not in JSX) if (this.options.e4x() && ch == '<') { if (inputSubstring(this.pos+1, this.pos+4).equals("!--")) { out.append(inputSubstring(chunkStart, this.pos)); @@ -576,6 +576,13 @@ public class CustomParser extends FlowParser { this.pos += 2; jsx_readUntil("?>"); return Either.left(this.pos); + } else if (inputSubstring(this.pos+1, this.pos+9).equals("![CDATA[")) { + out.append(inputSubstring(chunkStart, this.pos)); + this.pos += 9; + int cdataStart = this.pos; + jsx_readUntil("]]>"); + out.append(inputSubstring(cdataStart, this.pos-3)); + return Either.left(this.pos); } } diff --git a/javascript/extractor/tests/e4x/input/tst.js b/javascript/extractor/tests/e4x/input/tst.js index eeca15674d9..51d1bf26432 100644 --- a/javascript/extractor/tests/e4x/input/tst.js +++ b/javascript/extractor/tests/e4x/input/tst.js @@ -9,4 +9,5 @@ message.soap::[g()]; var e = + ]]> ; diff --git a/javascript/extractor/tests/e4x/output/trap/tst.js.trap b/javascript/extractor/tests/e4x/output/trap/tst.js.trap index 471f0162af1..3098274bcba 100644 --- a/javascript/extractor/tests/e4x/output/trap/tst.js.trap +++ b/javascript/extractor/tests/e4x/output/trap/tst.js.trap @@ -77,900 +77,910 @@ locations_default(#20023,#10000,11,1,11,18) hasLocation(#20022,#20023) indentation(#10000,11," ",2) #20024=* -lines(#20024,#20001," ;"," +lines(#20024,#20001," ]]>"," ") -#20025=@"loc,{#10000},12,1,12,9" -locations_default(#20025,#10000,12,1,12,9) +#20025=@"loc,{#10000},12,1,12,28" +locations_default(#20025,#10000,12,1,12,28) hasLocation(#20024,#20025) indentation(#10000,12," ",2) -numlines(#20001,12,11,0) #20026=* -tokeninfo(#20026,6,#20001,0,"items") -#20027=@"loc,{#10000},1,1,1,5" -locations_default(#20027,#10000,1,1,1,5) +lines(#20026,#20001," ;"," +") +#20027=@"loc,{#10000},13,1,13,9" +locations_default(#20027,#10000,13,1,13,9) hasLocation(#20026,#20027) +indentation(#10000,13," ",2) +numlines(#20001,13,12,0) #20028=* -tokeninfo(#20028,8,#20001,1,".") -#20029=@"loc,{#10000},1,6,1,6" -locations_default(#20029,#10000,1,6,1,6) +tokeninfo(#20028,6,#20001,0,"items") +#20029=@"loc,{#10000},1,1,1,5" +locations_default(#20029,#10000,1,1,1,5) hasLocation(#20028,#20029) #20030=* -tokeninfo(#20030,8,#20001,2,"@") -#20031=@"loc,{#10000},1,7,1,7" -locations_default(#20031,#10000,1,7,1,7) +tokeninfo(#20030,8,#20001,1,".") +#20031=@"loc,{#10000},1,6,1,6" +locations_default(#20031,#10000,1,6,1,6) hasLocation(#20030,#20031) #20032=* -tokeninfo(#20032,6,#20001,3,"id") -#20033=@"loc,{#10000},1,8,1,9" -locations_default(#20033,#10000,1,8,1,9) +tokeninfo(#20032,8,#20001,2,"@") +#20033=@"loc,{#10000},1,7,1,7" +locations_default(#20033,#10000,1,7,1,7) hasLocation(#20032,#20033) #20034=* -tokeninfo(#20034,8,#20001,4,";") -#20035=@"loc,{#10000},1,10,1,10" -locations_default(#20035,#10000,1,10,1,10) +tokeninfo(#20034,6,#20001,3,"id") +#20035=@"loc,{#10000},1,8,1,9" +locations_default(#20035,#10000,1,8,1,9) hasLocation(#20034,#20035) #20036=* -tokeninfo(#20036,6,#20001,5,"items") -#20037=@"loc,{#10000},2,1,2,5" -locations_default(#20037,#10000,2,1,2,5) +tokeninfo(#20036,8,#20001,4,";") +#20037=@"loc,{#10000},1,10,1,10" +locations_default(#20037,#10000,1,10,1,10) hasLocation(#20036,#20037) #20038=* -tokeninfo(#20038,8,#20001,6,".") -#20039=@"loc,{#10000},2,6,2,6" -locations_default(#20039,#10000,2,6,2,6) +tokeninfo(#20038,6,#20001,5,"items") +#20039=@"loc,{#10000},2,1,2,5" +locations_default(#20039,#10000,2,1,2,5) hasLocation(#20038,#20039) #20040=* -tokeninfo(#20040,8,#20001,7,"*") -#20041=@"loc,{#10000},2,7,2,7" -locations_default(#20041,#10000,2,7,2,7) +tokeninfo(#20040,8,#20001,6,".") +#20041=@"loc,{#10000},2,6,2,6" +locations_default(#20041,#10000,2,6,2,6) hasLocation(#20040,#20041) #20042=* -tokeninfo(#20042,8,#20001,8,"[") -#20043=@"loc,{#10000},2,8,2,8" -locations_default(#20043,#10000,2,8,2,8) +tokeninfo(#20042,8,#20001,7,"*") +#20043=@"loc,{#10000},2,7,2,7" +locations_default(#20043,#10000,2,7,2,7) hasLocation(#20042,#20043) #20044=* -tokeninfo(#20044,3,#20001,9,"1") -#20045=@"loc,{#10000},2,9,2,9" -locations_default(#20045,#10000,2,9,2,9) +tokeninfo(#20044,8,#20001,8,"[") +#20045=@"loc,{#10000},2,8,2,8" +locations_default(#20045,#10000,2,8,2,8) hasLocation(#20044,#20045) #20046=* -tokeninfo(#20046,8,#20001,10,"]") -#20047=@"loc,{#10000},2,10,2,10" -locations_default(#20047,#10000,2,10,2,10) +tokeninfo(#20046,3,#20001,9,"1") +#20047=@"loc,{#10000},2,9,2,9" +locations_default(#20047,#10000,2,9,2,9) hasLocation(#20046,#20047) #20048=* -tokeninfo(#20048,8,#20001,11,";") -#20049=@"loc,{#10000},2,11,2,11" -locations_default(#20049,#10000,2,11,2,11) +tokeninfo(#20048,8,#20001,10,"]") +#20049=@"loc,{#10000},2,10,2,10" +locations_default(#20049,#10000,2,10,2,10) hasLocation(#20048,#20049) #20050=* -tokeninfo(#20050,6,#20001,12,"order") -#20051=@"loc,{#10000},3,1,3,5" -locations_default(#20051,#10000,3,1,3,5) +tokeninfo(#20050,8,#20001,11,";") +#20051=@"loc,{#10000},2,11,2,11" +locations_default(#20051,#10000,2,11,2,11) hasLocation(#20050,#20051) #20052=* -tokeninfo(#20052,8,#20001,13,".") -#20053=@"loc,{#10000},3,6,3,6" -locations_default(#20053,#10000,3,6,3,6) +tokeninfo(#20052,6,#20001,12,"order") +#20053=@"loc,{#10000},3,1,3,5" +locations_default(#20053,#10000,3,1,3,5) hasLocation(#20052,#20053) #20054=* -tokeninfo(#20054,8,#20001,14,"@") -#20055=@"loc,{#10000},3,7,3,7" -locations_default(#20055,#10000,3,7,3,7) +tokeninfo(#20054,8,#20001,13,".") +#20055=@"loc,{#10000},3,6,3,6" +locations_default(#20055,#10000,3,6,3,6) hasLocation(#20054,#20055) #20056=* -tokeninfo(#20056,8,#20001,15,"*") -#20057=@"loc,{#10000},3,8,3,8" -locations_default(#20057,#10000,3,8,3,8) +tokeninfo(#20056,8,#20001,14,"@") +#20057=@"loc,{#10000},3,7,3,7" +locations_default(#20057,#10000,3,7,3,7) hasLocation(#20056,#20057) #20058=* -tokeninfo(#20058,8,#20001,16,";") -#20059=@"loc,{#10000},3,9,3,9" -locations_default(#20059,#10000,3,9,3,9) +tokeninfo(#20058,8,#20001,15,"*") +#20059=@"loc,{#10000},3,8,3,8" +locations_default(#20059,#10000,3,8,3,8) hasLocation(#20058,#20059) #20060=* -tokeninfo(#20060,6,#20001,17,"e") -#20061=@"loc,{#10000},4,1,4,1" -locations_default(#20061,#10000,4,1,4,1) +tokeninfo(#20060,8,#20001,16,";") +#20061=@"loc,{#10000},3,9,3,9" +locations_default(#20061,#10000,3,9,3,9) hasLocation(#20060,#20061) #20062=* -tokeninfo(#20062,8,#20001,18,"..") -#20063=@"loc,{#10000},4,2,4,3" -locations_default(#20063,#10000,4,2,4,3) +tokeninfo(#20062,6,#20001,17,"e") +#20063=@"loc,{#10000},4,1,4,1" +locations_default(#20063,#10000,4,1,4,1) hasLocation(#20062,#20063) #20064=* -tokeninfo(#20064,6,#20001,19,"employee") -#20065=@"loc,{#10000},4,4,4,11" -locations_default(#20065,#10000,4,4,4,11) +tokeninfo(#20064,8,#20001,18,"..") +#20065=@"loc,{#10000},4,2,4,3" +locations_default(#20065,#10000,4,2,4,3) hasLocation(#20064,#20065) #20066=* -tokeninfo(#20066,8,#20001,20,".") -#20067=@"loc,{#10000},4,12,4,12" -locations_default(#20067,#10000,4,12,4,12) +tokeninfo(#20066,6,#20001,19,"employee") +#20067=@"loc,{#10000},4,4,4,11" +locations_default(#20067,#10000,4,4,4,11) hasLocation(#20066,#20067) #20068=* -tokeninfo(#20068,8,#20001,21,"(") -#20069=@"loc,{#10000},4,13,4,13" -locations_default(#20069,#10000,4,13,4,13) +tokeninfo(#20068,8,#20001,20,".") +#20069=@"loc,{#10000},4,12,4,12" +locations_default(#20069,#10000,4,12,4,12) hasLocation(#20068,#20069) #20070=* -tokeninfo(#20070,8,#20001,22,"@") -#20071=@"loc,{#10000},4,14,4,14" -locations_default(#20071,#10000,4,14,4,14) +tokeninfo(#20070,8,#20001,21,"(") +#20071=@"loc,{#10000},4,13,4,13" +locations_default(#20071,#10000,4,13,4,13) hasLocation(#20070,#20071) #20072=* -tokeninfo(#20072,6,#20001,23,"id") -#20073=@"loc,{#10000},4,15,4,16" -locations_default(#20073,#10000,4,15,4,16) +tokeninfo(#20072,8,#20001,22,"@") +#20073=@"loc,{#10000},4,14,4,14" +locations_default(#20073,#10000,4,14,4,14) hasLocation(#20072,#20073) #20074=* -tokeninfo(#20074,8,#20001,24,"==") -#20075=@"loc,{#10000},4,18,4,19" -locations_default(#20075,#10000,4,18,4,19) +tokeninfo(#20074,6,#20001,23,"id") +#20075=@"loc,{#10000},4,15,4,16" +locations_default(#20075,#10000,4,15,4,16) hasLocation(#20074,#20075) #20076=* -tokeninfo(#20076,3,#20001,25,"0") -#20077=@"loc,{#10000},4,21,4,21" -locations_default(#20077,#10000,4,21,4,21) +tokeninfo(#20076,8,#20001,24,"==") +#20077=@"loc,{#10000},4,18,4,19" +locations_default(#20077,#10000,4,18,4,19) hasLocation(#20076,#20077) #20078=* -tokeninfo(#20078,8,#20001,26,"||") -#20079=@"loc,{#10000},4,23,4,24" -locations_default(#20079,#10000,4,23,4,24) +tokeninfo(#20078,3,#20001,25,"0") +#20079=@"loc,{#10000},4,21,4,21" +locations_default(#20079,#10000,4,21,4,21) hasLocation(#20078,#20079) #20080=* -tokeninfo(#20080,8,#20001,27,"@") -#20081=@"loc,{#10000},4,26,4,26" -locations_default(#20081,#10000,4,26,4,26) +tokeninfo(#20080,8,#20001,26,"||") +#20081=@"loc,{#10000},4,23,4,24" +locations_default(#20081,#10000,4,23,4,24) hasLocation(#20080,#20081) #20082=* -tokeninfo(#20082,6,#20001,28,"id") -#20083=@"loc,{#10000},4,27,4,28" -locations_default(#20083,#10000,4,27,4,28) +tokeninfo(#20082,8,#20001,27,"@") +#20083=@"loc,{#10000},4,26,4,26" +locations_default(#20083,#10000,4,26,4,26) hasLocation(#20082,#20083) #20084=* -tokeninfo(#20084,8,#20001,29,"==") -#20085=@"loc,{#10000},4,30,4,31" -locations_default(#20085,#10000,4,30,4,31) +tokeninfo(#20084,6,#20001,28,"id") +#20085=@"loc,{#10000},4,27,4,28" +locations_default(#20085,#10000,4,27,4,28) hasLocation(#20084,#20085) #20086=* -tokeninfo(#20086,3,#20001,30,"1") -#20087=@"loc,{#10000},4,33,4,33" -locations_default(#20087,#10000,4,33,4,33) +tokeninfo(#20086,8,#20001,29,"==") +#20087=@"loc,{#10000},4,30,4,31" +locations_default(#20087,#10000,4,30,4,31) hasLocation(#20086,#20087) #20088=* -tokeninfo(#20088,8,#20001,31,")") -#20089=@"loc,{#10000},4,34,4,34" -locations_default(#20089,#10000,4,34,4,34) +tokeninfo(#20088,3,#20001,30,"1") +#20089=@"loc,{#10000},4,33,4,33" +locations_default(#20089,#10000,4,33,4,33) hasLocation(#20088,#20089) #20090=* -tokeninfo(#20090,8,#20001,32,";") -#20091=@"loc,{#10000},4,35,4,35" -locations_default(#20091,#10000,4,35,4,35) +tokeninfo(#20090,8,#20001,31,")") +#20091=@"loc,{#10000},4,34,4,34" +locations_default(#20091,#10000,4,34,4,34) hasLocation(#20090,#20091) #20092=* -tokeninfo(#20092,6,#20001,33,"message") -#20093=@"loc,{#10000},5,1,5,7" -locations_default(#20093,#10000,5,1,5,7) +tokeninfo(#20092,8,#20001,32,";") +#20093=@"loc,{#10000},4,35,4,35" +locations_default(#20093,#10000,4,35,4,35) hasLocation(#20092,#20093) #20094=* -tokeninfo(#20094,8,#20001,34,".") -#20095=@"loc,{#10000},5,8,5,8" -locations_default(#20095,#10000,5,8,5,8) +tokeninfo(#20094,6,#20001,33,"message") +#20095=@"loc,{#10000},5,1,5,7" +locations_default(#20095,#10000,5,1,5,7) hasLocation(#20094,#20095) #20096=* -tokeninfo(#20096,8,#20001,35,"@") -#20097=@"loc,{#10000},5,9,5,9" -locations_default(#20097,#10000,5,9,5,9) +tokeninfo(#20096,8,#20001,34,".") +#20097=@"loc,{#10000},5,8,5,8" +locations_default(#20097,#10000,5,8,5,8) hasLocation(#20096,#20097) #20098=* -tokeninfo(#20098,6,#20001,36,"soap") -#20099=@"loc,{#10000},5,10,5,13" -locations_default(#20099,#10000,5,10,5,13) +tokeninfo(#20098,8,#20001,35,"@") +#20099=@"loc,{#10000},5,9,5,9" +locations_default(#20099,#10000,5,9,5,9) hasLocation(#20098,#20099) #20100=* -tokeninfo(#20100,8,#20001,37,"::") -#20101=@"loc,{#10000},5,14,5,15" -locations_default(#20101,#10000,5,14,5,15) +tokeninfo(#20100,6,#20001,36,"soap") +#20101=@"loc,{#10000},5,10,5,13" +locations_default(#20101,#10000,5,10,5,13) hasLocation(#20100,#20101) #20102=* -tokeninfo(#20102,6,#20001,38,"encodingStyle") -#20103=@"loc,{#10000},5,16,5,28" -locations_default(#20103,#10000,5,16,5,28) +tokeninfo(#20102,8,#20001,37,"::") +#20103=@"loc,{#10000},5,14,5,15" +locations_default(#20103,#10000,5,14,5,15) hasLocation(#20102,#20103) #20104=* -tokeninfo(#20104,8,#20001,39,";") -#20105=@"loc,{#10000},5,29,5,29" -locations_default(#20105,#10000,5,29,5,29) +tokeninfo(#20104,6,#20001,38,"encodingStyle") +#20105=@"loc,{#10000},5,16,5,28" +locations_default(#20105,#10000,5,16,5,28) hasLocation(#20104,#20105) #20106=* -tokeninfo(#20106,6,#20001,40,"message") -#20107=@"loc,{#10000},6,1,6,7" -locations_default(#20107,#10000,6,1,6,7) +tokeninfo(#20106,8,#20001,39,";") +#20107=@"loc,{#10000},5,29,5,29" +locations_default(#20107,#10000,5,29,5,29) hasLocation(#20106,#20107) #20108=* -tokeninfo(#20108,8,#20001,41,".") -#20109=@"loc,{#10000},6,8,6,8" -locations_default(#20109,#10000,6,8,6,8) +tokeninfo(#20108,6,#20001,40,"message") +#20109=@"loc,{#10000},6,1,6,7" +locations_default(#20109,#10000,6,1,6,7) hasLocation(#20108,#20109) #20110=* -tokeninfo(#20110,6,#20001,42,"soap") -#20111=@"loc,{#10000},6,9,6,12" -locations_default(#20111,#10000,6,9,6,12) +tokeninfo(#20110,8,#20001,41,".") +#20111=@"loc,{#10000},6,8,6,8" +locations_default(#20111,#10000,6,8,6,8) hasLocation(#20110,#20111) #20112=* -tokeninfo(#20112,8,#20001,43,"::") -#20113=@"loc,{#10000},6,13,6,14" -locations_default(#20113,#10000,6,13,6,14) +tokeninfo(#20112,6,#20001,42,"soap") +#20113=@"loc,{#10000},6,9,6,12" +locations_default(#20113,#10000,6,9,6,12) hasLocation(#20112,#20113) #20114=* -tokeninfo(#20114,6,#20001,44,"Body") -#20115=@"loc,{#10000},6,15,6,18" -locations_default(#20115,#10000,6,15,6,18) +tokeninfo(#20114,8,#20001,43,"::") +#20115=@"loc,{#10000},6,13,6,14" +locations_default(#20115,#10000,6,13,6,14) hasLocation(#20114,#20115) #20116=* -tokeninfo(#20116,8,#20001,45,";") -#20117=@"loc,{#10000},6,19,6,19" -locations_default(#20117,#10000,6,19,6,19) +tokeninfo(#20116,6,#20001,44,"Body") +#20117=@"loc,{#10000},6,15,6,18" +locations_default(#20117,#10000,6,15,6,18) hasLocation(#20116,#20117) #20118=* -tokeninfo(#20118,6,#20001,46,"items") -#20119=@"loc,{#10000},7,1,7,5" -locations_default(#20119,#10000,7,1,7,5) +tokeninfo(#20118,8,#20001,45,";") +#20119=@"loc,{#10000},6,19,6,19" +locations_default(#20119,#10000,6,19,6,19) hasLocation(#20118,#20119) #20120=* -tokeninfo(#20120,8,#20001,47,".") -#20121=@"loc,{#10000},7,6,7,6" -locations_default(#20121,#10000,7,6,7,6) +tokeninfo(#20120,6,#20001,46,"items") +#20121=@"loc,{#10000},7,1,7,5" +locations_default(#20121,#10000,7,1,7,5) hasLocation(#20120,#20121) #20122=* -tokeninfo(#20122,8,#20001,48,"@") -#20123=@"loc,{#10000},7,7,7,7" -locations_default(#20123,#10000,7,7,7,7) +tokeninfo(#20122,8,#20001,47,".") +#20123=@"loc,{#10000},7,6,7,6" +locations_default(#20123,#10000,7,6,7,6) hasLocation(#20122,#20123) #20124=* -tokeninfo(#20124,8,#20001,49,"[") -#20125=@"loc,{#10000},7,8,7,8" -locations_default(#20125,#10000,7,8,7,8) +tokeninfo(#20124,8,#20001,48,"@") +#20125=@"loc,{#10000},7,7,7,7" +locations_default(#20125,#10000,7,7,7,7) hasLocation(#20124,#20125) #20126=* -tokeninfo(#20126,6,#20001,50,"f") -#20127=@"loc,{#10000},7,9,7,9" -locations_default(#20127,#10000,7,9,7,9) +tokeninfo(#20126,8,#20001,49,"[") +#20127=@"loc,{#10000},7,8,7,8" +locations_default(#20127,#10000,7,8,7,8) hasLocation(#20126,#20127) #20128=* -tokeninfo(#20128,8,#20001,51,"(") -#20129=@"loc,{#10000},7,10,7,10" -locations_default(#20129,#10000,7,10,7,10) +tokeninfo(#20128,6,#20001,50,"f") +#20129=@"loc,{#10000},7,9,7,9" +locations_default(#20129,#10000,7,9,7,9) hasLocation(#20128,#20129) #20130=* -tokeninfo(#20130,8,#20001,52,")") -#20131=@"loc,{#10000},7,11,7,11" -locations_default(#20131,#10000,7,11,7,11) +tokeninfo(#20130,8,#20001,51,"(") +#20131=@"loc,{#10000},7,10,7,10" +locations_default(#20131,#10000,7,10,7,10) hasLocation(#20130,#20131) #20132=* -tokeninfo(#20132,8,#20001,53,"]") -#20133=@"loc,{#10000},7,12,7,12" -locations_default(#20133,#10000,7,12,7,12) +tokeninfo(#20132,8,#20001,52,")") +#20133=@"loc,{#10000},7,11,7,11" +locations_default(#20133,#10000,7,11,7,11) hasLocation(#20132,#20133) #20134=* -tokeninfo(#20134,8,#20001,54,";") -#20135=@"loc,{#10000},7,13,7,13" -locations_default(#20135,#10000,7,13,7,13) +tokeninfo(#20134,8,#20001,53,"]") +#20135=@"loc,{#10000},7,12,7,12" +locations_default(#20135,#10000,7,12,7,12) hasLocation(#20134,#20135) #20136=* -tokeninfo(#20136,6,#20001,55,"message") -#20137=@"loc,{#10000},8,1,8,7" -locations_default(#20137,#10000,8,1,8,7) +tokeninfo(#20136,8,#20001,54,";") +#20137=@"loc,{#10000},7,13,7,13" +locations_default(#20137,#10000,7,13,7,13) hasLocation(#20136,#20137) #20138=* -tokeninfo(#20138,8,#20001,56,".") -#20139=@"loc,{#10000},8,8,8,8" -locations_default(#20139,#10000,8,8,8,8) +tokeninfo(#20138,6,#20001,55,"message") +#20139=@"loc,{#10000},8,1,8,7" +locations_default(#20139,#10000,8,1,8,7) hasLocation(#20138,#20139) #20140=* -tokeninfo(#20140,6,#20001,57,"soap") -#20141=@"loc,{#10000},8,9,8,12" -locations_default(#20141,#10000,8,9,8,12) +tokeninfo(#20140,8,#20001,56,".") +#20141=@"loc,{#10000},8,8,8,8" +locations_default(#20141,#10000,8,8,8,8) hasLocation(#20140,#20141) #20142=* -tokeninfo(#20142,8,#20001,58,"::") -#20143=@"loc,{#10000},8,13,8,14" -locations_default(#20143,#10000,8,13,8,14) +tokeninfo(#20142,6,#20001,57,"soap") +#20143=@"loc,{#10000},8,9,8,12" +locations_default(#20143,#10000,8,9,8,12) hasLocation(#20142,#20143) #20144=* -tokeninfo(#20144,8,#20001,59,"[") -#20145=@"loc,{#10000},8,15,8,15" -locations_default(#20145,#10000,8,15,8,15) +tokeninfo(#20144,8,#20001,58,"::") +#20145=@"loc,{#10000},8,13,8,14" +locations_default(#20145,#10000,8,13,8,14) hasLocation(#20144,#20145) #20146=* -tokeninfo(#20146,6,#20001,60,"g") -#20147=@"loc,{#10000},8,16,8,16" -locations_default(#20147,#10000,8,16,8,16) +tokeninfo(#20146,8,#20001,59,"[") +#20147=@"loc,{#10000},8,15,8,15" +locations_default(#20147,#10000,8,15,8,15) hasLocation(#20146,#20147) #20148=* -tokeninfo(#20148,8,#20001,61,"(") -#20149=@"loc,{#10000},8,17,8,17" -locations_default(#20149,#10000,8,17,8,17) +tokeninfo(#20148,6,#20001,60,"g") +#20149=@"loc,{#10000},8,16,8,16" +locations_default(#20149,#10000,8,16,8,16) hasLocation(#20148,#20149) #20150=* -tokeninfo(#20150,8,#20001,62,")") -#20151=@"loc,{#10000},8,18,8,18" -locations_default(#20151,#10000,8,18,8,18) +tokeninfo(#20150,8,#20001,61,"(") +#20151=@"loc,{#10000},8,17,8,17" +locations_default(#20151,#10000,8,17,8,17) hasLocation(#20150,#20151) #20152=* -tokeninfo(#20152,8,#20001,63,"]") -#20153=@"loc,{#10000},8,19,8,19" -locations_default(#20153,#10000,8,19,8,19) +tokeninfo(#20152,8,#20001,62,")") +#20153=@"loc,{#10000},8,18,8,18" +locations_default(#20153,#10000,8,18,8,18) hasLocation(#20152,#20153) #20154=* -tokeninfo(#20154,8,#20001,64,";") -#20155=@"loc,{#10000},8,20,8,20" -locations_default(#20155,#10000,8,20,8,20) +tokeninfo(#20154,8,#20001,63,"]") +#20155=@"loc,{#10000},8,19,8,19" +locations_default(#20155,#10000,8,19,8,19) hasLocation(#20154,#20155) #20156=* -tokeninfo(#20156,7,#20001,65,"var") -#20157=@"loc,{#10000},10,1,10,3" -locations_default(#20157,#10000,10,1,10,3) +tokeninfo(#20156,8,#20001,64,";") +#20157=@"loc,{#10000},8,20,8,20" +locations_default(#20157,#10000,8,20,8,20) hasLocation(#20156,#20157) #20158=* -tokeninfo(#20158,6,#20001,66,"e") -#20159=@"loc,{#10000},10,5,10,5" -locations_default(#20159,#10000,10,5,10,5) +tokeninfo(#20158,7,#20001,65,"var") +#20159=@"loc,{#10000},10,1,10,3" +locations_default(#20159,#10000,10,1,10,3) hasLocation(#20158,#20159) #20160=* -tokeninfo(#20160,8,#20001,67,"=") -#20161=@"loc,{#10000},10,7,10,7" -locations_default(#20161,#10000,10,7,10,7) +tokeninfo(#20160,6,#20001,66,"e") +#20161=@"loc,{#10000},10,5,10,5" +locations_default(#20161,#10000,10,5,10,5) hasLocation(#20160,#20161) #20162=* -tokeninfo(#20162,8,#20001,68," <") -#20163=@"loc,{#10000},10,9,10,48" -locations_default(#20163,#10000,10,9,10,48) +tokeninfo(#20162,8,#20001,67,"=") +#20163=@"loc,{#10000},10,7,10,7" +locations_default(#20163,#10000,10,7,10,7) hasLocation(#20162,#20163) #20164=* -tokeninfo(#20164,6,#20001,69,"elt") -#20165=@"loc,{#10000},10,49,10,51" -locations_default(#20165,#10000,10,49,10,51) +tokeninfo(#20164,8,#20001,68," <") +#20165=@"loc,{#10000},10,9,10,48" +locations_default(#20165,#10000,10,9,10,48) hasLocation(#20164,#20165) #20166=* -tokeninfo(#20166,8,#20001,70,">") -#20167=@"loc,{#10000},10,52,10,52" -locations_default(#20167,#10000,10,52,10,52) +tokeninfo(#20166,6,#20001,69,"elt") +#20167=@"loc,{#10000},10,49,10,51" +locations_default(#20167,#10000,10,49,10,51) hasLocation(#20166,#20167) #20168=* -tokeninfo(#20168,4,#20001,71," - - ") -#20169=@"loc,{#10000},10,53,12,2" -locations_default(#20169,#10000,10,53,12,2) +tokeninfo(#20168,8,#20001,70,">") +#20169=@"loc,{#10000},10,52,10,52" +locations_default(#20169,#10000,10,52,10,52) hasLocation(#20168,#20169) #20170=* -tokeninfo(#20170,8,#20001,72,"<") -#20171=@"loc,{#10000},12,3,12,3" -locations_default(#20171,#10000,12,3,12,3) +tokeninfo(#20170,4,#20001,71," + + ]]> + ") +#20171=@"loc,{#10000},10,53,13,2" +locations_default(#20171,#10000,10,53,13,2) hasLocation(#20170,#20171) #20172=* -tokeninfo(#20172,8,#20001,73,"/") -#20173=@"loc,{#10000},12,4,12,4" -locations_default(#20173,#10000,12,4,12,4) +tokeninfo(#20172,8,#20001,72,"<") +#20173=@"loc,{#10000},13,3,13,3" +locations_default(#20173,#10000,13,3,13,3) hasLocation(#20172,#20173) #20174=* -tokeninfo(#20174,6,#20001,74,"elt") -#20175=@"loc,{#10000},12,5,12,7" -locations_default(#20175,#10000,12,5,12,7) +tokeninfo(#20174,8,#20001,73,"/") +#20175=@"loc,{#10000},13,4,13,4" +locations_default(#20175,#10000,13,4,13,4) hasLocation(#20174,#20175) #20176=* -tokeninfo(#20176,8,#20001,75,">") -#20177=@"loc,{#10000},12,8,12,8" -locations_default(#20177,#10000,12,8,12,8) +tokeninfo(#20176,6,#20001,74,"elt") +#20177=@"loc,{#10000},13,5,13,7" +locations_default(#20177,#10000,13,5,13,7) hasLocation(#20176,#20177) #20178=* -tokeninfo(#20178,8,#20001,76,";") -#20179=@"loc,{#10000},12,9,12,9" -locations_default(#20179,#10000,12,9,12,9) +tokeninfo(#20178,8,#20001,75,">") +#20179=@"loc,{#10000},13,8,13,8" +locations_default(#20179,#10000,13,8,13,8) hasLocation(#20178,#20179) #20180=* -tokeninfo(#20180,0,#20001,77,"") -#20181=@"loc,{#10000},13,1,13,0" -locations_default(#20181,#10000,13,1,13,0) +tokeninfo(#20180,8,#20001,76,";") +#20181=@"loc,{#10000},13,9,13,9" +locations_default(#20181,#10000,13,9,13,9) hasLocation(#20180,#20181) +#20182=* +tokeninfo(#20182,0,#20001,77,"") +#20183=@"loc,{#10000},14,1,14,0" +locations_default(#20183,#10000,14,1,14,0) +hasLocation(#20182,#20183) toplevels(#20001,0) -#20182=@"loc,{#10000},1,1,13,0" -locations_default(#20182,#10000,1,1,13,0) -hasLocation(#20001,#20182) -#20183=@"var;{e};{#20000}" -variables(#20183,"e",#20000) -#20184=* -stmts(#20184,2,#20001,0,"items.@id;") -hasLocation(#20184,#20003) -stmtContainers(#20184,#20001) -#20185=* -exprs(#20185,14,#20184,0,"items.@id") -#20186=@"loc,{#10000},1,1,1,9" -locations_default(#20186,#10000,1,1,1,9) -hasLocation(#20185,#20186) -enclosingStmt(#20185,#20184) -exprContainers(#20185,#20001) +#20184=@"loc,{#10000},1,1,14,0" +locations_default(#20184,#10000,1,1,14,0) +hasLocation(#20001,#20184) +#20185=@"var;{e};{#20000}" +variables(#20185,"e",#20000) +#20186=* +stmts(#20186,2,#20001,0,"items.@id;") +hasLocation(#20186,#20003) +stmtContainers(#20186,#20001) #20187=* -exprs(#20187,79,#20185,0,"items") -hasLocation(#20187,#20027) -enclosingStmt(#20187,#20184) +exprs(#20187,14,#20186,0,"items.@id") +#20188=@"loc,{#10000},1,1,1,9" +locations_default(#20188,#10000,1,1,1,9) +hasLocation(#20187,#20188) +enclosingStmt(#20187,#20186) exprContainers(#20187,#20001) -literals("items","items",#20187) -#20188=@"var;{items};{#20000}" -variables(#20188,"items",#20000) -bind(#20187,#20188) #20189=* -exprs(#20189,109,#20185,1,"@id") -#20190=@"loc,{#10000},1,7,1,9" -locations_default(#20190,#10000,1,7,1,9) -hasLocation(#20189,#20190) -enclosingStmt(#20189,#20184) +exprs(#20189,79,#20187,0,"items") +hasLocation(#20189,#20029) +enclosingStmt(#20189,#20186) exprContainers(#20189,#20001) +literals("items","items",#20189) +#20190=@"var;{items};{#20000}" +variables(#20190,"items",#20000) +bind(#20189,#20190) #20191=* -exprs(#20191,0,#20189,0,"id") -hasLocation(#20191,#20033) -enclosingStmt(#20191,#20184) +exprs(#20191,109,#20187,1,"@id") +#20192=@"loc,{#10000},1,7,1,9" +locations_default(#20192,#10000,1,7,1,9) +hasLocation(#20191,#20192) +enclosingStmt(#20191,#20186) exprContainers(#20191,#20001) -literals("id","id",#20191) -#20192=* -stmts(#20192,2,#20001,1,"items.*[1];") -hasLocation(#20192,#20005) -stmtContainers(#20192,#20001) #20193=* -exprs(#20193,15,#20192,0,"items.*[1]") -#20194=@"loc,{#10000},2,1,2,10" -locations_default(#20194,#10000,2,1,2,10) -hasLocation(#20193,#20194) -enclosingStmt(#20193,#20192) +exprs(#20193,0,#20191,0,"id") +hasLocation(#20193,#20035) +enclosingStmt(#20193,#20186) exprContainers(#20193,#20001) +literals("id","id",#20193) +#20194=* +stmts(#20194,2,#20001,1,"items.*[1];") +hasLocation(#20194,#20005) +stmtContainers(#20194,#20001) #20195=* -exprs(#20195,14,#20193,0,"items.*") -#20196=@"loc,{#10000},2,1,2,7" -locations_default(#20196,#10000,2,1,2,7) +exprs(#20195,15,#20194,0,"items.*[1]") +#20196=@"loc,{#10000},2,1,2,10" +locations_default(#20196,#10000,2,1,2,10) hasLocation(#20195,#20196) -enclosingStmt(#20195,#20192) +enclosingStmt(#20195,#20194) exprContainers(#20195,#20001) #20197=* -exprs(#20197,79,#20195,0,"items") -hasLocation(#20197,#20037) -enclosingStmt(#20197,#20192) +exprs(#20197,14,#20195,0,"items.*") +#20198=@"loc,{#10000},2,1,2,7" +locations_default(#20198,#10000,2,1,2,7) +hasLocation(#20197,#20198) +enclosingStmt(#20197,#20194) exprContainers(#20197,#20001) -literals("items","items",#20197) -bind(#20197,#20188) -#20198=* -exprs(#20198,108,#20195,1,"*") -hasLocation(#20198,#20041) -enclosingStmt(#20198,#20192) -exprContainers(#20198,#20001) #20199=* -exprs(#20199,3,#20193,1,"1") -hasLocation(#20199,#20045) -enclosingStmt(#20199,#20192) +exprs(#20199,79,#20197,0,"items") +hasLocation(#20199,#20039) +enclosingStmt(#20199,#20194) exprContainers(#20199,#20001) -literals("1","1",#20199) +literals("items","items",#20199) +bind(#20199,#20190) #20200=* -stmts(#20200,2,#20001,2,"order.@*;") -hasLocation(#20200,#20007) -stmtContainers(#20200,#20001) +exprs(#20200,108,#20197,1,"*") +hasLocation(#20200,#20043) +enclosingStmt(#20200,#20194) +exprContainers(#20200,#20001) #20201=* -exprs(#20201,14,#20200,0,"order.@*") -#20202=@"loc,{#10000},3,1,3,8" -locations_default(#20202,#10000,3,1,3,8) -hasLocation(#20201,#20202) -enclosingStmt(#20201,#20200) +exprs(#20201,3,#20195,1,"1") +hasLocation(#20201,#20047) +enclosingStmt(#20201,#20194) exprContainers(#20201,#20001) +literals("1","1",#20201) +#20202=* +stmts(#20202,2,#20001,2,"order.@*;") +hasLocation(#20202,#20007) +stmtContainers(#20202,#20001) #20203=* -exprs(#20203,79,#20201,0,"order") -hasLocation(#20203,#20051) -enclosingStmt(#20203,#20200) +exprs(#20203,14,#20202,0,"order.@*") +#20204=@"loc,{#10000},3,1,3,8" +locations_default(#20204,#10000,3,1,3,8) +hasLocation(#20203,#20204) +enclosingStmt(#20203,#20202) exprContainers(#20203,#20001) -literals("order","order",#20203) -#20204=@"var;{order};{#20000}" -variables(#20204,"order",#20000) -bind(#20203,#20204) #20205=* -exprs(#20205,109,#20201,1,"@*") -#20206=@"loc,{#10000},3,7,3,8" -locations_default(#20206,#10000,3,7,3,8) -hasLocation(#20205,#20206) -enclosingStmt(#20205,#20200) +exprs(#20205,79,#20203,0,"order") +hasLocation(#20205,#20053) +enclosingStmt(#20205,#20202) exprContainers(#20205,#20001) +literals("order","order",#20205) +#20206=@"var;{order};{#20000}" +variables(#20206,"order",#20000) +bind(#20205,#20206) #20207=* -exprs(#20207,108,#20205,0,"*") -hasLocation(#20207,#20057) -enclosingStmt(#20207,#20200) +exprs(#20207,109,#20203,1,"@*") +#20208=@"loc,{#10000},3,7,3,8" +locations_default(#20208,#10000,3,7,3,8) +hasLocation(#20207,#20208) +enclosingStmt(#20207,#20202) exprContainers(#20207,#20001) -#20208=* -stmts(#20208,2,#20001,3,"e..empl ... == 1);") -hasLocation(#20208,#20009) -stmtContainers(#20208,#20001) #20209=* -exprs(#20209,111,#20208,0,"e..empl ... d == 1)") -#20210=@"loc,{#10000},4,1,4,34" -locations_default(#20210,#10000,4,1,4,34) -hasLocation(#20209,#20210) -enclosingStmt(#20209,#20208) +exprs(#20209,108,#20207,0,"*") +hasLocation(#20209,#20059) +enclosingStmt(#20209,#20202) exprContainers(#20209,#20001) +#20210=* +stmts(#20210,2,#20001,3,"e..empl ... == 1);") +hasLocation(#20210,#20009) +stmtContainers(#20210,#20001) #20211=* -exprs(#20211,114,#20209,0,"e..employee") -#20212=@"loc,{#10000},4,1,4,11" -locations_default(#20212,#10000,4,1,4,11) +exprs(#20211,111,#20210,0,"e..empl ... d == 1)") +#20212=@"loc,{#10000},4,1,4,34" +locations_default(#20212,#10000,4,1,4,34) hasLocation(#20211,#20212) -enclosingStmt(#20211,#20208) +enclosingStmt(#20211,#20210) exprContainers(#20211,#20001) #20213=* -exprs(#20213,79,#20211,0,"e") -hasLocation(#20213,#20061) -enclosingStmt(#20213,#20208) +exprs(#20213,114,#20211,0,"e..employee") +#20214=@"loc,{#10000},4,1,4,11" +locations_default(#20214,#10000,4,1,4,11) +hasLocation(#20213,#20214) +enclosingStmt(#20213,#20210) exprContainers(#20213,#20001) -literals("e","e",#20213) -bind(#20213,#20183) -#20214=* -exprs(#20214,0,#20211,1,"employee") -hasLocation(#20214,#20065) -enclosingStmt(#20214,#20208) -exprContainers(#20214,#20001) -literals("employee","employee",#20214) #20215=* -exprs(#20215,45,#20209,1,"@id == 0 || @id == 1") -#20216=@"loc,{#10000},4,14,4,33" -locations_default(#20216,#10000,4,14,4,33) -hasLocation(#20215,#20216) -enclosingStmt(#20215,#20208) +exprs(#20215,79,#20213,0,"e") +hasLocation(#20215,#20063) +enclosingStmt(#20215,#20210) exprContainers(#20215,#20001) +literals("e","e",#20215) +bind(#20215,#20185) +#20216=* +exprs(#20216,0,#20213,1,"employee") +hasLocation(#20216,#20067) +enclosingStmt(#20216,#20210) +exprContainers(#20216,#20001) +literals("employee","employee",#20216) #20217=* -exprs(#20217,23,#20215,0,"@id == 0") -#20218=@"loc,{#10000},4,14,4,21" -locations_default(#20218,#10000,4,14,4,21) +exprs(#20217,45,#20211,1,"@id == 0 || @id == 1") +#20218=@"loc,{#10000},4,14,4,33" +locations_default(#20218,#10000,4,14,4,33) hasLocation(#20217,#20218) -enclosingStmt(#20217,#20208) +enclosingStmt(#20217,#20210) exprContainers(#20217,#20001) #20219=* -exprs(#20219,109,#20217,0,"@id") -#20220=@"loc,{#10000},4,14,4,16" -locations_default(#20220,#10000,4,14,4,16) +exprs(#20219,23,#20217,0,"@id == 0") +#20220=@"loc,{#10000},4,14,4,21" +locations_default(#20220,#10000,4,14,4,21) hasLocation(#20219,#20220) -enclosingStmt(#20219,#20208) +enclosingStmt(#20219,#20210) exprContainers(#20219,#20001) #20221=* -exprs(#20221,0,#20219,0,"id") -hasLocation(#20221,#20073) -enclosingStmt(#20221,#20208) +exprs(#20221,109,#20219,0,"@id") +#20222=@"loc,{#10000},4,14,4,16" +locations_default(#20222,#10000,4,14,4,16) +hasLocation(#20221,#20222) +enclosingStmt(#20221,#20210) exprContainers(#20221,#20001) -literals("id","id",#20221) -#20222=* -exprs(#20222,3,#20217,1,"0") -hasLocation(#20222,#20077) -enclosingStmt(#20222,#20208) -exprContainers(#20222,#20001) -literals("0","0",#20222) #20223=* -exprs(#20223,23,#20215,1,"@id == 1") -#20224=@"loc,{#10000},4,26,4,33" -locations_default(#20224,#10000,4,26,4,33) -hasLocation(#20223,#20224) -enclosingStmt(#20223,#20208) +exprs(#20223,0,#20221,0,"id") +hasLocation(#20223,#20075) +enclosingStmt(#20223,#20210) exprContainers(#20223,#20001) +literals("id","id",#20223) +#20224=* +exprs(#20224,3,#20219,1,"0") +hasLocation(#20224,#20079) +enclosingStmt(#20224,#20210) +exprContainers(#20224,#20001) +literals("0","0",#20224) #20225=* -exprs(#20225,109,#20223,0,"@id") -#20226=@"loc,{#10000},4,26,4,28" -locations_default(#20226,#10000,4,26,4,28) +exprs(#20225,23,#20217,1,"@id == 1") +#20226=@"loc,{#10000},4,26,4,33" +locations_default(#20226,#10000,4,26,4,33) hasLocation(#20225,#20226) -enclosingStmt(#20225,#20208) +enclosingStmt(#20225,#20210) exprContainers(#20225,#20001) #20227=* -exprs(#20227,0,#20225,0,"id") -hasLocation(#20227,#20083) -enclosingStmt(#20227,#20208) +exprs(#20227,109,#20225,0,"@id") +#20228=@"loc,{#10000},4,26,4,28" +locations_default(#20228,#10000,4,26,4,28) +hasLocation(#20227,#20228) +enclosingStmt(#20227,#20210) exprContainers(#20227,#20001) -literals("id","id",#20227) -#20228=* -exprs(#20228,3,#20223,1,"1") -hasLocation(#20228,#20087) -enclosingStmt(#20228,#20208) -exprContainers(#20228,#20001) -literals("1","1",#20228) #20229=* -stmts(#20229,2,#20001,4,"message ... gStyle;") -hasLocation(#20229,#20011) -stmtContainers(#20229,#20001) +exprs(#20229,0,#20227,0,"id") +hasLocation(#20229,#20085) +enclosingStmt(#20229,#20210) +exprContainers(#20229,#20001) +literals("id","id",#20229) #20230=* -exprs(#20230,14,#20229,0,"message ... ngStyle") -#20231=@"loc,{#10000},5,1,5,28" -locations_default(#20231,#10000,5,1,5,28) -hasLocation(#20230,#20231) -enclosingStmt(#20230,#20229) +exprs(#20230,3,#20225,1,"1") +hasLocation(#20230,#20089) +enclosingStmt(#20230,#20210) exprContainers(#20230,#20001) +literals("1","1",#20230) +#20231=* +stmts(#20231,2,#20001,4,"message ... gStyle;") +hasLocation(#20231,#20011) +stmtContainers(#20231,#20001) #20232=* -exprs(#20232,79,#20230,0,"message") -hasLocation(#20232,#20093) -enclosingStmt(#20232,#20229) +exprs(#20232,14,#20231,0,"message ... ngStyle") +#20233=@"loc,{#10000},5,1,5,28" +locations_default(#20233,#10000,5,1,5,28) +hasLocation(#20232,#20233) +enclosingStmt(#20232,#20231) exprContainers(#20232,#20001) -literals("message","message",#20232) -#20233=@"var;{message};{#20000}" -variables(#20233,"message",#20000) -bind(#20232,#20233) #20234=* -exprs(#20234,109,#20230,1,"@soap::encodingStyle") -#20235=@"loc,{#10000},5,9,5,28" -locations_default(#20235,#10000,5,9,5,28) -hasLocation(#20234,#20235) -enclosingStmt(#20234,#20229) +exprs(#20234,79,#20232,0,"message") +hasLocation(#20234,#20095) +enclosingStmt(#20234,#20231) exprContainers(#20234,#20001) +literals("message","message",#20234) +#20235=@"var;{message};{#20000}" +variables(#20235,"message",#20000) +bind(#20234,#20235) #20236=* -exprs(#20236,112,#20234,0,"soap::encodingStyle") -#20237=@"loc,{#10000},5,10,5,28" -locations_default(#20237,#10000,5,10,5,28) +exprs(#20236,109,#20232,1,"@soap::encodingStyle") +#20237=@"loc,{#10000},5,9,5,28" +locations_default(#20237,#10000,5,9,5,28) hasLocation(#20236,#20237) -enclosingStmt(#20236,#20229) +enclosingStmt(#20236,#20231) exprContainers(#20236,#20001) #20238=* -exprs(#20238,79,#20236,0,"soap") -hasLocation(#20238,#20099) -enclosingStmt(#20238,#20229) +exprs(#20238,112,#20236,0,"soap::encodingStyle") +#20239=@"loc,{#10000},5,10,5,28" +locations_default(#20239,#10000,5,10,5,28) +hasLocation(#20238,#20239) +enclosingStmt(#20238,#20231) exprContainers(#20238,#20001) -literals("soap","soap",#20238) -#20239=@"var;{soap};{#20000}" -variables(#20239,"soap",#20000) -bind(#20238,#20239) #20240=* -exprs(#20240,0,#20236,1,"encodingStyle") -hasLocation(#20240,#20103) -enclosingStmt(#20240,#20229) +exprs(#20240,79,#20238,0,"soap") +hasLocation(#20240,#20101) +enclosingStmt(#20240,#20231) exprContainers(#20240,#20001) -literals("encodingStyle","encodingStyle",#20240) -#20241=* -stmts(#20241,2,#20001,5,"message.soap::Body;") -hasLocation(#20241,#20013) -stmtContainers(#20241,#20001) +literals("soap","soap",#20240) +#20241=@"var;{soap};{#20000}" +variables(#20241,"soap",#20000) +bind(#20240,#20241) #20242=* -exprs(#20242,14,#20241,0,"message.soap::Body") -#20243=@"loc,{#10000},6,1,6,18" -locations_default(#20243,#10000,6,1,6,18) -hasLocation(#20242,#20243) -enclosingStmt(#20242,#20241) +exprs(#20242,0,#20238,1,"encodingStyle") +hasLocation(#20242,#20105) +enclosingStmt(#20242,#20231) exprContainers(#20242,#20001) +literals("encodingStyle","encodingStyle",#20242) +#20243=* +stmts(#20243,2,#20001,5,"message.soap::Body;") +hasLocation(#20243,#20013) +stmtContainers(#20243,#20001) #20244=* -exprs(#20244,79,#20242,0,"message") -hasLocation(#20244,#20107) -enclosingStmt(#20244,#20241) +exprs(#20244,14,#20243,0,"message.soap::Body") +#20245=@"loc,{#10000},6,1,6,18" +locations_default(#20245,#10000,6,1,6,18) +hasLocation(#20244,#20245) +enclosingStmt(#20244,#20243) exprContainers(#20244,#20001) -literals("message","message",#20244) -bind(#20244,#20233) -#20245=* -exprs(#20245,112,#20242,1,"soap::Body") -#20246=@"loc,{#10000},6,9,6,18" -locations_default(#20246,#10000,6,9,6,18) -hasLocation(#20245,#20246) -enclosingStmt(#20245,#20241) -exprContainers(#20245,#20001) +#20246=* +exprs(#20246,79,#20244,0,"message") +hasLocation(#20246,#20109) +enclosingStmt(#20246,#20243) +exprContainers(#20246,#20001) +literals("message","message",#20246) +bind(#20246,#20235) #20247=* -exprs(#20247,79,#20245,0,"soap") -hasLocation(#20247,#20111) -enclosingStmt(#20247,#20241) +exprs(#20247,112,#20244,1,"soap::Body") +#20248=@"loc,{#10000},6,9,6,18" +locations_default(#20248,#10000,6,9,6,18) +hasLocation(#20247,#20248) +enclosingStmt(#20247,#20243) exprContainers(#20247,#20001) -literals("soap","soap",#20247) -bind(#20247,#20239) -#20248=* -exprs(#20248,0,#20245,1,"Body") -hasLocation(#20248,#20115) -enclosingStmt(#20248,#20241) -exprContainers(#20248,#20001) -literals("Body","Body",#20248) #20249=* -stmts(#20249,2,#20001,6,"items.@[f()];") -hasLocation(#20249,#20015) -stmtContainers(#20249,#20001) +exprs(#20249,79,#20247,0,"soap") +hasLocation(#20249,#20113) +enclosingStmt(#20249,#20243) +exprContainers(#20249,#20001) +literals("soap","soap",#20249) +bind(#20249,#20241) #20250=* -exprs(#20250,14,#20249,0,"items.@[f()]") -#20251=@"loc,{#10000},7,1,7,12" -locations_default(#20251,#10000,7,1,7,12) -hasLocation(#20250,#20251) -enclosingStmt(#20250,#20249) +exprs(#20250,0,#20247,1,"Body") +hasLocation(#20250,#20117) +enclosingStmt(#20250,#20243) exprContainers(#20250,#20001) +literals("Body","Body",#20250) +#20251=* +stmts(#20251,2,#20001,6,"items.@[f()];") +hasLocation(#20251,#20015) +stmtContainers(#20251,#20001) #20252=* -exprs(#20252,79,#20250,0,"items") -hasLocation(#20252,#20119) -enclosingStmt(#20252,#20249) +exprs(#20252,14,#20251,0,"items.@[f()]") +#20253=@"loc,{#10000},7,1,7,12" +locations_default(#20253,#10000,7,1,7,12) +hasLocation(#20252,#20253) +enclosingStmt(#20252,#20251) exprContainers(#20252,#20001) -literals("items","items",#20252) -bind(#20252,#20188) -#20253=* -exprs(#20253,110,#20250,1,"@[f()]") -#20254=@"loc,{#10000},7,7,7,12" -locations_default(#20254,#10000,7,7,7,12) -hasLocation(#20253,#20254) -enclosingStmt(#20253,#20249) -exprContainers(#20253,#20001) +#20254=* +exprs(#20254,79,#20252,0,"items") +hasLocation(#20254,#20121) +enclosingStmt(#20254,#20251) +exprContainers(#20254,#20001) +literals("items","items",#20254) +bind(#20254,#20190) #20255=* -exprs(#20255,13,#20253,0,"f()") -#20256=@"loc,{#10000},7,9,7,11" -locations_default(#20256,#10000,7,9,7,11) +exprs(#20255,110,#20252,1,"@[f()]") +#20256=@"loc,{#10000},7,7,7,12" +locations_default(#20256,#10000,7,7,7,12) hasLocation(#20255,#20256) -enclosingStmt(#20255,#20249) +enclosingStmt(#20255,#20251) exprContainers(#20255,#20001) #20257=* -exprs(#20257,79,#20255,-1,"f") -hasLocation(#20257,#20127) -enclosingStmt(#20257,#20249) +exprs(#20257,13,#20255,0,"f()") +#20258=@"loc,{#10000},7,9,7,11" +locations_default(#20258,#10000,7,9,7,11) +hasLocation(#20257,#20258) +enclosingStmt(#20257,#20251) exprContainers(#20257,#20001) -literals("f","f",#20257) -#20258=@"var;{f};{#20000}" -variables(#20258,"f",#20000) -bind(#20257,#20258) #20259=* -stmts(#20259,2,#20001,7,"message.soap::[g()];") -hasLocation(#20259,#20017) -stmtContainers(#20259,#20001) -#20260=* -exprs(#20260,14,#20259,0,"message.soap::[g()]") -#20261=@"loc,{#10000},8,1,8,19" -locations_default(#20261,#10000,8,1,8,19) -hasLocation(#20260,#20261) -enclosingStmt(#20260,#20259) -exprContainers(#20260,#20001) +exprs(#20259,79,#20257,-1,"f") +hasLocation(#20259,#20129) +enclosingStmt(#20259,#20251) +exprContainers(#20259,#20001) +literals("f","f",#20259) +#20260=@"var;{f};{#20000}" +variables(#20260,"f",#20000) +bind(#20259,#20260) +#20261=* +stmts(#20261,2,#20001,7,"message.soap::[g()];") +hasLocation(#20261,#20017) +stmtContainers(#20261,#20001) #20262=* -exprs(#20262,79,#20260,0,"message") -hasLocation(#20262,#20137) -enclosingStmt(#20262,#20259) +exprs(#20262,14,#20261,0,"message.soap::[g()]") +#20263=@"loc,{#10000},8,1,8,19" +locations_default(#20263,#10000,8,1,8,19) +hasLocation(#20262,#20263) +enclosingStmt(#20262,#20261) exprContainers(#20262,#20001) -literals("message","message",#20262) -bind(#20262,#20233) -#20263=* -exprs(#20263,113,#20260,1,"soap::[g()]") -#20264=@"loc,{#10000},8,9,8,19" -locations_default(#20264,#10000,8,9,8,19) -hasLocation(#20263,#20264) -enclosingStmt(#20263,#20259) -exprContainers(#20263,#20001) +#20264=* +exprs(#20264,79,#20262,0,"message") +hasLocation(#20264,#20139) +enclosingStmt(#20264,#20261) +exprContainers(#20264,#20001) +literals("message","message",#20264) +bind(#20264,#20235) #20265=* -exprs(#20265,79,#20263,0,"soap") -hasLocation(#20265,#20141) -enclosingStmt(#20265,#20259) +exprs(#20265,113,#20262,1,"soap::[g()]") +#20266=@"loc,{#10000},8,9,8,19" +locations_default(#20266,#10000,8,9,8,19) +hasLocation(#20265,#20266) +enclosingStmt(#20265,#20261) exprContainers(#20265,#20001) -literals("soap","soap",#20265) -bind(#20265,#20239) -#20266=* -exprs(#20266,13,#20263,1,"g()") -#20267=@"loc,{#10000},8,16,8,18" -locations_default(#20267,#10000,8,16,8,18) -hasLocation(#20266,#20267) -enclosingStmt(#20266,#20259) -exprContainers(#20266,#20001) +#20267=* +exprs(#20267,79,#20265,0,"soap") +hasLocation(#20267,#20143) +enclosingStmt(#20267,#20261) +exprContainers(#20267,#20001) +literals("soap","soap",#20267) +bind(#20267,#20241) #20268=* -exprs(#20268,79,#20266,-1,"g") -hasLocation(#20268,#20147) -enclosingStmt(#20268,#20259) +exprs(#20268,13,#20265,1,"g()") +#20269=@"loc,{#10000},8,16,8,18" +locations_default(#20269,#10000,8,16,8,18) +hasLocation(#20268,#20269) +enclosingStmt(#20268,#20261) exprContainers(#20268,#20001) -literals("g","g",#20268) -#20269=@"var;{g};{#20000}" -variables(#20269,"g",#20000) -bind(#20268,#20269) #20270=* -stmts(#20270,18,#20001,8,"var e = ... ;") -#20271=@"loc,{#10000},10,1,12,9" -locations_default(#20271,#10000,10,1,12,9) -hasLocation(#20270,#20271) -stmtContainers(#20270,#20001) +exprs(#20270,79,#20268,-1,"g") +hasLocation(#20270,#20149) +enclosingStmt(#20270,#20261) +exprContainers(#20270,#20001) +literals("g","g",#20270) +#20271=@"var;{g};{#20000}" +variables(#20271,"g",#20000) +bind(#20270,#20271) #20272=* -exprs(#20272,64,#20270,0,"e = ") -#20273=@"loc,{#10000},10,5,12,8" -locations_default(#20273,#10000,10,5,12,8) +stmts(#20272,18,#20001,8,"var e = ... ;") +#20273=@"loc,{#10000},10,1,13,9" +locations_default(#20273,#10000,10,1,13,9) hasLocation(#20272,#20273) -enclosingStmt(#20272,#20270) -exprContainers(#20272,#20001) +stmtContainers(#20272,#20001) #20274=* -exprs(#20274,78,#20272,0,"e") -hasLocation(#20274,#20159) -enclosingStmt(#20274,#20270) +exprs(#20274,64,#20272,0,"e = ") +#20275=@"loc,{#10000},10,5,13,8" +locations_default(#20275,#10000,10,5,13,8) +hasLocation(#20274,#20275) +enclosingStmt(#20274,#20272) exprContainers(#20274,#20001) -literals("e","e",#20274) -decl(#20274,#20183) -#20275=* -exprs(#20275,89,#20272,1,"") -#20276=@"loc,{#10000},10,9,12,8" -locations_default(#20276,#10000,10,9,12,8) -hasLocation(#20275,#20276) -enclosingStmt(#20275,#20270) -exprContainers(#20275,#20001) +#20276=* +exprs(#20276,78,#20274,0,"e") +hasLocation(#20276,#20161) +enclosingStmt(#20276,#20272) +exprContainers(#20276,#20001) +literals("e","e",#20276) +decl(#20276,#20185) #20277=* -exprs(#20277,0,#20275,-1,"elt") -hasLocation(#20277,#20165) -enclosingStmt(#20277,#20270) +exprs(#20277,89,#20274,1,"") +#20278=@"loc,{#10000},10,9,13,8" +locations_default(#20278,#10000,10,9,13,8) +hasLocation(#20277,#20278) +enclosingStmt(#20277,#20272) exprContainers(#20277,#20001) -literals("elt","elt",#20277) -#20278=* -exprs(#20278,4,#20275,-2,"\n \n ") -hasLocation(#20278,#20169) -enclosingStmt(#20278,#20270) -exprContainers(#20278,#20001) +#20279=* +exprs(#20279,0,#20277,-1,"elt") +hasLocation(#20279,#20167) +enclosingStmt(#20279,#20272) +exprContainers(#20279,#20001) +literals("elt","elt",#20279) +#20280=* +exprs(#20280,4,#20277,-2,"\n - ",#20278) -#20279=* -entry_cfg_node(#20279,#20001) -#20280=@"loc,{#10000},1,1,1,0" -locations_default(#20280,#10000,1,1,1,0) -hasLocation(#20279,#20280) + ]]> + ",#20280) #20281=* -exit_cfg_node(#20281,#20001) -hasLocation(#20281,#20181) -successor(#20270,#20274) -successor(#20278,#20275) -successor(#20277,#20278) -successor(#20275,#20272) -successor(#20274,#20277) -successor(#20272,#20281) -successor(#20259,#20262) -successor(#20268,#20266) -successor(#20266,#20263) -successor(#20265,#20268) -successor(#20263,#20260) -successor(#20262,#20265) -successor(#20260,#20270) -successor(#20249,#20252) -successor(#20257,#20255) -successor(#20255,#20253) -successor(#20253,#20250) -successor(#20252,#20257) -successor(#20250,#20259) -successor(#20241,#20244) -successor(#20248,#20245) -successor(#20247,#20248) -successor(#20245,#20242) -successor(#20244,#20247) -successor(#20242,#20249) -successor(#20229,#20232) -successor(#20240,#20236) -successor(#20238,#20240) -successor(#20236,#20234) -successor(#20234,#20230) -successor(#20232,#20238) -successor(#20230,#20241) -successor(#20208,#20213) -successor(#20215,#20221) -successor(#20222,#20217) -successor(#20221,#20219) -successor(#20219,#20222) -#20282=* -guard_node(#20282,1,#20217) -hasLocation(#20282,#20218) -successor(#20282,#20209) +entry_cfg_node(#20281,#20001) +#20282=@"loc,{#10000},1,1,1,0" +locations_default(#20282,#10000,1,1,1,0) +hasLocation(#20281,#20282) #20283=* -guard_node(#20283,0,#20217) -hasLocation(#20283,#20218) -successor(#20283,#20227) -successor(#20217,#20282) -successor(#20217,#20283) -successor(#20228,#20223) -successor(#20227,#20225) -successor(#20225,#20228) -successor(#20223,#20209) -successor(#20214,#20211) -successor(#20213,#20214) -successor(#20211,#20215) -successor(#20209,#20229) -successor(#20200,#20203) -successor(#20207,#20205) -successor(#20205,#20201) -successor(#20203,#20207) -successor(#20201,#20208) -successor(#20192,#20197) -successor(#20199,#20193) -successor(#20198,#20195) -successor(#20197,#20198) -successor(#20195,#20199) -successor(#20193,#20200) -successor(#20184,#20187) -successor(#20191,#20189) -successor(#20189,#20185) -successor(#20187,#20191) -successor(#20185,#20192) -successor(#20279,#20184) -numlines(#10000,12,11,0) +exit_cfg_node(#20283,#20001) +hasLocation(#20283,#20183) +successor(#20272,#20276) +successor(#20280,#20277) +successor(#20279,#20280) +successor(#20277,#20274) +successor(#20276,#20279) +successor(#20274,#20283) +successor(#20261,#20264) +successor(#20270,#20268) +successor(#20268,#20265) +successor(#20267,#20270) +successor(#20265,#20262) +successor(#20264,#20267) +successor(#20262,#20272) +successor(#20251,#20254) +successor(#20259,#20257) +successor(#20257,#20255) +successor(#20255,#20252) +successor(#20254,#20259) +successor(#20252,#20261) +successor(#20243,#20246) +successor(#20250,#20247) +successor(#20249,#20250) +successor(#20247,#20244) +successor(#20246,#20249) +successor(#20244,#20251) +successor(#20231,#20234) +successor(#20242,#20238) +successor(#20240,#20242) +successor(#20238,#20236) +successor(#20236,#20232) +successor(#20234,#20240) +successor(#20232,#20243) +successor(#20210,#20215) +successor(#20217,#20223) +successor(#20224,#20219) +successor(#20223,#20221) +successor(#20221,#20224) +#20284=* +guard_node(#20284,1,#20219) +hasLocation(#20284,#20220) +successor(#20284,#20211) +#20285=* +guard_node(#20285,0,#20219) +hasLocation(#20285,#20220) +successor(#20285,#20229) +successor(#20219,#20284) +successor(#20219,#20285) +successor(#20230,#20225) +successor(#20229,#20227) +successor(#20227,#20230) +successor(#20225,#20211) +successor(#20216,#20213) +successor(#20215,#20216) +successor(#20213,#20217) +successor(#20211,#20231) +successor(#20202,#20205) +successor(#20209,#20207) +successor(#20207,#20203) +successor(#20205,#20209) +successor(#20203,#20210) +successor(#20194,#20199) +successor(#20201,#20195) +successor(#20200,#20197) +successor(#20199,#20200) +successor(#20197,#20201) +successor(#20195,#20202) +successor(#20186,#20189) +successor(#20193,#20191) +successor(#20191,#20187) +successor(#20189,#20193) +successor(#20187,#20194) +successor(#20281,#20186) +numlines(#10000,13,12,0) filetype(#10000,"javascript")