Esempio n. 1
0
 internal static void UpdateExceptionErrorRecordPosition(Exception exception, IScriptExtent extent)
 {
     if ((extent != null) && (extent != PositionUtilities.EmptyExtent))
     {
         IContainsErrorRecord record = exception as IContainsErrorRecord;
         if (record != null)
         {
             ErrorRecord    errorRecord    = record.ErrorRecord;
             InvocationInfo invocationInfo = errorRecord.InvocationInfo;
             if (invocationInfo == null)
             {
                 errorRecord.SetInvocationInfo(new InvocationInfo(null, extent));
             }
             else if ((invocationInfo.ScriptPosition == null) || (invocationInfo.ScriptPosition == PositionUtilities.EmptyExtent))
             {
                 invocationInfo.ScriptPosition = extent;
                 errorRecord.LockScriptStackTrace();
             }
         }
     }
 }