Examples of errors detected by the V3008 diagnostic
V3008. The 'x' variable is assigned values twice successively. Perhaps this is a mistake.
QuantConnect Lean
V3008 The 'SessionId' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 177, 166. BacktestResultPacket.cs 177
public BacktestResultPacket(BacktestNodePacket job, BacktestResult results, DateTime endDate, DateTime startDate, decimal progress = 1m) : this() { try { Progress = Math.Round(progress, 3); SessionId = job.SessionId; // <= PeriodFinish = endDate; PeriodStart = startDate; CompileId = job.CompileId; Channel = job.Channel; BacktestId = job.BacktestId; OptimizationId = job.OptimizationId; Results = results; Name = job.Name; UserId = job.UserId; ProjectId = job.ProjectId; SessionId = job.SessionId; // <= TradeableDates = job.TradeableDates; } catch (Exception err) { Log.Error(err); } } MSBuild
V3008 The '_explicitToolsVersionSpecified' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 547, 538. ProjectInstance.cs 547
internal ProjectInstance(....) { .... _explicitToolsVersionSpecified = projectToInheritFrom._explicitToolsVersionSpecified; // <= _properties = .... _items = .... _actualTargets = .... _targets = .... _environmentVariableProperties = .... _itemDefinitions = .... _hostServices = .... _explicitToolsVersionSpecified = projectToInheritFrom._explicitToolsVersionSpecified; // <= .... } .NET 9
V3008 The 'value' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 207, 202. PInvokeCollector.cs 207
private bool HasAssemblyDisableRuntimeMarshallingAttribute(Assembly assembly) { if (!_assemblyDisableRuntimeMarshallingAttributeCache .TryGetValue(assembly, out var value)) { _assemblyDisableRuntimeMarshallingAttributeCache[assembly] = value = assembly .GetCustomAttributesData() .Any(d => d.AttributeType.Name == "DisableRuntimeMarshallingAttribute"); } value = assembly.GetCustomAttributesData() .Any(d => d.AttributeType.Name == "DisableRuntimeMarshallingAttribute"); return value; } WolvenKit
V3008 The 'path' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 82, 81. SoundModdingViewModel.cs 82
private void LoadInfo() { if (_projectManager.ActiveProject is null) { return; } var path = Path.Combine(Environment.CurrentDirectory, "Resources", "soundEvents.json"); path = Path.Combine(_projectManager.ActiveProject.ResourcesDirectory, "info.json"); if (File.Exists(path)) { .... } } WolvenKit
V3008 The 'data.Uk5' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 35, 34. CGIDataReader.cs 35
public EFileReadErrorCodes ReadBuffer(RedBuffer buffer) { .... data.Uk1 = _reader.ReadUInt32(); data.Uk2 = _reader.ReadUInt32(); data.Uk3 = _reader.ReadUInt32(); var numBrck = _reader.ReadUInt32(); var numSurf = _reader.ReadUInt32(); var numProb = _reader.ReadUInt32(); var numFact = _reader.ReadUInt32(); var numTetr = _reader.ReadUInt32(); data.Uk4 = _reader.ReadUInt32(); data.Uk5 = _reader.ReadUInt32(); data.Uk5 = _reader.ReadUInt32(); // <= data.Bounds.Min.X = _reader.ReadSingle(); .... } nopCommerce
V3008 The 'pickupPointModel.PickupFee' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 210, 203. CheckoutModelFactory.cs 210
protected virtual async Task<....> PrepareCheckoutPickupPointsModelAsync(....) { .... if (amount > 0) { (amount, _) = await _taxService.GetShippingPriceAsync(amount, customer); amount = await _currencyService.ConvertFromPrimaryStoreCurrencyAsync(amount, currentCurrency); pickupPointModel.PickupFee = await // <= _priceFormatter.FormatShippingPriceAsync(amount, true); } //adjust rate var (shippingTotal, _) = await _orderTotalCalculationService.AdjustShippingRateAsync(point.PickupFee, cart, true); var (rateBase, _) = await _taxService.GetShippingPriceAsync(shippingTotal, customer); var rate = await _currencyService.ConvertFromPrimaryStoreCurrencyAsync(rateBase, currentCurrency); pickupPointModel.PickupFee = await // <= _priceFormatter.FormatShippingPriceAsync(rate, true); .... } .NET 8
V3008 The 'ResPrec' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1689, 1685. SQLDecimal.cs 1689
public static SqlDecimal operator /(SqlDecimal x, SqlDecimal y) { .... bScaleD = x._bScale; bPrecD = x._bPrec; ResScale = Math.Max(x._bScale + y._bPrec + 1, s_cNumeDivScaleMin); ResInteger = x._bPrec - x._bScale + y._bScale; ResPrec = ResScale + x._bPrec + y._bPrec + 1; // <= MinScale = Math.Min(ResScale, s_cNumeDivScaleMin); ResInteger = Math.Min(ResInteger, s_NUMERIC_MAX_PRECISION); ResPrec = ResInteger + ResScale; // <= .... } SanAndreasUnity
V3008 The 'm_syncDictionary[key]' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 112, 108. SyncedBag.cs 112
public void SetString(string key, string value) { if (m_syncDictionary.TryGetValue(key, out string existingValue)) { if (value != existingValue) { m_syncDictionary[key] = value; } } m_syncDictionary[key] = value; } Entity Framework Core
V3008 The 'executable' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 139, 127. RootCommand.cs 139
protected override int Execute(string[] _) { .... var targetPlatformIdentifier = startupProject.TargetPlatformIdentifier!; if ( targetPlatformIdentifier.Length != 0 && !string.Equals(targetPlatformIdentifier, "Windows", ....)) { executable = Path.Combine( toolsPath, "net461", startupProject.PlatformTarget switch { "x86" => "win-x86", "ARM64" => "win-arm64", _ => "any" }, "ef.exe"); } executable = "dotnet"; args.Add("exec"); args.Add("--depsfile"); args.Add(depsFile); .... return Exe.Run(executable, args, startupProject.ProjectDir); } BTCPay Server
V3008 The 'model.StoreName' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 166, 165. GreenfieldStoresController.cs 166
private void ToModel(StoreBaseData restModel, StoreData model, ....) { var blob = model.GetStoreBlob(); model.StoreName = restModel.Name; model.StoreName = restModel.Name; model.StoreWebsite = restModel.Website; model.SpeedPolicy = restModel.SpeedPolicy; model.SetDefaultPaymentId(defaultPaymentMethod); .... } MudBlazor
V3008 The 'gridValueY' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 191, 189. Line.razor.cs 191
protected override void OnParametersSet() { if (....) { .... foreach (....) { if (firstTime) { .... gridValueY = verticalStartSpace; // <= } else { .... gridValueY = verticalStartSpace; // <= } gridValueY = yValue; // <= .... } } else { .... } .... } Bitwarden
V3008 The 'Amount' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 148, 142. BillingInfo.cs 148
public class BillingInvoice { public BillingInvoice(Invoice inv) { Amount = inv.AmountDue / 100M; // <= Date = inv.Created; Url = inv.HostedInvoiceUrl; PdfUrl = inv.InvoicePdf; Number = inv.Number; Paid = inv.Paid; Amount = inv.Total / 100M; // <= } public decimal Amount { get; set; } public DateTime? Date { get; set; } public string Url { get; set; } public string PdfUrl { get; set; } public string Number { get; set; } public bool Paid { get; set; } } Unity C# reference source code
V3008 The 'rect.y' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 370, 366. ShaderVariantCollectionInspector.cs 370
private void Draw(Rect windowRect) { var rect = new Rect(....); .... if (m_NumFilteredVariants > 0) { .... if (m_NumFilteredVariants > maxFilteredLength) { GUI.Label(....); rect.y += rect.height; } } else { GUI.Label(rect, "No variants with these keywords"); rect.y += rect.height; // <= } rect.y = windowRect.height - kMargin - kSpaceHeight – EditorGUI.kSingleLineHeight; // <= .... } Eto.Forms
V3008 The 'sz' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 296, 295. Eto.Mac64 MacConversions.cs 296
public static NSImage ToNS(this Image image, int? size = null) { .... if (size != null) { .... var sz = (float)Math.Ceiling(size.Value / mainScale); // <= sz = size.Value; // <= } .... } MonoGame
V3008 The 'r' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1309, 1307. MonoGame.Framework.DesktopGL(netstandard2.0) Inflate.cs 1309
internal int InflateFast(....) { .... if (c > e) { // if source crosses, c -= e; // wrapped copy if (q - r > 0 && e > (q - r)) { do { s.window[q++] = s.window[r++]; } while (--e != 0); } else { Array.Copy(s.window, r, s.window, q, e); q += e; r += e; e = 0; // <= } r = 0; // copy rest from start of window // <= } .... } Umbraco
V3008 The 'user' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 446, 444. UsersController.cs 446
public async Task<ActionResult<UserDisplay>> PostInviteUser(UserInvite userSave) { if (_securitySettings.UsernameIsEmail) { userSave.Username = userSave.Email; } else { var userResult = CheckUniqueUsername(userSave.Username, u => u.LastLoginDate != default || u.EmailConfirmedDate.HasValue); if (!(userResult.Result is null)) { return userResult.Result; } user = userResult.Value; } user = CheckUniqueEmail(userSave.Email, u => u.LastLoginDate != default || u.EmailConfirmedDate.HasValue); .... } Umbraco
V3008 The '_flagOutOfDateModels' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 54, 51. ModelsBuilderSettings.cs 54
public bool FlagOutOfDateModels { get => _flagOutOfDateModels; set { if (!ModelsMode.IsAuto()) { _flagOutOfDateModels = false; } _flagOutOfDateModels = value; } } DotNetNuke
V3008 The 'this.divInsertPositionRow.Visible' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 349, 348. Import.ascx.cs 349
private void DisplayNewRows() { this.divTabName.Visible = this.optMode.SelectedIndex == 0; this.divParentTab.Visible = this.optMode.SelectedIndex == 0; this.divInsertPositionRow.Visible = this.optMode.SelectedIndex == 0; this.divInsertPositionRow.Visible = this.optMode.SelectedIndex == 0; } DotNetNuke
V3008 The 'this.physicalPath' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 29, 26. FolderInfoBuilder.cs 29
public const string FOLDER_ValidFolderPath = "C:\\folder"; internal FolderInfoBuilder() { this.portalId = Constants.CONTENT_ValidPortalId; this.folderPath = Constants.FOLDER_ValidFolderRelativePath; this.physicalPath = Constants.FOLDER_ValidFolderPath; this.folderMappingID = Constants.FOLDER_ValidFolderMappingID; this.folderId = Constants.FOLDER_ValidFolderId; this.physicalPath = string.Empty; } LINQ to DB
V3008 The 'Stop' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 25, 24. TransformInfo.cs 25
public TransformInfo(Expression expression, bool stop, bool @continue) { Expression = expression; Stop = false; Stop = stop; Continue = @continue; } LINQ to DB
V3008 The 'newElement' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1320, 1315. ConvertVisitor.cs 1320
internal IQueryElement? ConvertInternal(IQueryElement? element) { .... switch (element.ElementType) { .... case QueryElementType.WithClause: { var with = (SqlWithClause)element; var clauses = ConvertSafe(with.Clauses); if (clauses != null && !ReferenceEquals(with.Clauses, clauses)) { newElement = new SqlWithClause() { Clauses = clauses }; newElement = new SqlWithClause() { Clauses = clauses }; } break; } .... } .... } PeachPie
V3008 The 'r' variable is assigned values twice successfully. Perhaps this is a mistake. Check lines: 621, 619. InfCodes.cs 621
internal int inflate_fast(....) { .... int r; .... if (c > e) { // if source crosses, c -= e; // wrapped copy if (q - r > 0 && e > (q - r)) { do { s.window[q++] = s.window[r++]; } while (--e != 0); } else { Array.Copy(s.window, r, s.window, q, e); q += e; r += e; e = 0; // <= } r = 0; // <= } .... } PeachPie
V3008 The 'st_ctime' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 78, 75. StatStruct.cs 78
internal StatStruct(Mono.Unix.Native.Stat stat) { st_dev = (uint)stat.st_dev; st_ctime = stat.st_ctime_nsec; st_mtime = stat.st_mtime_nsec; st_atime = stat.st_atime_nsec; st_ctime = stat.st_ctime; st_atime = stat.st_atime; //stat.st_blocks; //stat.st_blksize; st_mtime = stat.st_mtime; st_rdev = (uint)stat.st_rdev; st_gid = (short)stat.st_gid; st_uid = (short)stat.st_uid; st_nlink = (short)stat.st_nlink; st_mode = (FileModeFlags)stat.st_mode; st_ino = (ushort)stat.st_ino; st_size = stat.st_size; } Similar errors can be found in some other places:
- V3008 The 'st_atime' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 79, 77. StatStruct.cs 79
ONLYOFFICE Community Server
V3008 The 'key' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 244, 240. Metadata.cs 244
private byte[] GenerateKey() { var key = new byte[keyLength]; using (var deriveBytes = new Rfc2898DeriveBytes(Password, Salt, ....)) { key = deriveBytes.GetBytes(keyLength); } return key; } C#5 -> C#8
Similar errors can be found in some other places:
- V3008 The 'hmacKey' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 256, 252. Metadata.cs 256
- V3008 The 'hmacHash' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 270, 264. Metadata.cs 270
- V3008 The 'paths' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 512, 508. RackspaceCloudStorage.cs 512
- And 2 additional diagnostic messages.
QuantConnect Lean
V3008 The 'MaxOrders' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 244, 240. BacktestingSetupHandler.cs 244
public bool Setup(SetupHandlerParameters parameters) { .... if (job.UserPlan == UserPlan.Free) { MaxOrders = 10000; } else { MaxOrders = int.MaxValue; MaximumRuntime += MaximumRuntime; } MaxOrders = job.Controls.BacktestingMaxOrders; // <= .... } Similar errors can be found in some other places:
- V3008 The 'SessionId' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 182, 172. BacktestResultPacket.cs 182
Open XML SDK
V3008 The '_rawOuterXml' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 164, 161. OpenXmlElement.cs 164
internal string RawOuterXml { get => _rawOuterXml; set { if (string.IsNullOrEmpty(value)) { _rawOuterXml = string.Empty; } _rawOuterXml = value; } } OpenRA
V3008 The 'widget.Bounds.Width' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 78, 75. SpawnSelectorTooltipLogic.cs 78
public SpawnSelectorTooltipLogic(....) { .... var textWidth = ownerFont.Measure(labelText).X; if (textWidth != cachedWidth) { label.Bounds.Width = textWidth; widget.Bounds.Width = 2 * label.Bounds.X + textWidth; // <= } widget.Bounds.Width = Math.Max( // <= teamWidth + 2 * labelMargin, label.Bounds.Right + labelMargin ); team.Bounds.Width = widget.Bounds.Width; .... } Emby
V3008 The 'Chapters' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 29, 28. Title.cs 29
public Title(uint titleNum) { ProgramChains = new List<ProgramChain>(); Chapters = new List<Chapter>(); Chapters = new List<Chapter>(); TitleNumber = titleNum; } Orchard CMS
V3008 The 'content' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 197, 190. DynamicCacheTagHelper.cs 197
public override async Task ProcessAsync(....) { .... IHtmlContent content; .... try { content = await output.GetChildContentAsync(); } finally { _cacheScopeManager.ExitScope(); } content = await ProcessContentAsync(output, cacheContext); .... } Telerik UI for UWP
V3008 The 'currentColumnLength' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 791, 785. WrapLayout.cs 791
private void OnAvailableLengthChanged(double oldValue, double newValue) { .... if (....) { if (currentColumnLength > 0) { var paddingValue = Math.Max(0, newValue - currentColumnLength); this.paddingRenderInfo.Add(paddingValue); currentColumnLength = 0; // <= slotCount++; } this.ColumnSlotsRenderInfo.Update(i, newValue); this.paddingRenderInfo.Add(0); currentColumnLength = 0; // <= slotCount++; continue; } else { .... } .... } ShareX
V3008 The 'url' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 197, 196. Seafile.cs 197
public SeafileCheckAccInfoResponse GetAccountInfo() { string url = URLHelpers.FixPrefix(APIURL); url = URLHelpers.CombineURL(APIURL, "account/info/?format=json"); .... } Similar errors can be found in some other places:
- V3008 The 'url' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 93, 92. Seafile.cs 93
- V3008 The 'url' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 120, 119. Seafile.cs 120
.NET Core Libraries (CoreFX)
V3008 The '_streamSet' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 123, 119. MimePart.cs 123
internal void SetContent(Stream stream) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } if (_streamSet) { _stream.Close(); _stream = null; // <= _streamSet = false; // <= } _stream = stream; // <= _streamSet = true; // <= _streamUsedOnce = false; TransferEncoding = TransferEncoding.Base64; } AWS SDK for .NET
V3008 [CWE-563] The 'this.linker.s3.region' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 116, 114. AWSSDK.DynamoDBv2.Net45 S3Link.cs 116
public string Region { get { .... } set { if (String.IsNullOrEmpty(value)) { this.linker.s3.region = "us-east-1"; } this.linker.s3.region = value; } } Infer.NET
V3008 The 'lowerBound' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 324, 323. Runtime GaussianOp.cs 324
public static Gaussian SampleAverageConditional(....) { .... if (sample.Precision < 0) { precisionIsBetween = true; lowerBound = -1.0 / v; upperBound = -mean.Precision; } else if (sample.Precision < -mean.Precision) { precisionIsBetween = true; lowerBound = 0; upperBound = -mean.Precision; } else { precisionIsBetween = false; lowerBound = -mean.Precision; lowerBound = -1.0 / v; } .... } Unity C# reference source code
V3008 CWE-563 The 'fail' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1633, 1632. UNetWeaver.cs 1633
class Weaver { .... public static bool fail; .... static public bool IsValidTypeToGenerate(....) { .... if (....) { .... Weaver.fail = true; fail = true; return false; } return true; } .... } PascalABC.NET
V3008 The 'codeCompileUnit' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 126, 124. VisualPascalABCNET CodeDomHostLoader.cs 126
CodeCompileUnit codeCompileUnit = null; private DesignSurface Designer; .... protected override CodeCompileUnit Parse() { .... CodeCompileUnit ccu = null; DesignSurface ds = new DesignSurface(); .... ccu = cg.GetCodeCompileUnit(idh); .... codeCompileUnit = ccu; Designer = ds; codeCompileUnit = ccu; // <= .... } Similar errors can be found in some other places:
- V3008 The 'mSTEPToolStripMenuItem_Enabled' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 541, 532. VisualPascalABCNET VisibilityService.cs 541
- V3008 The variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 62, 60. NETGenerator Helpers.cs 62
- V3008 The 'loc' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 2123, 2122. TreeConverter compilation_context.cs 2123
- And 3 additional diagnostic messages.
Media Portal 2
V3008 The 'Released' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 57, 56. OmDbSeasonEpisode.cs 57
public string ReleasedStr { get { .... } set { DateTime releaseDate; if (DateTime.TryParse(value, out releaseDate)) Released = releaseDate; Released = null; // <= } } Perhaps forgot add 'else' block for 'if' statement and put 'Released = null' into them.
GitExtensions
V3008 The 'exp.ExceptionPointers' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 124, 123. NBug DumpWriter.cs 124
private static bool Write(....) { .... exp.ExceptionPointers = IntPtr.Zero; exp.ExceptionPointers = Marshal.GetExceptionPointers(); .... } Old NASA World Wind (C#)
V3008 The 'X' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 40, 38. Point3d.cs 40
public Point3d (Point3d P) { X = P.X; Y = P.Y; X = P.Z; // <= } Similar errors can be found in some other places:
- V3008 The 'this._imagePath' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 270, 263. ImageLayer.cs 270
- V3008 The 'm_PolygonFill' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1623, 1618. ShapeFileLayer.cs 1623
WPF samples by Microsoft
V3008 The 'arg' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 176, 173. CommandLine.cs 176
private object InvokMethod(....) { arg = commandLine.Substring( commandLine.IndexOf("(", StringComparison.Ordinal) + 1, commandLine.IndexOf(")", StringComparison.Ordinal) - (commandLine.IndexOf("(", StringComparison.Ordinal) + 1)); arg = commandLine.Substring( commandLine.IndexOf("(", StringComparison.Ordinal) + 1); } Samples by the Infragistics Company
V3008 The 'color' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 165, 163. BrushTool.cs 165
private static GradientStopCollection fromInterpolation(....){ .... Color color=ColorTool.FromAHSV(ahsv[0], ahsv[1], ahsv[2], ahsv[3]); color = ColorTool.FromARGBInterpolation(min, p, max[i].Color); .... } Samples by the Infragistics Company
V3008 The 'x' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 96, 95. RectEx.cs 96
public static void Normalize(....) { var x = rect.X < boundingRect.X ? boundingRect.X : rect.X; x = (rect.X + rect.Width) > boundingRect.Right ? boundingRect.X : rect.X; } Sony ATF
V3008 The 'Z' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 222, 218. Atf.Core.vs2010 QuatF.cs 222
public float X; public float Y; public float Z; public void Set(Matrix4F m) { .... ww = -0.5 * (m.M22 + m.M33); if (ww >= 0) { if (ww >= EPS2) { double wwSqrt = Math.Sqrt(ww); X = (float)wwSqrt; ww = 0.5 / wwSqrt; Y = (float)(m.M21 * ww); Z = (float)(m.M31 * ww); return; } } else { X = 0; Y = 0; Z = 1; return; } X = 0; ww = 0.5 * (1.0f - m.M33); if (ww >= EPS2) { double wwSqrt = Math.Sqrt(ww); Y = (float)wwSqrt; Z = (float)(m.M32 / (2.0 * wwSqrt)); // <= } Y = 0; Z = 1; // <= } Sony ATF
V3008 The 'Y' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 221, 217. Atf.Core.vs2010 QuatF.cs 221
public float X; public float Y; public float Z; public void Set(Matrix4F m) { .... ww = -0.5 * (m.M22 + m.M33); if (ww >= 0) { if (ww >= EPS2) { double wwSqrt = Math.Sqrt(ww); X = (float)wwSqrt; ww = 0.5 / wwSqrt; Y = (float)(m.M21 * ww); Z = (float)(m.M31 * ww); return; } } else { X = 0; Y = 0; Z = 1; return; } X = 0; ww = 0.5 * (1.0f - m.M33); if (ww >= EPS2) { double wwSqrt = Math.Sqrt(ww); Y = (float)wwSqrt; // <= Z = (float)(m.M32 / (2.0 * wwSqrt)); } Y = 0; // <= Z = 1; } .NET Compiler Platform ("Roslyn")
V3008 The 'count' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 317, 314. SymReader.cs 317
public int GetMethodsInDocument( ISymUnmanagedDocument document, int bufferLength, out int count, ....) { .... if (bufferLength > 0) { .... count = actualCount; } else { count = extentsByMethod.Length; } count = 0; return HResult.S_OK; } .NET Compiler Platform ("Roslyn")
V3008 The 'retVal' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 324, 313. DiagnosticExtensions.cs 324
public static string Stringize(this Diagnostic e) { var retVal = string.Empty; if (e.Location.IsInSource) { retVal = e.Location.SourceSpan.ToString() + ": "; } else if (e.Location.IsInMetadata) { return "metadata: "; } else { return "no location: "; } retVal = e.Severity.ToString() + " " + e.Id + ": " + e.GetMessage(CultureInfo.CurrentCulture); return retVal; } .NET Core Libraries (CoreFX)
V3008 The 'prefix' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 953, 952. XmlSerializationWriter.cs 953
protected void WriteAttribute(string localName, string ns, ....) { .... string prefix = localName.Substring(0, colon); prefix = _w.LookupPrefix(ns); _w.WriteStartAttribute(prefix, localName.Substring(colon + 1), ns); .... } .NET Core Libraries (CoreFX)
V3008 The 'ResPrec' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 1735, 1731. SQLDecimal.cs 1735
public static SqlDecimal operator /(SqlDecimal x, SqlDecimal y) { int ResPrec; .... ResPrec = ResScale + x.m_bPrec + y.m_bPrec + 1; // <= MinScale = Math.Min(ResScale, s_cNumeDivScaleMin); ResInteger = Math.Min(ResInteger, s_NUMERIC_MAX_PRECISION); ResPrec = ResInteger + ResScale; // <= if (ResPrec > s_NUMERIC_MAX_PRECISION) ResPrec = s_NUMERIC_MAX_PRECISION; .... } .NET Core Libraries (CoreFX)
V3008 The 'HResult' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 169, 166. WebSocketException.cs 169
private void SetErrorCodeOnError(int nativeError) { if (!Succeeded(nativeError)) { HResult = nativeError; } HResult = nativeError; // <= } Microsoft Code Contracts
V3008 The 'this.InsideMonitor' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 751, 749. AssertionCrawlerAnalysis.cs 751
private Data(Data state, Variable v) { this.IsReached = state.IsReached; this.InsideMonitor = state.InsideMonitor; // <= this.symbols = new List<Variable>(state.symbols) { v }; this.InsideMonitor = false; // <= } SharpDevelop
V3008 The 'ignoreDialogIdSelectedInTextEditor' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 204, 201. WixDialogDesigner.cs 204
void OpenDesigner() { try { ignoreDialogIdSelectedInTextEditor = true; WorkbenchWindow.ActiveViewContent = this; } finally { ignoreDialogIdSelectedInTextEditor = false; } } SharpDevelop
V3008 The 'clickedNode' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 105, 104. PositionedGraphNodeControl.xaml.cs 105
void PropertyExpandButton_Click(object sender, RoutedEventArgs e) { .... ContentPropertyNode clickedNode = clickedButton.DataContext as ContentPropertyNode; clickedNode = clickedButton.DataContext as ContentPropertyNode; if (clickedNode == null) .... } The code is redundant. Repeated assignment can be removed.
SharpDevelop
V3008 The 'd' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 121, 120. AddNewFileCommand.cs 121
object LoadResource(string name) { .... try { FileStream s = new FileStream(name, FileMode.Open); BinaryReader r = new BinaryReader(s); Byte[] d = new Byte[(int)s.Length]; d = r.ReadBytes((int)s.Length); s.Close(); return d; } catch (Exception ex) { .... } SharpDevelop
V3008 The 'pos' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 151, 148. CodeSnippet.cs 151
public static Snippet CreateAvalonEditSnippet( ITextEditor context, string snippetText) { .... int pos = 0; foreach (Match m in pattern.Matches(snippetText)) { if (pos < m.Index) { snippet.Elements.Add(....); pos = m.Index; // <= } snippet.Elements.Add(CreateElementForValue( context, replaceableElements, m.Groups[1].Value, m.Index, snippetText)); pos = m.Index + m.Length; // <= } .... } SharpDevelop
V3008 The 'foundInvocations' variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 211, 209. RedundantAssignmentIssue.cs 211
public override void VisitInvocationExpression( InvocationExpression methodDeclaration) { .... foundInvocations = (idExpression.Identifier == _varName); foundInvocations = true; .... } Stride
V3008 The 'Name' variable is assigned values twice successively. Perhaps this is a mistake. TexAtlas.cs 48, 43
public TexAtlas(...., TexImage atlas) : base(....) { .... Name = atlas.Name; .... Name = ""; }