0)
{
// codecoverpreloadswf is first one
var s:String = stringMap[0];
stringMap = [s];
lineMap = [{}];
}
else
{
stringMap = [];
lineMap = [{}];
}
}
public function newString(file_name:String):void
{
stringMap.push(file_name);
lineMap.push({});
//trace(file_name);
}
private var s:String = "";
public function debugline(string_ids:String, linenums:String):void
{
var ids:Array = string_ids.split(" ");
var lines:Array = linenums.split(" ");
var n:int = ids.length;
for (var i:int = 0; i < n; i++)
{
++count;
if (stringMap[ids[i]] == undefined)
s += ids[i] + ':' + rightJustify(lines[i]) + "\n";
else if (lineMap[ids[i]][lines[i]] == undefined)
{
lineMap[ids[i]][lines[i]] = 1;
s += '"' + stringMap[ids[i]] + '":' + rightJustify(lines[i]) + "\n";
}
}
}
private var padding:String = " ";
private function rightJustify(num:String):String
{
var i:int = 8 - num.length;
var pad:String = padding.substr(0, i);
return pad + num;
}
private function updateStuff():void
{
if (count > 0)
{
fs.writeUTFBytes(s);
s = "";
numlines.text = count.toString();
}
}
protected function closeHandler(event:Event):void
{
mmFile.nativePath = mmPath.text;
if (!mmFile.exists)
{
Alert.show("mm.cfg not found", "Error");
return;
}
swfFile.nativePath = swfPath.text;
if (!swfFile.exists)
{
Alert.show("CodeCoveragePreloadSWF.swf not found", "Error");
return;
}
var fs:FileStream = new FileStream();
fs.open(mmFile, FileMode.UPDATE);
var text:String = fs.readUTFBytes(fs.bytesAvailable);
var lineSep:String = "\r\n";
if (text.indexOf(lineSep) == -1)
{
lineSep = "\r";
if (text.indexOf(lineSep) == -1)
{
lineSep = "\n";
}
}
var lines:Array = text.split(lineSep);
var n:int = lines.length;
for (var i:int = 0; i < n; i++)
{
if (lines[i].indexOf(PRELOAD_SWF) != -1)
{
lines.splice(i, 1);
i--;
n--;
}
}
if (lines[n - 1].length > 0)
lines.push("");
text = lines.join(lineSep);
fs.position = 0;
fs.truncate();
fs.writeUTFBytes(text);
fs.close();
}
]]>