Пример #1
0
		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);
		}
Пример #2
0
        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);
        }