public virtual void offset(int offset, LineRecord lr) { //System.out.print(lr.module.id + " " + lr.module.name + " " + lr.lineno + " " + offset + "\n"); // NOTE: Each DebugModule coming in to this method via the // LineRecord doesn't have a unique id! // In particular, lr.module.id is 0 for all MXML files. // And the others are generated by a random number generator // that could conceivably repeat. // Therefore there is no point at even looking at the id. // Module name strings arrive here in various formats: // An MXML file (application or component) is a full path like // "C:\Royale\flash\experience\royale\apps\dev.war\checkinTest\checkinTest.mxml". // An ActionScript component or a framework package combines // a package name with a full path, as in // "custom.as.myBox: C:\Royale\flash\experience\royale\apps\dev.war\checkinTest\custom\as\myBox.as" // or // "mx.core.UIComponent: C:\Royale\flash\experience\royale\apps\dev.war\WEB-INF\flex\frameworks\mx\core\UIComponent.as". // A framework ActionScript file is a package an // Various autogenerated modules look like this: // "synthetic: checkinTest"; // "synthetic: Object.registerClass() for checkinTest"; // "synthetic: main frame 1 actions". // #include files may have non-canonical full paths like // "C:\Royale\flash\experience\royale\apps\dev.war\WEB-INF\flex\frameworks\mx\core\..\core\ComponentVersion.as" // and must be canonicalized to // "C:\Royale\flash\experience\royale\apps\dev.war\WEB-INF\flex\frameworks\mx\core\ComponentVersion.as" // so that they don't show up multiple times in an fdb file listing. /* C: The debug module name conversion is now centralized in DebugDecoder.adjustModuleName(). if (lr.module.name.indexOf(": ") < 0) { lr.module.name = FileUtils.canonicalPath(lr.module.name); //System.out.print("*** " + lr.module.name + "\n"); } */ // Don't bother to record corrupted modules if (lr.module.corrupt) return ; // If we haven't already created a DebugScript for the // module referenced by the specified LineRecord, do so. System.String name = lr.module.name; if (!debugScriptsByName.ContainsKey(name)) { module(lr.module); } // Get the DebugScript for this script. //UPGRADE_TODO: Method 'java.util.HashMap.get' was converted to 'System.Collections.Hashtable.Item' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilHashMapget_javalangObject'" DebugScript script = (DebugScript) debugScriptsByName[name]; // Create a DebugOffset for the specified lineNumber/byteOffset pair. DebugOffset debugOffset = new DebugOffset(this, lr.lineno, offset + adjust); // Attach the DebugOffset to the DebugScript it is associated with. script.debugOffsets.Add(debugOffset); }
public virtual void offset(int offset, LineRecord lr) { //System.out.print(lr.module.id + " " + lr.module.name + " " + lr.lineno + " " + offset + "\n"); // NOTE: Each DebugModule coming in to this method via the // LineRecord doesn't have a unique id! // In particular, lr.module.id is 0 for all MXML files. // And the others are generated by a random number generator // that could conceivably repeat. // Therefore there is no point at even looking at the id. // Module name strings arrive here in various formats: // An MXML file (application or component) is a full path like // "C:\Royale\flash\experience\royale\apps\dev.war\checkinTest\checkinTest.mxml". // An ActionScript component or a framework package combines // a package name with a full path, as in // "custom.as.myBox: C:\Royale\flash\experience\royale\apps\dev.war\checkinTest\custom\as\myBox.as" // or // "mx.core.UIComponent: C:\Royale\flash\experience\royale\apps\dev.war\WEB-INF\flex\frameworks\mx\core\UIComponent.as". // A framework ActionScript file is a package an // Various autogenerated modules look like this: // "synthetic: checkinTest"; // "synthetic: Object.registerClass() for checkinTest"; // "synthetic: main frame 1 actions". // #include files may have non-canonical full paths like // "C:\Royale\flash\experience\royale\apps\dev.war\WEB-INF\flex\frameworks\mx\core\..\core\ComponentVersion.as" // and must be canonicalized to // "C:\Royale\flash\experience\royale\apps\dev.war\WEB-INF\flex\frameworks\mx\core\ComponentVersion.as" // so that they don't show up multiple times in an fdb file listing. /* C: The debug module name conversion is now centralized in DebugDecoder.adjustModuleName(). * if (lr.module.name.indexOf(": ") < 0) * { * lr.module.name = FileUtils.canonicalPath(lr.module.name); * //System.out.print("*** " + lr.module.name + "\n"); * } */ // Don't bother to record corrupted modules if (lr.module.corrupt) { return; } // If we haven't already created a DebugScript for the // module referenced by the specified LineRecord, do so. System.String name = lr.module.name; if (!debugScriptsByName.ContainsKey(name)) { module(lr.module); } // Get the DebugScript for this script. //UPGRADE_TODO: Method 'java.util.HashMap.get' was converted to 'System.Collections.Hashtable.Item' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javautilHashMapget_javalangObject'" DebugScript script = (DebugScript)debugScriptsByName[name]; // Create a DebugOffset for the specified lineNumber/byteOffset pair. DebugOffset debugOffset = new DebugOffset(this, lr.lineno, offset + adjust); // Attach the DebugOffset to the DebugScript it is associated with. script.debugOffsets.Add(debugOffset); }