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(); } } } }