diff --git a/QRCoder.Core.Tests/Generators/BestPracticesTests.cs b/QRCoder.Core.Tests/Generators/BestPracticesTests.cs index d3701ac..25afd6e 100644 --- a/QRCoder.Core.Tests/Generators/BestPracticesTests.cs +++ b/QRCoder.Core.Tests/Generators/BestPracticesTests.cs @@ -593,7 +593,15 @@ public void Base64QRCode_GetGraphic_WithIcon_ShouldReturnBase64() var b64 = new Base64QRCode(data); var icon = new SKBitmap(10, 10); - var result = b64.GetGraphic(5, SKColors.Black, SKColors.White, icon, 15, 2); + var result = b64.GetGraphic(new Base64QRCodeGraphicOptions + { + PixelsPerModule = 5, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + Icon = icon, + IconSizePercent = 15, + IconBorderWidth = 2 + }); result.ShouldNotBeNullOrEmpty(); } @@ -746,7 +754,14 @@ public void ArtQRCode_GetGraphic_WithCustomPixelSizeFactor_ShouldWork() var data = gen.CreateQrCode("Art pixel", QRCodeGenerator.ECCLevel.H); var art = new ArtQRCode(data); - var bmp = art.GetGraphic(10, SKColors.Black, SKColors.White, SKColors.Transparent, pixelSizeFactor: 0.5); + var bmp = art.GetGraphic(new ArtQRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + BackgroundSKColor = SKColors.Transparent, + PixelSizeFactor = 0.5 + }); bmp.ShouldNotBeNull(); } @@ -758,8 +773,14 @@ public void ArtQRCode_GetGraphic_FlatQuietZone_ShouldWork() var data = gen.CreateQrCode("Art flat QZ", QRCodeGenerator.ECCLevel.H); var art = new ArtQRCode(data); - var bmp = art.GetGraphic(10, SKColors.Black, SKColors.White, SKColors.Transparent, - quietZoneRenderingStyle: ArtQRCode.QuietZoneStyle.Flat); + var bmp = art.GetGraphic(new ArtQRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + BackgroundSKColor = SKColors.Transparent, + QuietZoneRenderingStyle = ArtQRCode.QuietZoneStyle.Flat + }); bmp.ShouldNotBeNull(); } @@ -772,7 +793,14 @@ public void ArtQRCode_PixelSizeFactor_GreaterThanOne_ShouldThrow() var art = new ArtQRCode(data); Should.Throw(() => - art.GetGraphic(10, SKColors.Black, SKColors.White, SKColors.Transparent, pixelSizeFactor: 1.5)); + art.GetGraphic(new ArtQRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + BackgroundSKColor = SKColors.Transparent, + PixelSizeFactor = 1.5 + })); } #endregion diff --git a/QRCoder.Core.Tests/Generators/PayloadGeneratorTests.cs b/QRCoder.Core.Tests/Generators/PayloadGeneratorTests.cs index 312b5c7..9c1c246 100644 --- a/QRCoder.Core.Tests/Generators/PayloadGeneratorTests.cs +++ b/QRCoder.Core.Tests/Generators/PayloadGeneratorTests.cs @@ -1208,9 +1208,9 @@ public void bezahlcode_generator_can_generate_payload_singlepayment_minimal() var bnc = "100205000"; var name = "Wikimedia Fördergesellschaft"; var amount = 10.00m; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount); -#pragma warning restore CS0612 +#pragma warning restore CS0618 generator .ToString() .ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00¤cy=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + ""); @@ -1227,9 +1227,9 @@ public void bezahlcode_generator_can_generate_payload_singlepayment_full() var amount = 10.00m; var postingKey = 69; Currency currency = Currency.USD; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account, bnc, amount, "", 0, null, null, reason, postingKey, currency, DateTime.Now); -#pragma warning restore CS0612 +#pragma warning restore CS0618 generator .ToString() .ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts¤cy=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + ""); @@ -1246,9 +1246,9 @@ public void bezahlcode_generator_can_generate_payload_singledirectdebit() var amount = 10.00m; var postingKey = 69; Currency currency = Currency.USD; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var generator = new PayloadGenerator.BezahlCode(AuthorityType.singledirectdebit, name, account, bnc, amount, "", 0, null, null, reason, postingKey, currency, DateTime.Now); -#pragma warning restore CS0612 +#pragma warning restore CS0618 generator .ToString() .ShouldBe("bank://singledirectdebit?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts¤cy=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + ""); @@ -1269,9 +1269,9 @@ public void bezahlcode_generator_can_generate_payload_periodicsinglepayment() var periodicFirstExecutionDate = DateTime.Now; var periodicLastExecutionDate = DateTime.Now.AddMonths(3); Currency currency = Currency.USD; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var generator = new PayloadGenerator.BezahlCode(AuthorityType.periodicsinglepayment, name, account, bnc, amount, periodicTimeunit, periodicTimeunitRotation, periodicFirstExecutionDate, periodicLastExecutionDate, reason, postingKey, currency, DateTime.Now); -#pragma warning restore CS0612 +#pragma warning restore CS0618 generator .ToString() .ShouldBe("bank://periodicsinglepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&postingkey=69&amount=10,00&reason=Thanks%20for%20all%20your%20efforts¤cy=USD&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + "&periodictimeunit=W&periodictimeunitrotation=2&periodicfirstexecutiondate=" + periodicFirstExecutionDate.ToString("ddMMyyyy") + "&periodiclastexecutiondate=" + periodicLastExecutionDate.ToString("ddMMyyyy")); @@ -1439,9 +1439,9 @@ public void bezahlcode_generator_should_handle_account_whitespaces() var bnc = "100205000"; var name = "Wikimedia Fördergesellschaft"; var amount = 10.00m; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount); -#pragma warning restore CS0612 +#pragma warning restore CS0618 generator .ToString() .ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=01194700&bnc=100205000&amount=10,00¤cy=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + ""); @@ -1455,9 +1455,9 @@ public void bezahlcode_generator_should_handle_bnc_whitespaces() var bnc = "10020 5000"; var name = "Wikimedia Fördergesellschaft"; var amount = 10.00m; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount); -#pragma warning restore CS0612 +#pragma warning restore CS0618 generator .ToString() .ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00¤cy=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + ""); @@ -1503,9 +1503,9 @@ public void bezahlcode_generator_should_add_decimals() var bnc = "10020 5000"; var name = "Wikimedia Fördergesellschaft"; var amount = 10; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var generator = new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount); -#pragma warning restore CS0612 +#pragma warning restore CS0618 generator .ToString() .ShouldBe("bank://singlepayment?name=Wikimedia%20F%C3%B6rdergesellschaft&account=001194700&bnc=100205000&amount=10,00¤cy=EUR&executiondate=" + DateTime.Now.ToString("ddMMyyyy") + ""); @@ -1518,9 +1518,9 @@ public void bezahlcode_generator_should_throw_wrong_contact_constructor_exceptio var account = "0001194700"; var bnc = "10020 5000"; var name = "Wikimedia Fördergesellschaft"; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account, bnc, "", "", "New business contact.")); -#pragma warning restore CS0612 +#pragma warning restore CS0618 Assert.NotNull(exception); Assert.IsType(exception); exception.Message.ShouldBe("The constructor without an amount may only ne used with authority types 'contact' and 'contact_v2'."); @@ -1572,9 +1572,9 @@ public void bezahlcode_generator_should_throw_wrong_nonsepa_constructor_periodic var periodicFirstExecutionDate = DateTime.Now; var periodicLastExecutionDate = DateTime.Now.AddMonths(3); Currency currency = Currency.USD; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.periodicsinglepayment, name, account, bnc, amount, periodicTimeunit, periodicTimeunitRotation, periodicFirstExecutionDate, periodicLastExecutionDate, reason, postingKey, currency, DateTime.Now)); -#pragma warning restore CS0612 +#pragma warning restore CS0618 Assert.NotNull(exception); Assert.IsType(exception); exception.Message.ShouldBe("When using 'periodicsinglepayment' as authority type, the parameters 'periodicTimeunit' and 'periodicTimeunitRotation' must be set."); @@ -1588,9 +1588,9 @@ public void bezahlcode_generator_should_throw_wrong_sepa_constructor_exception() var bic = "BFSWDE33BER"; var name = "Wikimedia Fördergesellschaft"; var amount = 10.00m; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, iban: iban, bic: bic, amount: amount)); -#pragma warning restore CS0612 +#pragma warning restore CS0618 Assert.NotNull(exception); Assert.IsType(exception); exception.Message.ShouldBe("The constructor with 'iban' and 'bic' may only be used with 'SEPA' authority types. Either choose another authority type or switch constructor."); @@ -1660,9 +1660,9 @@ public void bezahlcode_generator_should_throw_invalid_account_exception() var bnc = "100205000"; var name = "Wikimedia Fördergesellschaft"; var amount = 10.00m; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount)); -#pragma warning restore CS0612 +#pragma warning restore CS0618 Assert.NotNull(exception); Assert.IsType(exception); exception.Message.ShouldBe("The account entered isn't valid."); @@ -1676,9 +1676,9 @@ public void bezahlcode_generator_should_throw_invalid_bnc_exception() var bnc = "10020500023545626226262"; var name = "Wikimedia Fördergesellschaft"; var amount = 10.00m; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount)); -#pragma warning restore CS0612 +#pragma warning restore CS0618 Assert.NotNull(exception); Assert.IsType(exception); exception.Message.ShouldBe("The bnc entered isn't valid."); @@ -1693,9 +1693,9 @@ public void bezahlcode_generator_should_throw_invalid_postingkey_exception() var name = "Wikimedia Fördergesellschaft"; var postingKey = 101; var amount = 10.00m; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account: account, bnc: bnc, amount: amount, postingKey: postingKey)); -#pragma warning restore CS0612 +#pragma warning restore CS0618 Assert.NotNull(exception); Assert.IsType(exception); exception.Message.ShouldBe("PostingKey must be within 0 and 99."); @@ -1840,9 +1840,9 @@ public void bezahlcode_generator_should_throw_invalid_executiondate_exception() var postingKey = 69; var executionDate = new DateTime(2017, 1, 1); Currency currency = Currency.USD; -#pragma warning disable CS0612 +#pragma warning disable CS0618 var exception = Record.Exception(() => new PayloadGenerator.BezahlCode(AuthorityType.singlepayment, name, account, bnc, amount, "", 0, null, null, reason, postingKey, currency, executionDate)); -#pragma warning restore CS0612 +#pragma warning restore CS0618 Assert.NotNull(exception); Assert.IsType(exception); exception.Message.ShouldBe("Execution date must be today or in future."); diff --git a/QRCoder.Core.Tests/Renderers/ArtQRCodeRendererTests.cs b/QRCoder.Core.Tests/Renderers/ArtQRCodeRendererTests.cs index 7a145a8..d4b4bb1 100644 --- a/QRCoder.Core.Tests/Renderers/ArtQRCodeRendererTests.cs +++ b/QRCoder.Core.Tests/Renderers/ArtQRCodeRendererTests.cs @@ -31,7 +31,14 @@ public void can_create_standard_qrcode_graphic_with_custom_finder() var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var finder = new SKBitmap(15, 15); - var bmp = new ArtQRCode(data).GetGraphic(10, SKColors.Black, SKColors.White, SKColors.Transparent, finderPatternImage: finder); + var bmp = new ArtQRCode(data).GetGraphic(new ArtQRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + BackgroundSKColor = SKColors.Transparent, + FinderPatternImage = finder + }); var result = HelperFunctions.BitmapToHash(bmp); result.ShouldBe("442648a1087f78955773c261b45665c9"); @@ -43,7 +50,14 @@ public void can_create_standard_qrcode_graphic_without_quietzone() { var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); - var bmp = new ArtQRCode(data).GetGraphic(10, SKColors.Black, SKColors.White, SKColors.Transparent, drawQuietZones: false); + var bmp = new ArtQRCode(data).GetGraphic(new ArtQRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + BackgroundSKColor = SKColors.Transparent, + DrawQuietZones = false + }); var result = HelperFunctions.BitmapToHash(bmp); result.ShouldBe("4bbf0a58f3dc2c82cae0ad874da92028"); @@ -60,7 +74,7 @@ public void can_create_standard_qrcode_graphic_with_background() var result = HelperFunctions.BitmapToHash(bmp); - result.ShouldBe("b9ecef2ee7e769d17f5e00914c7452bb"); + result.ShouldBe("0ee19045007db3c29f2fc75f33906e49"); } [Fact] @@ -71,7 +85,14 @@ public void should_throw_pixelfactor_oor_exception() var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var aCode = new ArtQRCode(data); - var exception = Record.Exception(() => aCode.GetGraphic(10, SKColors.Black, SKColors.White, SKColors.Transparent, pixelSizeFactor: 2)); + var exception = Record.Exception(() => aCode.GetGraphic(new ArtQRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + BackgroundSKColor = SKColors.Transparent, + PixelSizeFactor = 2 + })); Assert.NotNull(exception); Assert.IsType(exception); exception.Message.ShouldContain("pixelSizeFactor"); diff --git a/QRCoder.Core.Tests/Renderers/QRCodeRendererTests.cs b/QRCoder.Core.Tests/Renderers/QRCodeRendererTests.cs index e6bbdfe..d23b422 100644 --- a/QRCoder.Core.Tests/Renderers/QRCodeRendererTests.cs +++ b/QRCoder.Core.Tests/Renderers/QRCodeRendererTests.cs @@ -62,7 +62,13 @@ public void can_create_qrcode_with_transparent_logo_graphic() var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); - var bmp = new QRCode(data).GetGraphic(10, SKColors.Black, SKColors.Transparent, icon: SKBitmap.Decode(System.IO.Path.Combine(HelperFunctions.GetAssemblyPath(), "assets", "noun_software-engineer_2909346.png"))); + var bmp = new QRCode(data).GetGraphic(new QRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.Transparent, + Icon = SKBitmap.Decode(System.IO.Path.Combine(HelperFunctions.GetAssemblyPath(), "assets", "noun_software-engineer_2909346.png")) + }); //Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909346 var result = HelperFunctions.BitmapToHash(bmp); result.ShouldBe("947e264401b6e4958d8c955c1e8574cb"); @@ -81,7 +87,13 @@ public void can_create_qrcode_with_non_transparent_logo_graphic() //Create QR code var gen = new QRCodeGenerator(); var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); - var bmp = new QRCode(data).GetGraphic(10, SKColors.Black, SKColors.White, icon: SKBitmap.Decode(System.IO.Path.Combine(HelperFunctions.GetAssemblyPath(), "assets", "noun_software-engineer_2909346.png"))); + var bmp = new QRCode(data).GetGraphic(new QRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + Icon = SKBitmap.Decode(System.IO.Path.Combine(HelperFunctions.GetAssemblyPath(), "assets", "noun_software-engineer_2909346.png")) + }); //Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909346 var result = HelperFunctions.BitmapToHash(bmp); @@ -103,7 +115,14 @@ public void can_create_qrcode_with_logo_and_with_transparent_border() var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var logo = SKBitmap.Decode(System.IO.Path.Combine(HelperFunctions.GetAssemblyPath(), "assets", "noun_software-engineer_2909346.png")); - var bmp = new QRCode(data).GetGraphic(10, SKColors.Black, SKColors.Transparent, icon: logo, iconBorderWidth: 6); + var bmp = new QRCode(data).GetGraphic(new QRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.Transparent, + Icon = logo, + IconBorderWidth = 6 + }); //Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909346 var result = HelperFunctions.BitmapToHash(bmp); result.ShouldBe("947e264401b6e4958d8c955c1e8574cb"); @@ -124,7 +143,14 @@ public void can_create_qrcode_with_logo_and_with_standard_border() var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var logo = SKBitmap.Decode(System.IO.Path.Combine(HelperFunctions.GetAssemblyPath(), "assets", "noun_software-engineer_2909346.png")); - var bmp = new QRCode(data).GetGraphic(10, SKColors.Black, SKColors.White, icon: logo, iconBorderWidth: 6); + var bmp = new QRCode(data).GetGraphic(new QRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.White, + Icon = logo, + IconBorderWidth = 6 + }); //Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909346 var result = HelperFunctions.BitmapToHash(bmp); result.ShouldBe("09866787899d8f4ab4bd08df75e47e55"); @@ -145,7 +171,15 @@ public void can_create_qrcode_with_logo_and_with_custom_border() var data = gen.CreateQrCode("This is a quick test! 123#?", QRCodeGenerator.ECCLevel.H); var logo = SKBitmap.Decode(System.IO.Path.Combine(HelperFunctions.GetAssemblyPath(), "assets", "noun_software-engineer_2909346.png")); - var bmp = new QRCode(data).GetGraphic(10, SKColors.Black, SKColors.Transparent, icon: logo, iconBorderWidth: 6, iconBackgroundSKColor: SKColors.DarkGreen); + var bmp = new QRCode(data).GetGraphic(new QRCodeGraphicOptions + { + PixelsPerModule = 10, + DarkSKColor = SKColors.Black, + LightSKColor = SKColors.Transparent, + Icon = logo, + IconBorderWidth = 6, + IconBackgroundSKColor = SKColors.DarkGreen + }); //Used logo is licensed under public domain. Ref.: https://thenounproject.com/Iconathon1/collection/redefining-women/?i=2909346 var result = HelperFunctions.BitmapToHash(bmp); result.ShouldBe("5e39d9e2a412dfcca26352234b0ce6da"); diff --git a/QRCoder.Core/Extensions/SKColorExtensions.cs b/QRCoder.Core/Extensions/SKColorExtensions.cs index 7967c60..e1b3152 100644 --- a/QRCoder.Core/Extensions/SKColorExtensions.cs +++ b/QRCoder.Core/Extensions/SKColorExtensions.cs @@ -27,7 +27,7 @@ public static SKColor FromHex(string hex) return SKColors.Transparent; } - hex = hex.StartsWith("#") ? hex.Substring(1) : hex; + hex = hex[0] == '#' ? hex.Substring(1) : hex; if (hex.Length == 6 || hex.Length == 8) { diff --git a/QRCoder.Core/Extensions/StringValueAttribute.cs b/QRCoder.Core/Extensions/StringValueAttribute.cs index d8e42c6..214630d 100644 --- a/QRCoder.Core/Extensions/StringValueAttribute.cs +++ b/QRCoder.Core/Extensions/StringValueAttribute.cs @@ -5,6 +5,7 @@ namespace QRCoder.Core.Extensions /// /// Used to represent a string value for a value in an enum /// + [AttributeUsage(AttributeTargets.Field)] public class StringValueAttribute : Attribute { #region Properties diff --git a/QRCoder.Core/Generators/PayloadGenerator.cs b/QRCoder.Core/Generators/PayloadGenerator.cs index 5d6a2a2..aa48820 100644 --- a/QRCoder.Core/Generators/PayloadGenerator.cs +++ b/QRCoder.Core/Generators/PayloadGenerator.cs @@ -106,6 +106,11 @@ public enum Authentication /// nopass } + + private static bool isHexStyle(string inp) + { + return Regex.IsMatch(inp, @"\A\b(0[xX])?[0-9a-fA-F]+\b\Z"); + } } /// @@ -597,6 +602,7 @@ public class ContactData : Payload /// Memo text / notes /// Organisation/Company /// Organisation/Company Title + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy constructor with many parameters")] public ContactData(ContactOutputType outputType, string firstname, string lastname, string nickname = null, string phone = null, string mobilePhone = null, string workPhone = null, string email = null, DateTime? birthday = null, string website = null, string street = null, string houseNumber = null, string city = null, string zipCode = null, string country = null, string note = null, string stateRegion = null, AddressOrder addressOrder = AddressOrder.Default, string org = null, string orgTitle = null) { this.firstname = firstname; @@ -718,6 +724,7 @@ private void AppendTelephone(StringBuilder payload, string value, string v21Pref payload.Append("\r\n"); } + [SuppressMessage("SonarAnalyzer.CSharp", "S3776", Justification = "Address formatting logic is inherently sequential")] private string BuildAddress(char separator) { if (addressOrder == AddressOrder.Default) @@ -934,6 +941,7 @@ public class SwissQrCode : Payload /// Ultimate creditor information (use only in consultation with your bank - for future use only!) /// Optional command for alternative processing mode - line 1 /// Optional command for alternative processing mode - line 2 + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy constructor with many parameters")] public SwissQrCode(Iban iban, Currency currency, Contact creditor, Reference reference, AdditionalInformation additionalInformation = null, Contact debitor = null, decimal? amount = null, DateTime? requestedDateOfPayment = null, Contact ultimateCreditor = null, string alternativeProcedure1 = null, string alternativeProcedure2 = null) { this.iban = iban; @@ -1163,8 +1171,8 @@ public SwissQrCodeReferenceException(string message, Exception inner) /// public class Iban { - private string iban; - private IbanType ibanType; + private readonly string iban; + private readonly IbanType ibanType; /// /// IBAN object with type information @@ -1266,6 +1274,7 @@ public class Contact /// Adress line 1 /// Adress line 2 [Obsolete("This constructor is deprecated. Use WithStructuredAddress instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API; retained for backward compatibility")] public Contact(string name, string country, string addressLine1, string addressLine2) : this(name, null, null, country, addressLine1, addressLine2, AddressType.CombinedAddress) { } @@ -1279,6 +1288,7 @@ public Contact(string name, string country, string addressLine1, string addressL /// Two-letter country code as defined in ISO 3166-1 /// Streetname without house number [Obsolete("This constructor is deprecated. Use WithStructuredAddress instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API; retained for backward compatibility")] public Contact(string name, string zipCode, string city, string country, string street) : this(name, zipCode, city, country, street, null, AddressType.StructuredAddress) { } @@ -1293,6 +1303,7 @@ public Contact(string name, string zipCode, string city, string country, string /// Streetname without house number /// House number [Obsolete("This constructor is deprecated. Use WithStructuredAddress instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API; retained for backward compatibility")] public Contact(string name, string zipCode, string city, string country, string street, string houseNumber) : this(name, zipCode, city, country, street, houseNumber, AddressType.StructuredAddress) { } @@ -1325,6 +1336,7 @@ public static Contact WithCombinedAddress(string name, string country, string ad return new Contact(name, null, null, country, addressLine1, addressLine2, AddressType.CombinedAddress); } + [SuppressMessage("SonarAnalyzer.CSharp", "S3776", Justification = "Validation logic is inherently sequential")] private Contact(string name, string zipCode, string city, string country, string streetOrAddressline1, string houseNumberOrAddressline2, AddressType addressType) { //Pattern extracted from https://qr-validation.iso-payments.ch as explained in https://github.com/codebude/QRCoder/issues/97 @@ -1604,6 +1616,7 @@ public class Girocode : Payload /// Beneficiary to originator information. (optional) /// Girocode version. Either 001 or 002. Default: 001. /// Encoding of the Girocode payload. Default: ISO-8859-1 + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy constructor with many parameters")] public Girocode(string iban, string bic, string name, decimal amount, string remittanceInformation = "", TypeOfRemittance typeOfRemittance = TypeOfRemittance.Unstructured, string purposeOfCreditTransfer = "", string messageToGirocodeUser = "", GirocodeVersion version = GirocodeVersion.Version1, GirocodeEncoding encoding = GirocodeEncoding.ISO_8859_1) { this.version = version; @@ -1869,6 +1882,8 @@ public BezahlCode(AuthorityType authority, string name, string iban, string bic, /// Currency (Währung) /// Execution date (Ausführungsdatum) /// Only used for internal state handdling + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy constructor with many parameters")] + [SuppressMessage("SonarAnalyzer.CSharp", "S3776", Justification = "Legacy constructor with many sequential validations")] public BezahlCode(AuthorityType authority, string name, string account, string bnc, string iban, string bic, decimal amount, string periodicTimeunit = "", int periodicTimeunitRotation = 0, DateTime? periodicFirstExecutionDate = null, DateTime? periodicLastExecutionDate = null, string creditorId = "", string mandateId = "", DateTime? dateOfSignature = null, string reason = "", int postingKey = 0, string sepaReference = "", Currency currency = Currency.EUR, DateTime? executionDate = null, int internalMode = 0) { //Loaded via "contact-constructor" @@ -1889,12 +1904,12 @@ public BezahlCode(AuthorityType authority, string name, string account, string b } else if (internalMode == 2) { -#pragma warning disable CS0612 +#pragma warning disable CS0618 if (authority != AuthorityType.periodicsinglepayment && authority != AuthorityType.singledirectdebit && authority != AuthorityType.singlepayment) throw new BezahlCodeException("The constructor with 'account' and 'bnc' may only be used with 'non SEPA' authority types. Either choose another authority type or switch constructor."); if (authority == AuthorityType.periodicsinglepayment && (string.IsNullOrEmpty(periodicTimeunit) || periodicTimeunitRotation == 0)) throw new BezahlCodeException("When using 'periodicsinglepayment' as authority type, the parameters 'periodicTimeunit' and 'periodicTimeunitRotation' must be set."); -#pragma warning restore CS0612 +#pragma warning restore CS0618 } else if (internalMode == 3) { @@ -1918,10 +1933,10 @@ public BezahlCode(AuthorityType authority, string name, string account, string b var newWayFilled = (!string.IsNullOrEmpty(iban) && !string.IsNullOrEmpty(bic)); //Non-SEPA payment types -#pragma warning disable CS0612 +#pragma warning disable CS0618 if (authority == AuthorityType.periodicsinglepayment || authority == AuthorityType.singledirectdebit || authority == AuthorityType.singlepayment || authority == AuthorityType.contact || (authority == AuthorityType.contact_v2 && oldWayFilled)) { -#pragma warning restore CS0612 +#pragma warning restore CS0618 if (string.IsNullOrEmpty(account) || !Regex.IsMatch(account.Replace(" ", ""), @"^[0-9]{1,9}$")) throw new BezahlCodeException("The account entered isn't valid."); this.account = account.Replace(" ", "").ToUpper(); @@ -1983,9 +1998,9 @@ public BezahlCode(AuthorityType authority, string name, string account, string b throw new BezahlCodeException("Execution date must be today or in future."); this.executionDate = (DateTime)executionDate; } -#pragma warning disable CS0612 +#pragma warning disable CS0618 if (authority == AuthorityType.periodicsinglepayment || authority == AuthorityType.periodicsinglepaymentsepa) -#pragma warning restore CS0612 +#pragma warning restore CS0618 { if (periodicTimeunit.ToUpper() != "M" && periodicTimeunit.ToUpper() != "W") throw new BezahlCodeException("The periodicTimeunit must be either 'M' (monthly) or 'W' (weekly)."); @@ -2022,11 +2037,12 @@ public override string ToString() return bezahlCodePayload.ToString().Trim('&'); } + [SuppressMessage("SonarAnalyzer.CSharp", "S3776", Justification = "Parameter dispatch logic is inherently sequential")] private void AppendPaymentParameters(StringBuilder payload) { -#pragma warning disable CS0612 +#pragma warning disable CS0618 if (authority == AuthorityType.periodicsinglepayment || authority == AuthorityType.singledirectdebit || authority == AuthorityType.singlepayment) -#pragma warning restore CS0612 +#pragma warning restore CS0618 { AppendParameter(payload, "account", account); AppendParameter(payload, "bnc", bnc); @@ -2043,26 +2059,26 @@ private void AppendPaymentParameters(StringBuilder payload) AppendParameter(payload, "creditorid", Uri.EscapeDataString(creditorId)); AppendParameter(payload, "mandateid", Uri.EscapeDataString(mandateId)); if (dateOfSignature != DateTime.MinValue) - AppendParameter(payload, "dateofsignature", dateOfSignature.ToString("ddMMyyyy")); + AppendParameter(payload, "dateofsignature", dateOfSignature.ToString(DateFormat)); } } AppendParameter(payload, "amount", amount.ToString("0.00").Replace(".", ",")); AppendParameter(payload, "reason", Uri.EscapeDataString(reason)); AppendParameter(payload, "currency", currency.ToString()); - AppendParameter(payload, "executiondate", executionDate.ToString("ddMMyyyy")); + AppendParameter(payload, "executiondate", executionDate.ToString(DateFormat)); -#pragma warning disable CS0612 +#pragma warning disable CS0618 if (authority == AuthorityType.periodicsinglepayment || authority == AuthorityType.periodicsinglepaymentsepa) { AppendParameter(payload, "periodictimeunit", periodicTimeunit); AppendParameter(payload, "periodictimeunitrotation", periodicTimeunitRotation.ToString()); if (periodicFirstExecutionDate != DateTime.MinValue) - AppendParameter(payload, "periodicfirstexecutiondate", periodicFirstExecutionDate.ToString("ddMMyyyy")); + AppendParameter(payload, "periodicfirstexecutiondate", periodicFirstExecutionDate.ToString(DateFormat)); if (periodicLastExecutionDate != DateTime.MinValue) - AppendParameter(payload, "periodiclastexecutiondate", periodicLastExecutionDate.ToString("ddMMyyyy")); + AppendParameter(payload, "periodiclastexecutiondate", periodicLastExecutionDate.ToString(DateFormat)); } -#pragma warning restore CS0612 +#pragma warning restore CS0618 } private void AppendContactParameters(StringBuilder payload) @@ -2822,7 +2838,8 @@ public enum AuthorityType /// /// Single payment (Überweisung) /// - [Obsolete] + [Obsolete("Legacy authority type; use singlepaymentsepa instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API enum value retained for backward compatibility")] singlepayment, /// @@ -2833,7 +2850,8 @@ public enum AuthorityType /// /// Single debit (Lastschrift) /// - [Obsolete] + [Obsolete("Legacy authority type; use singledirectdebitsepa instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API enum value retained for backward compatibility")] singledirectdebit, /// @@ -2844,7 +2862,8 @@ public enum AuthorityType /// /// Periodic payment (Dauerauftrag) /// - [Obsolete] + [Obsolete("Legacy authority type; use periodicsinglepaymentsepa instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API enum value retained for backward compatibility")] periodicsinglepayment, /// @@ -2986,6 +3005,7 @@ public class OneTimePassword : Payload /// The algorithm value. /// [Obsolete("This property is obsolete, use " + nameof(AuthAlgorithm) + " instead", false)] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API; retained for backward compatibility")] public OoneTimePasswordAuthAlgorithm Algorithm { get { return (OoneTimePasswordAuthAlgorithm)Enum.Parse(typeof(OoneTimePasswordAuthAlgorithm), AuthAlgorithm.ToString()); } @@ -3051,6 +3071,7 @@ public enum OneTimePasswordAuthAlgorithm /// Defines the oone time password auth algorithm values. /// [Obsolete("This enum is obsolete, use " + nameof(OneTimePasswordAuthAlgorithm) + " instead", false)] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API enum retained for backward compatibility")] public enum OoneTimePasswordAuthAlgorithm { /// @@ -3071,6 +3092,8 @@ public enum OoneTimePasswordAuthAlgorithm /// Returns the string representation of the current object. /// /// The string result. + [SuppressMessage("SonarAnalyzer.CSharp", "S3877", Justification = "Fail-fast for invalid enum value in ToString")] + [SuppressMessage("SonarAnalyzer.CSharp", "S3928", Justification = "InvalidOperationException is thrown without a paramName")] public override string ToString() { if (Type == OneTimePasswordAuthType.TOTP) @@ -3083,7 +3106,7 @@ public override string ToString() return HMACToString(); } - throw new ArgumentOutOfRangeException(nameof(Type), Type, "Unsupported one-time password auth type."); + throw new InvalidOperationException("Unsupported one-time password auth type."); } // Note: Issuer:Label must only contain 1 : if either of the Issuer or the Label has a : then it is invalid. @@ -3120,7 +3143,7 @@ private void ProcessCommonFields(StringBuilder sb) { if (string.IsNullOrWhiteSpace(Secret)) { - throw new ArgumentException("Secret must be a filled out base32 encoded string", nameof(Secret)); + throw new InvalidOperationException("Secret must be a filled out base32 encoded string"); } string strippedSecret = Secret.Replace(" ", ""); string escapedIssuer = null; @@ -3130,14 +3153,14 @@ private void ProcessCommonFields(StringBuilder sb) { if (Issuer.Contains(":")) { - throw new ArgumentException("Issuer must not have a ':'", nameof(Issuer)); + throw new InvalidOperationException("Issuer must not have a ':'"); } escapedIssuer = Uri.EscapeDataString(Issuer); } if (!string.IsNullOrWhiteSpace(Label) && Label.Contains(":")) { - throw new ArgumentException("Label must not have a ':'", nameof(Label)); + throw new InvalidOperationException("Label must not have a ':'"); } if (Label != null && Issuer != null) @@ -3174,10 +3197,9 @@ private void ProcessCommonFields(StringBuilder sb) public class ShadowSocksConfig : Payload { private readonly string hostname, password, tag, methodStr, parameter; - private readonly Method method; private readonly int port; - private Dictionary encryptionTexts = new Dictionary() { + private readonly Dictionary encryptionTexts = new Dictionary() { { "Chacha20IetfPoly1305", "chacha20-ietf-poly1305" }, { "Aes128Gcm", "aes-128-gcm" }, { "Aes192Gcm", "aes-192-gcm" }, @@ -3274,7 +3296,6 @@ public ShadowSocksConfig(string hostname, int port, string password, Method meth throw new ShadowSocksConfigException("Value of 'port' must be within 0 and 65535."); this.port = port; this.password = password; - this.method = method; this.methodStr = encryptionTexts[method.ToString()]; this.tag = tag; @@ -3286,7 +3307,7 @@ public ShadowSocksConfig(string hostname, int port, string password, Method meth ).ToArray()); } - private Dictionary UrlEncodeTable = new Dictionary + private readonly Dictionary UrlEncodeTable = new Dictionary { [" "] = "+", ["\0"] = "%00", @@ -3640,19 +3661,19 @@ public class SlovenianUpnQr : Payload //Keep in mind, that the ECC level has to be set to "M", version to 15 and ECI to EciMode.Iso8859_2 when generating a SlovenianUpnQr! //SlovenianUpnQr specification: https://www.upn-qr.si/uploads/files/NavodilaZaProgramerjeUPNQR.pdf - private readonly string _payerName = ""; - private readonly string _payerAddress = ""; - private readonly string _payerPlace = ""; - private readonly string _amount = ""; - private readonly string _code = ""; - private readonly string _purpose = ""; - private readonly string _deadLine = ""; - private readonly string _recipientIban = ""; - private readonly string _recipientName = ""; - private readonly string _recipientAddress = ""; - private readonly string _recipientPlace = ""; - private readonly string _recipientSiModel = ""; - private readonly string _recipientSiReference = ""; + private readonly string _payerName; + private readonly string _payerAddress; + private readonly string _payerPlace; + private readonly string _amount; + private readonly string _code; + private readonly string _purpose; + private readonly string _deadLine; + private readonly string _recipientIban; + private readonly string _recipientName; + private readonly string _recipientAddress; + private readonly string _recipientPlace; + private readonly string _recipientSiModel; + private readonly string _recipientSiReference; /// /// The version value. @@ -3692,6 +3713,7 @@ private static string LimitLength(string value, int maxLength) /// The recipient si model. /// The recipient si reference. /// The code. + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy constructor with many parameters")] public SlovenianUpnQr(string payerName, string payerAddress, string payerPlace, string recipientName, string recipientAddress, string recipientPlace, string recipientIban, string description, double amount, string recipientSiModel = "SI00", string recipientSiReference = "", string code = "OTHR") : this(payerName, payerAddress, payerPlace, recipientName, recipientAddress, recipientPlace, recipientIban, description, amount, null, recipientSiModel, recipientSiReference, code) { } @@ -3712,6 +3734,7 @@ public SlovenianUpnQr(string payerName, string payerAddress, string payerPlace, /// The recipient si model. /// The recipient si reference. /// The code. + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy constructor with many parameters")] public SlovenianUpnQr(string payerName, string payerAddress, string payerPlace, string recipientName, string recipientAddress, string recipientPlace, string recipientIban, string description, double amount, DateTime? deadline, string recipientSiModel = "SI99", string recipientSiReference = "", string code = "OTHR") { _payerName = LimitLength(payerName.Trim(), 33); @@ -4508,10 +4531,5 @@ public static bool ChecksumMod10(string digits) var checksum = (10 - remainder) % 10; return checksum == Convert.ToInt32(digits[digits.Length - 1]) - 48; } - - private static bool isHexStyle(string inp) - { - return (System.Text.RegularExpressions.Regex.IsMatch(inp, @"\A\b[0-9a-fA-F]+\b\Z") || System.Text.RegularExpressions.Regex.IsMatch(inp, @"\A\b(0[xX])?[0-9a-fA-F]+\b\Z")); - } } } diff --git a/QRCoder.Core/Generators/QRCodeGenerator.cs b/QRCoder.Core/Generators/QRCodeGenerator.cs index 8137346..83826cf 100644 --- a/QRCoder.Core/Generators/QRCodeGenerator.cs +++ b/QRCoder.Core/Generators/QRCodeGenerator.cs @@ -25,6 +25,9 @@ public class QRCodeGenerator : IDisposable private static readonly List capacityTable = CreateCapacityTable(); private static readonly List galoisField = CreateAntilogTable(); private static readonly Dictionary alphanumEncDict = CreateAlphanumEncDict(); + private const string Iso8859_1 = "ISO-8859-1"; + + private bool _disposedValue; /// /// Specifies the ECI (Extended Channel Interpretation) mode for character encoding. @@ -63,6 +66,7 @@ public QRCodeGenerator() /// The payload object containing the data to encode. /// Thrown when the payload is too large to be encoded in a QR code. /// The raw QR code data. + [SuppressMessage("SonarAnalyzer.CSharp", "S2325", Justification = "Instance method kept for backward compatibility")] public QRCodeData CreateQrCode(PayloadGenerator.Payload payload) { return GenerateQrCode(payload); @@ -75,6 +79,7 @@ public QRCodeData CreateQrCode(PayloadGenerator.Payload payload) /// The error correction level. /// Thrown when the payload is too large to be encoded in a QR code. /// The raw QR code data. + [SuppressMessage("SonarAnalyzer.CSharp", "S2325", Justification = "Instance method kept for backward compatibility")] public QRCodeData CreateQrCode(PayloadGenerator.Payload payload, ECCLevel eccLevel) { return GenerateQrCode(payload, eccLevel); @@ -91,6 +96,7 @@ public QRCodeData CreateQrCode(PayloadGenerator.Payload payload, ECCLevel eccLev /// Specifies a fixed QR code version. /// Thrown when the payload is too large to be encoded in a QR code. /// The raw QR code data. + [SuppressMessage("SonarAnalyzer.CSharp", "S2325", Justification = "Instance method kept for backward compatibility")] public QRCodeData CreateQrCode(string plainText, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1) { return GenerateQrCode(plainText, eccLevel, forceUtf8, utf8BOM, eciMode, requestedVersion); @@ -103,6 +109,7 @@ public QRCodeData CreateQrCode(string plainText, ECCLevel eccLevel, bool forceUt /// The error correction level. /// Thrown when the payload is too large to be encoded in a QR code. /// The raw QR code data. + [SuppressMessage("SonarAnalyzer.CSharp", "S2325", Justification = "Instance method kept for backward compatibility")] public QRCodeData CreateQrCode(byte[] binaryData, ECCLevel eccLevel) { return GenerateQrCode(binaryData, eccLevel); @@ -289,7 +296,13 @@ private static string GetFormatString(ECCLevel level, int maskVersion) var generator = "10100110111"; var fStrMask = "101010000010010"; - var fStr = (level == ECCLevel.L) ? "01" : (level == ECCLevel.M) ? "00" : (level == ECCLevel.Q) ? "11" : "10"; + var fStr = level switch + { + ECCLevel.L => "01", + ECCLevel.M => "00", + ECCLevel.Q => "11", + _ => "10" + }; fStr += DecToBin(maskVersion, 3); var fStrEcc = fStr.PadRight(15, '0').TrimStart('0'); while (fStrEcc.Length > 10) @@ -405,82 +418,79 @@ public static void PlaceFormat(ref QRCodeData qrCode, string formatStr) public static int MaskCode(ref QRCodeData qrCode, int version, ref List blockedModules, ECCLevel eccLevel) { - int? selectedPattern = null; - var patternScore = 0; - - var size = qrCode.ModuleMatrix.Count; - var methods = new Dictionary>(8) { - { 1, MaskPattern.Pattern1 }, {2, MaskPattern.Pattern2 }, {3, MaskPattern.Pattern3 }, {4, MaskPattern.Pattern4 }, - {5, MaskPattern.Pattern5 }, {6, MaskPattern.Pattern6 }, {7, MaskPattern.Pattern7 }, {8, MaskPattern.Pattern8 } + { 1, MaskPattern.Pattern1 }, { 2, MaskPattern.Pattern2 }, { 3, MaskPattern.Pattern3 }, { 4, MaskPattern.Pattern4 }, + { 5, MaskPattern.Pattern5 }, { 6, MaskPattern.Pattern6 }, { 7, MaskPattern.Pattern7 }, { 8, MaskPattern.Pattern8 } }; + var size = qrCode.ModuleMatrix.Count; + var selectedPattern = 0; + var patternScore = 0; + var first = true; + foreach (var pattern in methods) { - var qrTemp = new QRCodeData(version); - for (var y = 0; y < size; y++) - { - for (var x = 0; x < size; x++) - { - qrTemp.ModuleMatrix[y][x] = qrCode.ModuleMatrix[y][x]; - } - } - + var qrTemp = CopyMatrix(qrCode, size); var formatStr = GetFormatString(eccLevel, pattern.Key - 1); - ModulePlacer.PlaceFormat(ref qrTemp, formatStr); + PlaceFormat(ref qrTemp, formatStr); + if (version >= 7) { var versionString = GetVersionString(version); - ModulePlacer.PlaceVersion(ref qrTemp, versionString); + PlaceVersion(ref qrTemp, versionString); } - for (var x = 0; x < size; x++) - { - for (var y = 0; y < x; y++) - { - if (!IsBlocked(new SKRectI(x, y, 1, 1), blockedModules)) - { - qrTemp.ModuleMatrix[y][x] ^= pattern.Value(x, y); - qrTemp.ModuleMatrix[x][y] ^= pattern.Value(y, x); - } - } - - if (!IsBlocked(new SKRectI(x, x, 1, 1), blockedModules)) - { - qrTemp.ModuleMatrix[x][x] ^= pattern.Value(x, x); - } - } + ApplyMask(qrTemp, pattern.Value, blockedModules, size); var score = MaskPattern.Score(ref qrTemp); - if (!selectedPattern.HasValue || patternScore > score) + if (first || patternScore > score) { selectedPattern = pattern.Key; patternScore = score; + first = false; + } + } + + if (!first) + { + ApplyMask(qrCode, methods[selectedPattern], blockedModules, size); + return selectedPattern - 1; + } + + return 0; + } + + private static QRCodeData CopyMatrix(QRCodeData source, int size) + { + var copy = new QRCodeData(source.Version); + for (var y = 0; y < size; y++) + { + for (var x = 0; x < size; x++) + { + copy.ModuleMatrix[y][x] = source.ModuleMatrix[y][x]; } } + return copy; + } + private static void ApplyMask(QRCodeData qrCode, Func pattern, List blockedModules, int size) + { for (var x = 0; x < size; x++) { - if (selectedPattern.HasValue) + for (var y = 0; y < x; y++) { - for (var y = 0; y < x; y++) + if (!IsBlocked(new SKRectI(x, y, 1, 1), blockedModules)) { - if (!IsBlocked(new SKRectI(x, y, 1, 1), blockedModules)) - { - qrCode.ModuleMatrix[y][x] ^= methods[selectedPattern.Value](x, y); - qrCode.ModuleMatrix[x][y] ^= methods[selectedPattern.Value](y, x); - } + qrCode.ModuleMatrix[y][x] ^= pattern(x, y); + qrCode.ModuleMatrix[x][y] ^= pattern(y, x); } + } - if (!IsBlocked(new SKRectI(x, x, 1, 1), blockedModules)) - { - qrCode.ModuleMatrix[x][x] ^= methods[selectedPattern.Value](x, x); - } + if (!IsBlocked(new SKRectI(x, x, 1, 1), blockedModules)) + { + qrCode.ModuleMatrix[x][x] ^= pattern(x, x); } } - if (selectedPattern.HasValue) - return selectedPattern.Value - 1; - return 0; } public static void PlaceDataWords(ref QRCodeData qrCode, string data, ref List blockedModules) @@ -492,31 +502,36 @@ public static void PlaceDataWords(ref QRCodeData qrCode, string data, ref List= 0; x = x - 2) + + var x = size - 1; + while (x >= 0) { if (x == 6) x = 5; - for (var yMod = 1; yMod <= size; yMod++) + + var yStart = up ? size - 1 : 0; + var yEnd = up ? -1 : size; + var yStep = up ? -1 : 1; + + for (var y = yStart; y != yEnd && datawords.Count > 0; y += yStep) { - int y; - if (up) - { - y = size - yMod; - if (datawords.Count > 0 && !IsBlocked(new SKRectI(x, y, 1, 1), blockedModules)) - qrCode.ModuleMatrix[y][x] = datawords.Dequeue(); - if (datawords.Count > 0 && x > 0 && !IsBlocked(new SKRectI(x - 1, y, 1, 1), blockedModules)) - qrCode.ModuleMatrix[y][x - 1] = datawords.Dequeue(); - } - else + TryPlaceDataWord(qrCode, x, y, datawords, blockedModules); + if (x > 0) { - y = yMod - 1; - if (datawords.Count > 0 && !IsBlocked(new SKRectI(x, y, 1, 1), blockedModules)) - qrCode.ModuleMatrix[y][x] = datawords.Dequeue(); - if (datawords.Count > 0 && x > 0 && !IsBlocked(new SKRectI(x - 1, y, 1, 1), blockedModules)) - qrCode.ModuleMatrix[y][x - 1] = datawords.Dequeue(); + TryPlaceDataWord(qrCode, x - 1, y, datawords, blockedModules); } } + up = !up; + x -= 2; + } + } + + private static void TryPlaceDataWord(QRCodeData qrCode, int x, int y, Queue datawords, List blockedModules) + { + if (datawords.Count > 0 && !IsBlocked(new SKRectI(x, y, 1, 1), blockedModules)) + { + qrCode.ModuleMatrix[y][x] = datawords.Dequeue(); } } @@ -585,21 +600,23 @@ public static void PlaceAlignmentPatterns(ref QRCodeData qrCode, List ali { var alignmentPatternRect = new SKRectI(loc.X, loc.Y, 5, 5); if (blockedModules.Any(blockedRect => Intersects(alignmentPatternRect, blockedRect))) + { continue; + } - for (var x = 0; x < 5; x++) + for (var x = 0; x < 5; x++) + { + for (var y = 0; y < 5; y++) { - for (var y = 0; y < 5; y++) + if (y == 0 || y == 4 || x == 0 || x == 4 || (x == 2 && y == 2)) { - if (y == 0 || y == 4 || x == 0 || x == 4 || (x == 2 && y == 2)) - { - qrCode.ModuleMatrix[loc.Y + y][loc.X + x] = true; - } + qrCode.ModuleMatrix[loc.Y + y][loc.X + x] = true; } } - blockedModules.Add(new SKRectI(loc.X, loc.Y, 5, 5)); } + blockedModules.Add(new SKRectI(loc.X, loc.Y, 5, 5)); } + } public static void PlaceTimingPatterns(ref QRCodeData qrCode, ref List blockedModules) { @@ -635,11 +652,13 @@ public static bool Pattern1(int x, int y) return (x + y) % 2 == 0; } + [SuppressMessage("SonarAnalyzer.CSharp", "S1172", Justification = "Parameter kept for Func delegate signature")] public static bool Pattern2(int x, int y) { return y % 2 == 0; } + [SuppressMessage("SonarAnalyzer.CSharp", "S1172", Justification = "Parameter kept for Func delegate signature")] public static bool Pattern3(int x, int y) { return x % 3 == 0; @@ -813,7 +832,14 @@ private static int ScoreBalance(QRCodeData qrCode, int size) private static int GetCountIndicatorLength(int version, EncodingMode encMode) { - var versionGroup = version < 10 ? 0 : version < 27 ? 1 : 2; + int versionGroup; + if (version < 10) + versionGroup = 0; + else if (version < 27) + versionGroup = 1; + else + versionGroup = 2; + switch (encMode) { case EncodingMode.Numeric: @@ -839,8 +865,8 @@ private static bool IsUtf8(EncodingMode encoding, string plainText, bool forceUt private static bool IsValidISO(string input) { - var bytes = Encoding.GetEncoding("ISO-8859-1").GetBytes(input); - var result = Encoding.GetEncoding("ISO-8859-1").GetString(bytes); + var bytes = Encoding.GetEncoding(Iso8859_1).GetBytes(input); + var result = Encoding.GetEncoding(Iso8859_1).GetString(bytes); return String.Equals(input, result); } @@ -858,41 +884,41 @@ private static string PlainTextToBinary(string plainText, EncodingMode encMode, private static string PlainTextToBinaryNumeric(string plainText) { - var codeText = string.Empty; + var codeText = new StringBuilder(); while (plainText.Length >= 3) { var dec = Convert.ToInt32(plainText.Substring(0, 3)); - codeText += DecToBin(dec, 10); + codeText.Append(DecToBin(dec, 10)); plainText = plainText.Substring(3); } if (plainText.Length == 2) { var dec = Convert.ToInt32(plainText); - codeText += DecToBin(dec, 7); + codeText.Append(DecToBin(dec, 7)); } else if (plainText.Length == 1) { var dec = Convert.ToInt32(plainText); - codeText += DecToBin(dec, 4); + codeText.Append(DecToBin(dec, 4)); } - return codeText; + return codeText.ToString(); } private static string PlainTextToBinaryAlphanumeric(string plainText) { - var codeText = string.Empty; + var codeText = new StringBuilder(); while (plainText.Length >= 2) { var token = plainText.Substring(0, 2); var dec = alphanumEncDict[token[0]] * 45 + alphanumEncDict[token[1]]; - codeText += DecToBin(dec, 11); + codeText.Append(DecToBin(dec, 11)); plainText = plainText.Substring(2); } if (plainText.Length > 0) { - codeText += DecToBin(alphanumEncDict[plainText[0]], 6); + codeText.Append(DecToBin(alphanumEncDict[plainText[0]], 6)); } - return codeText; + return codeText.ToString(); } private static string ConvertToIso8859(string value, string Iso = "ISO-8859-2") @@ -907,24 +933,24 @@ private static string ConvertToIso8859(string value, string Iso = "ISO-8859-2") private static string PlainTextToBinaryByte(string plainText, EciMode eciMode, bool utf8BOM, bool forceUtf8) { byte[] codeBytes; - var codeText = string.Empty; + var codeText = new StringBuilder(); if (IsValidISO(plainText) && !forceUtf8) - codeBytes = Encoding.GetEncoding("ISO-8859-1").GetBytes(plainText); + codeBytes = Encoding.GetEncoding(Iso8859_1).GetBytes(plainText); else { codeBytes = eciMode switch { - EciMode.Iso8859_1 => Encoding.GetEncoding("ISO-8859-1").GetBytes(ConvertToIso8859(plainText, "ISO-8859-1")), + EciMode.Iso8859_1 => Encoding.GetEncoding(Iso8859_1).GetBytes(ConvertToIso8859(plainText, Iso8859_1)), EciMode.Iso8859_2 => Encoding.GetEncoding("ISO-8859-2").GetBytes(ConvertToIso8859(plainText, "ISO-8859-2")), _ => utf8BOM ? Encoding.UTF8.GetPreamble().Concat(Encoding.UTF8.GetBytes(plainText)).ToArray() : Encoding.UTF8.GetBytes(plainText), }; } foreach (var b in codeBytes) - codeText += DecToBin(b, 8); + codeText.Append(DecToBin(b, 8)); - return codeText; + return codeText.ToString(); } private static Polynom ConvertToAlphaNotation(Polynom poly) @@ -1014,7 +1040,8 @@ private static List CalculateECCWords(string bitString, EccInfo eccInfo) generatorPolynom.PolyItems[i].Exponent + (messagePolynom.PolyItems.Count - 1)); var leadTermSource = messagePolynom; - for (var i = 0; (leadTermSource.PolyItems.Count > 0 && leadTermSource.PolyItems[leadTermSource.PolyItems.Count - 1].Exponent > 0); i++) + var iteration = 0; + while (leadTermSource.PolyItems.Count > 0 && leadTermSource.PolyItems[leadTermSource.PolyItems.Count - 1].Exponent > 0) { if (leadTermSource.PolyItems[0].Coefficient == 0) { @@ -1023,11 +1050,13 @@ private static List CalculateECCWords(string bitString, EccInfo eccInfo) } else { - var resPoly = MultiplyGeneratorPolynomByLeadterm(generatorPolynom, ConvertToAlphaNotation(leadTermSource).PolyItems[0], i); + var resPoly = MultiplyGeneratorPolynomByLeadterm(generatorPolynom, ConvertToAlphaNotation(leadTermSource).PolyItems[0], iteration); resPoly = ConvertToDecNotation(resPoly); resPoly = XORPolynoms(leadTermSource, resPoly); leadTermSource = resPoly; } + + iteration++; } return leadTermSource.PolyItems.Select(x => DecToBin(x.Coefficient, 8)).ToList(); } @@ -1422,6 +1451,7 @@ public CodewordBlock(int groupNumber, int blockNumber, string bitString, List sb.Append("a^" + x.Coefficient + "*x^" + x.Exponent + " + ")); foreach (var polyItem in this.PolyItems) { sb.Append("a^" + polyItem.Coefficient + "*x^" + polyItem.Exponent + " + "); } - return sb.ToString().TrimEnd(new[] { ' ', '+' }); + return sb.ToString().TrimEnd(' ', '+'); } } @@ -1549,7 +1578,22 @@ public SKRectI(int x, int y, int w, int h) /// public void Dispose() { + Dispose(true); GC.SuppressFinalize(this); } + + /// + /// Releases the unmanaged resources used by this instance and optionally releases the managed resources. + /// + /// true to release both managed and unmanaged resources; false to release only unmanaged resources. + protected virtual void Dispose(bool disposing) + { + if (_disposedValue) + { + return; + } + + _disposedValue = true; + } } } diff --git a/QRCoder.Core/Models/QRCodeData.cs b/QRCoder.Core/Models/QRCodeData.cs index bb4bdf4..31033e3 100644 --- a/QRCoder.Core/Models/QRCodeData.cs +++ b/QRCoder.Core/Models/QRCodeData.cs @@ -92,7 +92,6 @@ public QRCodeData(byte[] rawData, Compression compressMode) var modules = new Queue(8 * bytes.Count); foreach (var b in bytes) { - var bArr = new BitArray(new byte[] { b }); for (int i = 7; i >= 0; i--) { modules.Enqueue((b & (1 << i)) != 0); diff --git a/QRCoder.Core/Renderers/ArtQRCode.cs b/QRCoder.Core/Renderers/ArtQRCode.cs index 7d6e81b..1096c0c 100644 --- a/QRCoder.Core/Renderers/ArtQRCode.cs +++ b/QRCoder.Core/Renderers/ArtQRCode.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics.CodeAnalysis; using SkiaSharp; using static QRCoder.Core.Renderers.ArtQRCode; using static QRCoder.Core.Generators.QRCodeGenerator; @@ -131,6 +132,8 @@ public SKBitmap GetGraphic(SKBitmap backgroundImage = null) /// Optional image that should be used instead of the default finder patterns /// QRCode graphic as bitmap [Obsolete("Use GetGraphic(ArtQRCodeGraphicOptions) instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy public API overload")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API; retained for backward compatibility")] public SKBitmap GetGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, SKColor backgroundSKColor, SKBitmap backgroundImage = null, double pixelSizeFactor = 0.8, bool drawQuietZones = true, QuietZoneStyle quietZoneRenderingStyle = QuietZoneStyle.Dotted, BackgroundImageStyle backgroundImageStyle = BackgroundImageStyle.DataAreaOnly, SKBitmap finderPatternImage = null) @@ -165,6 +168,8 @@ public SKBitmap GetGraphic(ArtQRCodeGraphicOptions options) /// Style of the background image (if set). Fill=spanning complete graphic; DataAreaOnly=Don't paint background into quietzone /// Optional image that should be used instead of the default finder patterns /// QRCode graphic as bitmap + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Internal rendering helper with closely related parameters")] + [SuppressMessage("SonarAnalyzer.CSharp", "S3776", Justification = "Rendering logic is inherently sequential")] private SKBitmap RenderGraphicCore(int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, SKColor backgroundSKColor, SKBitmap backgroundImage = null, double pixelSizeFactor = 0.8, bool drawQuietZones = true, QuietZoneStyle quietZoneRenderingStyle = QuietZoneStyle.Dotted, BackgroundImageStyle backgroundImageStyle = BackgroundImageStyle.DataAreaOnly, SKBitmap finderPatternImage = null) @@ -172,6 +177,7 @@ private SKBitmap RenderGraphicCore(int pixelsPerModule, SKColor darkSKColor, SKC if (pixelSizeFactor > 1) throw new ArgumentOutOfRangeException(nameof(pixelSizeFactor), "The parameter pixelSizeFactor must be between 0 and 1. (0-100%)"); int pixelSize = (int)Math.Min(pixelsPerModule, Math.Floor(pixelsPerModule / pixelSizeFactor)); + float pixelsPerModuleF = pixelsPerModule; var numModules = QrCodeData.ModuleMatrix.Count - (drawQuietZones ? 0 : 8); var offset = (drawQuietZones ? 0 : 4); @@ -192,44 +198,58 @@ private SKBitmap RenderGraphicCore(int pixelsPerModule, SKColor darkSKColor, SKC if (backgroundImage != null) { if (backgroundImageStyle == BackgroundImageStyle.Fill) - graphics.DrawBitmap(Resize(backgroundImage, size), 0, 0); + { + using (var resizedImage = Resize(backgroundImage, size)) + { + if (resizedImage != null) + graphics.DrawBitmap(resizedImage, 0, 0); + graphics.Flush(); + } + } else if (backgroundImageStyle == BackgroundImageStyle.DataAreaOnly) { var bgOffset = 4 - offset; - graphics.DrawBitmap(Resize(backgroundImage, size - (2 * bgOffset * pixelsPerModule)), 0 + (bgOffset * pixelsPerModule), (bgOffset * pixelsPerModule)); + var dataAreaSize = size - (int)(2f * bgOffset * pixelsPerModule); + using (var resizedImage = Resize(backgroundImage, dataAreaSize)) + { + if (resizedImage != null) + graphics.DrawBitmap(resizedImage, (float)bgOffset * pixelsPerModule, (float)bgOffset * pixelsPerModule); + graphics.Flush(); + } } } - var darkModulePixel = MakeDotPixel(pixelsPerModule, pixelSize, darkBrush); - var lightModulePixel = MakeDotPixel(pixelsPerModule, pixelSize, lightBrush); - - for (var x = 0; x < numModules; x += 1) + using (var darkModulePixel = MakeDotPixel(pixelsPerModule, pixelSize, darkBrush)) + using (var lightModulePixel = MakeDotPixel(pixelsPerModule, pixelSize, lightBrush)) { - for (var y = 0; y < numModules; y += 1) + for (var x = 0; x < numModules; x += 1) { - var rectangleF = new SKRect(x * pixelsPerModule, y * pixelsPerModule, (x + 1) * pixelsPerModule, (y + 1) * pixelsPerModule); - - var pixelIsDark = this.QrCodeData.ModuleMatrix[offset + y][offset + x]; - var solidBrush = pixelIsDark ? darkBrush : lightBrush; - var pixelImage = pixelIsDark ? darkModulePixel : lightModulePixel; - - if (!IsPartOfFinderPattern(x, y, numModules, offset)) - if (drawQuietZones && quietZoneRenderingStyle == QuietZoneStyle.Flat && IsPartOfQuietZone(x, y, numModules)) + for (var y = 0; y < numModules; y += 1) + { + var rectangleF = new SKRect(x * pixelsPerModuleF, y * pixelsPerModuleF, (x + 1) * pixelsPerModuleF, (y + 1) * pixelsPerModuleF); + + var pixelIsDark = this.QrCodeData.ModuleMatrix[offset + y][offset + x]; + var solidBrush = pixelIsDark ? darkBrush : lightBrush; + var pixelImage = pixelIsDark ? darkModulePixel : lightModulePixel; + + if (!IsPartOfFinderPattern(x, y, numModules, offset)) + if (drawQuietZones && quietZoneRenderingStyle == QuietZoneStyle.Flat && IsPartOfQuietZone(x, y, numModules)) + graphics.DrawRect(rectangleF, solidBrush); + else + graphics.DrawBitmap(pixelImage, rectangleF.Left, rectangleF.Top); + else if (finderPatternImage == null) graphics.DrawRect(rectangleF, solidBrush); - else - graphics.DrawBitmap(pixelImage, rectangleF.Left, rectangleF.Top); - else if (finderPatternImage == null) - graphics.DrawRect(rectangleF, solidBrush); + } } + if (finderPatternImage != null) + { + var finderPatternSize = 7 * pixelsPerModule; + graphics.DrawBitmap(finderPatternImage, new SKRect(0, 0, finderPatternSize, finderPatternSize)); + graphics.DrawBitmap(finderPatternImage, new SKRect(size - finderPatternSize, 0, size, finderPatternSize)); + graphics.DrawBitmap(finderPatternImage, new SKRect(0, size - finderPatternSize, finderPatternSize, size)); + } + graphics.Flush(); } - if (finderPatternImage != null) - { - var finderPatternSize = 7 * pixelsPerModule; - graphics.DrawBitmap(finderPatternImage, new SKRect(0, 0, finderPatternSize, finderPatternSize)); - graphics.DrawBitmap(finderPatternImage, new SKRect(size - finderPatternSize, 0, size, finderPatternSize)); - graphics.DrawBitmap(finderPatternImage, new SKRect(0, size - finderPatternSize, finderPatternSize, size)); - } - graphics.Flush(); } } } @@ -243,26 +263,29 @@ private SKBitmap RenderGraphicCore(int pixelsPerModule, SKColor darkSKColor, SKC /// Size of the dots /// SKColor of the pixels /// - private SKBitmap MakeDotPixel(int pixelsPerModule, int pixelSize, SKPaint brush) + private static SKBitmap MakeDotPixel(int pixelsPerModule, int pixelSize, SKPaint brush) { + SKBitmap cropped; // draw a dot - var bitmap = new SKBitmap(pixelSize, pixelSize); - using (var graphics = new SKCanvas(bitmap)) + using (var bitmap = new SKBitmap(pixelSize, pixelSize)) { - graphics.DrawCircle(pixelSize / 2, pixelSize / 2, pixelSize / 2, brush); - graphics.Flush(); - } + using (var graphics = new SKCanvas(bitmap)) + { + graphics.DrawCircle(pixelSize / 2f, pixelSize / 2f, pixelSize / 2f, brush); + graphics.Flush(); + } - var pixelWidth = Math.Min(pixelsPerModule, pixelSize); - var margin = Math.Max((pixelsPerModule - pixelWidth) / 2, 0); + var pixelWidth = Math.Min(pixelsPerModule, pixelSize); + var margin = Math.Max((pixelsPerModule - pixelWidth) / 2, 0); - // center the dot in the module and crop to stay the right size. - var cropped = new SKBitmap(pixelsPerModule, pixelsPerModule); - using (var graphics = new SKCanvas(cropped)) - { - graphics.DrawBitmap(bitmap, new SKRect(margin, margin, margin + pixelWidth, margin + pixelWidth), - new SKRect(((float)pixelSize - pixelWidth) / 2, ((float)pixelSize - pixelWidth) / 2, ((float)pixelSize + pixelWidth) / 2, ((float)pixelSize + pixelWidth) / 2)); - graphics.Flush(); + // center the dot in the module and crop to stay the right size. + cropped = new SKBitmap(pixelsPerModule, pixelsPerModule); + using (var graphics = new SKCanvas(cropped)) + { + graphics.DrawBitmap(bitmap, new SKRect(margin, margin, margin + pixelWidth, margin + pixelWidth), + new SKRect(((float)pixelSize - pixelWidth) / 2, ((float)pixelSize - pixelWidth) / 2, ((float)pixelSize + pixelWidth) / 2, ((float)pixelSize + pixelWidth) / 2)); + graphics.Flush(); + } } return cropped; @@ -275,7 +298,7 @@ private SKBitmap MakeDotPixel(int pixelsPerModule, int pixelSize, SKPaint brush) /// Y position /// Total number of modules per row /// true, if position is part of quiet zone - private bool IsPartOfQuietZone(int x, int y, int numModules) + private static bool IsPartOfQuietZone(int x, int y, int numModules) { return x < 4 || //left @@ -292,7 +315,7 @@ private bool IsPartOfQuietZone(int x, int y, int numModules) /// Total number of modules per row /// Offset in modules (usually depending on drawQuietZones parameter) /// true, if position is part of any finder pattern - private bool IsPartOfFinderPattern(int x, int y, int numModules, int offset) + private static bool IsPartOfFinderPattern(int x, int y, int numModules, int offset) { var cornerSize = 11 - offset; var outerLimitLow = (numModules - cornerSize - 1); @@ -307,34 +330,34 @@ private bool IsPartOfFinderPattern(int x, int y, int numModules, int offset) /// /// Resize to a square bitmap, but maintain the aspect ratio by padding transparently. /// - /// - /// - /// Resized image as bitmap - private SKBitmap Resize(SKBitmap image, int newSize) + /// Source image to resize. + /// Target side length of the square output. + /// Resized image as bitmap, or null if the source image is invalid. + private static SKBitmap Resize(SKBitmap image, int newSize) { - if (image == null) return null; + if (image == null || image.Width == 0 || image.Height == 0 || newSize <= 0) + return null; float scale = Math.Min((float)newSize / image.Width, (float)newSize / image.Height); - var scaledWidth = (int)(image.Width * scale); - var scaledHeight = (int)(image.Height * scale); + var scaledWidth = Math.Max(1, (int)(image.Width * scale)); + var scaledHeight = Math.Max(1, (int)(image.Height * scale)); var offsetX = (newSize - scaledWidth) / 2; var offsetY = (newSize - scaledHeight) / 2; - var scaledImage = new SKBitmap(scaledWidth, scaledHeight); - - var bm = new SKBitmap(newSize, newSize); - - using (var graphics = new SKCanvas(bm)) + using (var scaledImage = image.Resize(new SKSizeI(scaledWidth, scaledHeight), new SKSamplingOptions(SKFilterMode.Linear))) { - using (var brush = new SKPaint { Color = SKColors.Transparent, }) - { - graphics.DrawRect(new SKRect(0, 0, newSize, newSize), brush); - brush.IsAntialias = true; + if (scaledImage == null) + return null; - graphics.DrawBitmap(scaledImage, new SKRect(offsetX, offsetY, offsetX + scaledWidth, offsetY + scaledHeight)); + var bm = new SKBitmap(newSize, newSize); + using (var graphics = new SKCanvas(bm)) + { + graphics.Clear(SKColors.Transparent); + graphics.DrawBitmap(scaledImage, offsetX, offsetY); + graphics.Flush(); } + return bm; } - return bm; } /// @@ -393,6 +416,7 @@ public static class ArtQRCodeHelper /// Style of the background image (if set). Fill=spanning complete graphic; DataAreaOnly=Don't paint background into quietzone /// Optional image that should be used instead of the default finder patterns /// QRCode graphic as bitmap + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static SKBitmap GetQRCode(string plainText, int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, SKColor backgroundSKColor, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1, SKBitmap backgroundImage = null, double pixelSizeFactor = 0.8, bool drawQuietZones = true, QuietZoneStyle quietZoneRenderingStyle = QuietZoneStyle.Flat, diff --git a/QRCoder.Core/Renderers/AsciiQRCode.cs b/QRCoder.Core/Renderers/AsciiQRCode.cs index 49f4d45..f7d67e6 100644 --- a/QRCoder.Core/Renderers/AsciiQRCode.cs +++ b/QRCoder.Core/Renderers/AsciiQRCode.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Text; using static QRCoder.Core.Generators.QRCodeGenerator; @@ -99,6 +100,7 @@ public static class AsciiQRCodeHelper /// The end of line. /// The draw quiet zones. /// The string result. + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static string GetQRCode(string plainText, int pixelsPerModule, string darkSKColorString, string whiteSpaceString, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1, string endOfLine = "\n", bool drawQuietZones = true) { using (var qrGenerator = new QRCodeGenerator()) diff --git a/QRCoder.Core/Renderers/Base64QRCode.cs b/QRCoder.Core/Renderers/Base64QRCode.cs index b4bca14..e5ed419 100644 --- a/QRCoder.Core/Renderers/Base64QRCode.cs +++ b/QRCoder.Core/Renderers/Base64QRCode.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics.CodeAnalysis; using SkiaSharp; using System.IO; @@ -63,7 +64,7 @@ public sealed class Base64QRCodeGraphicOptions /// public class Base64QRCode : AbstractQRCode { - private QRCode qr; + private readonly QRCode qr; /// /// Constructor without params to be used in COM Objects connections @@ -130,25 +131,6 @@ public string GetGraphic(Base64QRCodeGraphicOptions options) : RenderGraphic(options, options.ImageType); } - private string RenderGraphic(Base64QRCodeGraphicOptions options, ImageType imgType) - { - var base64 = string.Empty; - using (SKBitmap bmp = qr.GetGraphic(new QRCodeGraphicOptions - { - PixelsPerModule = options.PixelsPerModule, - DarkSKColor = options.DarkSKColor, - LightSKColor = options.LightSKColor, - DrawQuietZones = options.DrawQuietZones, - Icon = options.Icon, - IconSizePercent = options.IconSizePercent, - IconBorderWidth = options.IconBorderWidth - })) - { - base64 = SKBitmapToBase64(bmp, imgType); - } - return base64; - } - /// /// Returns the graphic representation of the QR code. /// @@ -181,6 +163,8 @@ public string GetGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor light /// The img type. /// The string result. [Obsolete("Use GetGraphic(Base64QRCodeGraphicOptions) instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy public API overload")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API; retained for backward compatibility")] public string GetGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, SKBitmap icon, int iconSizePercent = 15, int iconBorderWidth = 6, bool drawQuietZones = true, ImageType imgType = ImageType.Png) { var base64 = string.Empty; @@ -200,7 +184,26 @@ public string GetGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor light return base64; } - private string SKBitmapToBase64(SKBitmap bmp, ImageType imgType) + private string RenderGraphic(Base64QRCodeGraphicOptions options, ImageType imgType) + { + var base64 = string.Empty; + using (SKBitmap bmp = qr.GetGraphic(new QRCodeGraphicOptions + { + PixelsPerModule = options.PixelsPerModule, + DarkSKColor = options.DarkSKColor, + LightSKColor = options.LightSKColor, + DrawQuietZones = options.DrawQuietZones, + Icon = options.Icon, + IconSizePercent = options.IconSizePercent, + IconBorderWidth = options.IconBorderWidth + })) + { + base64 = SKBitmapToBase64(bmp, imgType); + } + return base64; + } + + private static string SKBitmapToBase64(SKBitmap bmp, ImageType imgType) { var base64 = string.Empty; SKEncodedImageFormat encodedFormat = imgType switch @@ -258,6 +261,7 @@ public static class Base64QRCodeHelper /// The draw quiet zones. /// The img type. /// The string result. + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static string GetQRCode(string plainText, int pixelsPerModule, string darkSKColorHtmlHex, string lightSKColorHtmlHex, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1, bool drawQuietZones = true, ImageType imgType = ImageType.Png) { using (var qrGenerator = new QRCodeGenerator()) diff --git a/QRCoder.Core/Renderers/BitmapByteQRCode.cs b/QRCoder.Core/Renderers/BitmapByteQRCode.cs index 1a23d40..d369137 100644 --- a/QRCoder.Core/Renderers/BitmapByteQRCode.cs +++ b/QRCoder.Core/Renderers/BitmapByteQRCode.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Linq; using static QRCoder.Core.Generators.QRCodeGenerator; @@ -58,6 +59,7 @@ public byte[] GetGraphic(int pixelsPerModule, string darkSKColorHtmlHex, string /// The dark sk color rgb. /// The light sk color rgb. /// The byte[] result. + [SuppressMessage("SonarAnalyzer.CSharp", "S3776", Justification = "BMP byte rendering is inherently sequential")] public byte[] GetGraphic(int pixelsPerModule, byte[] darkSKColorRgb, byte[] lightSKColorRgb) { var sideLength = this.QrCodeData.ModuleMatrix.Count * pixelsPerModule; @@ -108,9 +110,11 @@ public byte[] GetGraphic(int pixelsPerModule, byte[] darkSKColorRgb, byte[] ligh return bmp.ToArray(); } - private byte[] HexSKColorToByteArray(string colorString) + private static byte[] HexSKColorToByteArray(string colorString) { - if (colorString.StartsWith("#")) + if (string.IsNullOrEmpty(colorString)) + throw new ArgumentException("Color string cannot be null or empty.", nameof(colorString)); + if (colorString[0] == '#') colorString = colorString.Substring(1); byte[] byteSKColor = new byte[colorString.Length / 2]; for (int i = 0; i < byteSKColor.Length; i++) @@ -118,7 +122,7 @@ private byte[] HexSKColorToByteArray(string colorString) return byteSKColor; } - private byte[] IntTo4Byte(int inp) + private static byte[] IntTo4Byte(int inp) { byte[] bytes = new byte[2]; unchecked @@ -138,6 +142,7 @@ public static class SKBitmapByteQRCodeHelper /// /// Generates a QR code from the given data and returns the rendered output. /// + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static byte[] GetQRCode(string plainText, int pixelsPerModule, string darkSKColorHtmlHex, string lightSKColorHtmlHex, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1) diff --git a/QRCoder.Core/Renderers/PdfByteQRCode.cs b/QRCoder.Core/Renderers/PdfByteQRCode.cs index 31a14a1..17d7300 100644 --- a/QRCoder.Core/Renderers/PdfByteQRCode.cs +++ b/QRCoder.Core/Renderers/PdfByteQRCode.cs @@ -1,6 +1,7 @@ using SkiaSharp; using System; using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; @@ -58,6 +59,7 @@ public byte[] GetGraphic(int pixelsPerModule) /// /// /// + [SuppressMessage("SonarAnalyzer.CSharp", "S1192", Justification = "PDF literal fragments reused in PDF generation")] public byte[] GetGraphic(int pixelsPerModule, string darkSKColorHtmlHex, string lightSKColorHtmlHex, int dpi = 150, long jpgQuality = 85) { byte[] jpgArray = null, pngArray = null; @@ -211,9 +213,11 @@ public byte[] GetGraphic(int pixelsPerModule, string darkSKColorHtmlHex, string /// /// SKColor in HEX format like #ffffff /// - private byte[] HexSKColorToByteArray(string colorString) + private static byte[] HexSKColorToByteArray(string colorString) { - if (colorString.StartsWith("#")) + if (string.IsNullOrEmpty(colorString)) + throw new ArgumentException("Color string cannot be null or empty.", nameof(colorString)); + if (colorString[0] == '#') colorString = colorString.Substring(1); byte[] byteSKColor = new byte[colorString.Length / 2]; for (int i = 0; i < byteSKColor.Length; i++) @@ -231,6 +235,7 @@ public static class PdfByteQRCodeHelper /// /// Generates a QR code from the given data and returns the rendered output. /// + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static byte[] GetQRCode(string plainText, int pixelsPerModule, string darkSKColorHtmlHex, string lightSKColorHtmlHex, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1) diff --git a/QRCoder.Core/Renderers/PngByteQRCode.cs b/QRCoder.Core/Renderers/PngByteQRCode.cs index 94c060e..bd3c0ee 100644 --- a/QRCoder.Core/Renderers/PngByteQRCode.cs +++ b/QRCoder.Core/Renderers/PngByteQRCode.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics.CodeAnalysis; using System.IO; using System.IO.Compression; using static QRCoder.Core.Generators.QRCodeGenerator; @@ -344,6 +345,7 @@ public static class PngByteQRCodeHelper /// The requested version. /// The draw quiet zones. /// The byte[] result. + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static byte[] GetQRCode(string plainText, int pixelsPerModule, byte[] darkSKColorRgba, byte[] lightSKColorRgba, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1, bool drawQuietZones = true) { using (var qrGenerator = new QRCodeGenerator()) diff --git a/QRCoder.Core/Renderers/PostscriptQRCode.cs b/QRCoder.Core/Renderers/PostscriptQRCode.cs index aceff4f..a1b3936 100644 --- a/QRCoder.Core/Renderers/PostscriptQRCode.cs +++ b/QRCoder.Core/Renderers/PostscriptQRCode.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Text; using QRCoder.Core.Extensions; @@ -153,7 +154,7 @@ public string GetGraphic(Size viewBox, SKColor darkSKColor, SKColor lightSKColor return sb.ToString(); } - private string CleanSvgVal(double input) + private static string CleanSvgVal(double input) { return input.ToString("G7", CultureInfo.InvariantCulture); } @@ -295,6 +296,7 @@ public static class PostscriptQRCodeHelper /// Draw quiet zones. /// Return EPS format instead of plain PostScript. /// PostScript or EPS string. + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static string GetQRCode(string plainText, int pointsPerModule, string darkSKColorHex, string lightSKColorHex, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1, bool drawQuietZones = true, bool epsFormat = false) { using (var qrGenerator = new QRCodeGenerator()) diff --git a/QRCoder.Core/Renderers/QRCode.cs b/QRCoder.Core/Renderers/QRCode.cs index 7ab7890..1d620b5 100644 --- a/QRCoder.Core/Renderers/QRCode.cs +++ b/QRCoder.Core/Renderers/QRCode.cs @@ -1,4 +1,5 @@ using System; +using System.Diagnostics.CodeAnalysis; using SkiaSharp; using static QRCoder.Core.Generators.QRCodeGenerator; @@ -135,8 +136,20 @@ public SKBitmap GetGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor lig /// The pixels per module. /// The dark sk color. /// The light sk color. + /// The icon. + /// The icon size percent. + /// The icon border width. /// The draw quiet zones. + /// The icon background sk color. /// The sk bitmap result. + [Obsolete("Use GetGraphic(QRCodeGraphicOptions) instead.")] + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Legacy public API overload")] + [SuppressMessage("SonarAnalyzer.CSharp", "S1133", Justification = "Public API; retained for backward compatibility")] + public SKBitmap GetGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, SKBitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 0, bool drawQuietZones = true, SKColor? iconBackgroundSKColor = null) + { + return RenderGraphic(pixelsPerModule, darkSKColor, lightSKColor, icon, iconSizePercent, iconBorderWidth, drawQuietZones, iconBackgroundSKColor); + } + private SKBitmap RenderGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, bool drawQuietZones = true) { var size = (this.QrCodeData.ModuleMatrix.Count - (drawQuietZones ? 0 : 8)) * pixelsPerModule; @@ -164,6 +177,7 @@ private SKBitmap RenderGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor return bmp; } + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Internal rendering helper with closely related parameters")] private SKBitmap RenderGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, SKBitmap icon, int iconSizePercent, int iconBorderWidth, bool drawQuietZones, SKColor? iconBackgroundSKColor) { var size = (this.QrCodeData.ModuleMatrix.Count - (drawQuietZones ? 0 : 8)) * pixelsPerModule; @@ -191,24 +205,7 @@ private SKBitmap RenderGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor if (drawIconFlag) { - float iconDestWidth = iconSizePercent * bmp.Width / 100f; - float iconDestHeight = drawIconFlag ? iconDestWidth * icon.Height / icon.Width : 0; - float iconX = (bmp.Width - iconDestWidth) / 2; - float iconY = (bmp.Height - iconDestHeight) / 2; - var centerDest = new SKRect(iconX - iconBorderWidth, iconY - iconBorderWidth, iconX - iconBorderWidth + iconDestWidth + iconBorderWidth * 2, iconY - iconBorderWidth + iconDestHeight + iconBorderWidth * 2); - var iconDestRect = new SKRect(iconX, iconY, iconX + iconDestWidth, iconY + iconDestHeight); - var iconBgBrush = iconBackgroundSKColor != null ? new SKPaint { Color = (SKColor)iconBackgroundSKColor } : lightBrush; - if (iconBorderWidth > 0) - { - using (var iconPath = CreateRoundedSKRectIPath(centerDest, iconBorderWidth * 2)) - { - gfx.DrawPath(iconPath, iconBgBrush); - } - } - using (var iconImage = SKImage.FromBitmap(icon)) - { - gfx.DrawImage(iconImage, iconDestRect, new SKRect(0, 0, icon.Width, icon.Height)); - } + DrawIcon(gfx, bmp, icon, iconSizePercent, iconBorderWidth, iconBackgroundSKColor, lightBrush); } gfx.Save(); @@ -217,25 +214,31 @@ private SKBitmap RenderGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor return bmp; } - /// - /// Returns the graphic representation of the QR code. - /// - /// The pixels per module. - /// The dark sk color. - /// The light sk color. - /// The icon. - /// The icon size percent. - /// The icon border width. - /// The draw quiet zones. - /// The icon background sk color. - /// The sk bitmap result. - [Obsolete("Use GetGraphic(QRCodeGraphicOptions) instead.")] - public SKBitmap GetGraphic(int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, SKBitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 0, bool drawQuietZones = true, SKColor? iconBackgroundSKColor = null) + private static void DrawIcon(SKCanvas gfx, SKBitmap bmp, SKBitmap icon, int iconSizePercent, int iconBorderWidth, SKColor? iconBackgroundSKColor, SKPaint lightBrush) { - return RenderGraphic(pixelsPerModule, darkSKColor, lightSKColor, icon, iconSizePercent, iconBorderWidth, drawQuietZones, iconBackgroundSKColor); + float iconDestWidth = iconSizePercent * (float)bmp.Width / 100f; + float iconDestHeight = iconDestWidth * (float)icon.Height / (float)icon.Width; + float iconX = ((float)bmp.Width - iconDestWidth) / 2; + float iconY = ((float)bmp.Height - iconDestHeight) / 2; + var centerDest = new SKRect(iconX - iconBorderWidth, iconY - iconBorderWidth, iconX - iconBorderWidth + iconDestWidth + iconBorderWidth * 2f, iconY - iconBorderWidth + iconDestHeight + iconBorderWidth * 2f); + var iconDestRect = new SKRect(iconX, iconY, iconX + iconDestWidth, iconY + iconDestHeight); + using (var iconBgBrush = iconBackgroundSKColor != null ? new SKPaint { Color = (SKColor)iconBackgroundSKColor } : null) + { + if (iconBorderWidth > 0) + { + using (var iconPath = CreateRoundedSKRectIPath(centerDest, iconBorderWidth * 2)) + { + gfx.DrawPath(iconPath, iconBgBrush ?? lightBrush); + } + } + using (var iconImage = SKImage.FromBitmap(icon)) + { + gfx.DrawImage(iconImage, iconDestRect, new SKRect(0, 0, icon.Width, icon.Height)); + } + } } - internal SKPath CreateRoundedSKRectIPath(SKRect rect, int cornerRadius) + internal static SKPath CreateRoundedSKRectIPath(SKRect rect, int cornerRadius) { var roundedRect = new SKPath(); roundedRect.AddArc(new SKRect(rect.Left, rect.Top, rect.Left + cornerRadius * 2, rect.Top + cornerRadius * 2), 180, 90); @@ -292,6 +295,7 @@ public static class QRCodeHelper /// /// GetQRCode /// + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static SKBitmap GetQRCode(string plainText, int pixelsPerModule, SKColor darkSKColor, SKColor lightSKColor, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1, SKBitmap icon = null, int iconSizePercent = 15, int iconBorderWidth = 0, bool drawQuietZones = true) { using (var qrGenerator = new QRCodeGenerator()) diff --git a/QRCoder.Core/Renderers/SvgQRCode.cs b/QRCoder.Core/Renderers/SvgQRCode.cs index cb1f05b..9446884 100644 --- a/QRCoder.Core/Renderers/SvgQRCode.cs +++ b/QRCoder.Core/Renderers/SvgQRCode.cs @@ -1,6 +1,7 @@ using QRCoder.Core.Extensions; using System; using System.Collections; +using System.Diagnostics.CodeAnalysis; using SkiaSharp; using System.Text; using static QRCoder.Core.Generators.QRCodeGenerator; @@ -116,6 +117,7 @@ public string GetGraphic(Size viewBox, SKColor darkSKColor, SKColor lightSKColor /// Defines if width/height or viewbox should be used for size definition /// A (optional) logo to be rendered on the code (either SKBitmap or SVG) /// SVG as string + [SuppressMessage("SonarAnalyzer.CSharp", "S3776", Justification = "SVG rendering is inherently sequential")] public string GetGraphic(Size viewBox, string darkSKColorHex, string lightSKColorHex, bool drawQuietZones = true, SizingMode sizingMode = SizingMode.WidthHeightAttribute, SvgLogo logo = null) { int offset = drawQuietZones ? 0 : 4; @@ -222,12 +224,15 @@ public string GetGraphic(Size viewBox, string darkSKColorHex, string lightSKColo return svgFile.ToString(); } - private bool IsBlockedByLogo(double x, double y, ImageAttributes? attr, double pixelPerModule) + private static bool IsBlockedByLogo(double x, double y, ImageAttributes? attr, double pixelPerModule) { + if (!attr.HasValue) + return false; + return x + pixelPerModule >= attr.Value.X && x <= attr.Value.X + attr.Value.Width && y + pixelPerModule >= attr.Value.Y && y <= attr.Value.Y + attr.Value.Height; } - private ImageAttributes GetLogoAttributes(SvgLogo logo, Size viewBox) + private static ImageAttributes GetLogoAttributes(SvgLogo logo, Size viewBox) { var imgWidth = logo.GetIconSizePercent() / 100d * viewBox.Width; var imgHeight = logo.GetIconSizePercent() / 100d * viewBox.Height; @@ -250,7 +255,7 @@ private struct ImageAttributes public double Y; } - private string CleanSvgVal(double input) + private static string CleanSvgVal(double input) { //Clean double values for international use/formats //We use explicitly "G15" to avoid differences between .NET full and Core platforms @@ -278,12 +283,12 @@ public enum SizingMode /// public class SvgLogo { - private string _logoData; - private MediaType _mediaType; - private int _iconSizePercent; - private bool _fillLogoBackground; - private object _logoRaw; - private bool _isEmbedded; + private readonly string _logoData; + private readonly MediaType _mediaType; + private readonly int _iconSizePercent; + private readonly bool _fillLogoBackground; + private readonly object _logoRaw; + private readonly bool _isEmbedded; /// /// Create a logo object to be used in SvgQRCode renderer @@ -383,7 +388,7 @@ public bool FillLogoBackground() /// /// Media types for SvgLogos /// - public enum MediaType : int + public enum MediaType { /// /// png. @@ -421,6 +426,7 @@ public static class SvgQRCodeHelper /// The sizing mode. /// The logo. /// The string result. + [SuppressMessage("SonarAnalyzer.CSharp", "S107", Justification = "Convenience helper with many optional parameters")] public static string GetQRCode(string plainText, int pixelsPerModule, string darkSKColorHex, string lightSKColorHex, ECCLevel eccLevel, bool forceUtf8 = false, bool utf8BOM = false, EciMode eciMode = EciMode.Default, int requestedVersion = -1, bool drawQuietZones = true, SizingMode sizingMode = SizingMode.WidthHeightAttribute, SvgLogo logo = null) { using (var qrGenerator = new QRCodeGenerator()) diff --git a/qodana.sarif.json b/qodana.sarif.json new file mode 100644 index 0000000..f32160c --- /dev/null +++ b/qodana.sarif.json @@ -0,0 +1,144877 @@ +{ + "$schema": "https://schemastore.azurewebsites.net/schemas/json/sarif-2.1.0-rtm.6.json", + "version": "2.1.0", + "runs": [ + { + "tool": { + "driver": { + "name": "QDNETC", + "organization": "JetBrains, Inc", + "fullName": "Qodana Community for .NET", + "version": "2026.1.515", + "semanticVersion": "261.0.20260607.153749", + "informationUri": "http://www.jetbrains.com/resharper/features/command-line.html", + "rules": [ + { + "id": "AccessRightsInText", + "shortDescription": { + "text": "Cannot access symbol in text argument" + }, + "fullDescription": { + "text": "Cannot access symbol in text argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AccessToDisposedClosure", + "shortDescription": { + "text": "Access to disposed captured variable" + }, + "fullDescription": { + "text": "Access to captured variable from anonymous method when the variable is disposed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AccessToDisposedClosure.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AccessToDisposedClosure.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AccessToForEachVariableInClosure", + "shortDescription": { + "text": "Access to foreach variable in closure" + }, + "fullDescription": { + "text": "This code can have different behavior when compiled with different versions of compiler. See changes for 'foreach' loop in C# 5.0 and Visual Basic 11." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AccessToForEachVariableInClosure.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AccessToForEachVariableInClosure.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AccessToModifiedClosure", + "shortDescription": { + "text": "Access to modified captured variable" + }, + "fullDescription": { + "text": "Access to captured variable from anonymous method when the variable is modified externally" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AccessToModifiedClosure.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AccessToModifiedClosure.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AccessToStaticMemberViaDerivedType", + "shortDescription": { + "text": "Access to a static member of a type via a derived type" + }, + "fullDescription": { + "text": "Access to a static member of a type via a derived type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AccessToStaticMemberViaDerivedType.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AccessToStaticMemberViaDerivedType.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AddressOfMarshalByRefObject", + "shortDescription": { + "text": "Captured field reference of a marshal-by-reference class may cause a runtime exception" + }, + "fullDescription": { + "text": "Captured field reference of a marshal-by-reference class may cause a runtime exception" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AllUnderscoreLocalParameterName", + "shortDescription": { + "text": "Potentially misleading parameter name in lambda or local function" + }, + "fullDescription": { + "text": "A name that consists of the '_' characters can be misleading for parameters that have usages, because such names are typically reserved for unused parameters" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AllUnderscoreLocalParameterName.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AllUnderscoreLocalParameterName.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularHtml.Banana", + "shortDescription": { + "text": "'Banana in a box' [()] violation in Angular 2 binding" + }, + "fullDescription": { + "text": "Angular 2 requires parentheses inside brackets for two-direction bindings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "Angular2HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnnotateCanBeNullParameter", + "shortDescription": { + "text": "Declaration nullability inferred: Parameter is inferred to be nullable" + }, + "fullDescription": { + "text": "[EXPERIMENTAL] Parameter is inferred to be nullable: consider annotating it with [CanBeNull] or [ItemCanBeNull] attribute. This inspection sometimes produces unsound results." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnnotateCanBeNullTypeMember", + "shortDescription": { + "text": "Declaration nullability inferred: Type member is inferred to be nullable" + }, + "fullDescription": { + "text": "Type member is inferred to be nullable: consider annotating it with [CanBeNull] or [ItemCanBeNull] attribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnnotateNotNullParameter", + "shortDescription": { + "text": "Declaration nullability inferred: Parameter is inferred to be not null" + }, + "fullDescription": { + "text": "Parameter is inferred always not to be null: consider annotating it with [NotNull] or [ItemNotNull] attribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnnotateNotNullTypeMember", + "shortDescription": { + "text": "Declaration nullability inferred: Type member is inferred to be not null" + }, + "fullDescription": { + "text": "Type member is inferred always not to be null: consider annotating it with [NotNull] or [ItemNotNull] attribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnnotationConflictInHierarchy", + "shortDescription": { + "text": "Annotation conflict in hierarchy" + }, + "fullDescription": { + "text": "There is base member that has conflicting nullness annotation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnnotationRedundancyAtValueType", + "shortDescription": { + "text": "Nullability attribute usage with declaration of void or value type" + }, + "fullDescription": { + "text": "Nullability attribute usage with declaration of void or value type does not affect code analysis" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AnnotationRedundancyAtValueType.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AnnotationRedundancyAtValueType.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnnotationRedundancyInHierarchy", + "shortDescription": { + "text": "Annotation duplicate in hierarchy" + }, + "fullDescription": { + "text": "There is base member that has the same nullness annotation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AppendToCollectionExpression", + "shortDescription": { + "text": "Append to collection expression" + }, + "fullDescription": { + "text": "Suggest to merge collection items additions into C# 12 collection expression syntax" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AppendToCollectionExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AppendToCollectionExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArgumentsStyleAnonymousFunction", + "shortDescription": { + "text": "Use preferred argument style for anonymous functions" + }, + "fullDescription": { + "text": "Prefer using named/positional argument when anonymous function (lambda or delegate) is passed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArgumentsStyleAnonymousFunction.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArgumentsStyleAnonymousFunction.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArgumentsStyleLiteral", + "shortDescription": { + "text": "Use preferred argument style for literal values" + }, + "fullDescription": { + "text": "Prefer using named/positional argument when boolean, numeric, 'byte', or 'char' literal value is passed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArgumentsStyleLiteral.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArgumentsStyleLiteral.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArgumentsStyleNamedExpression", + "shortDescription": { + "text": "Use preferred argument style for named expressions" + }, + "fullDescription": { + "text": "Prefer using named/positional argument for named expressions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArgumentsStyleNamedExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArgumentsStyleNamedExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArgumentsStyleOther", + "shortDescription": { + "text": "Use preferred argument style" + }, + "fullDescription": { + "text": "Prefer using named/positional argument for all expressions except literal, named and anonymous function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArgumentsStyleOther.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArgumentsStyleOther.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArgumentsStyleStringLiteral", + "shortDescription": { + "text": "Use preferred argument style for string literal values" + }, + "fullDescription": { + "text": "Prefer using named/positional argument when 'string' literal value is passed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArgumentsStyleStringLiteral.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArgumentsStyleStringLiteral.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeAccessorOwnerBody", + "shortDescription": { + "text": "Use preferred body style: Convert into property, indexer, or event with preferred body style" + }, + "fullDescription": { + "text": "Use expression or block body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeAccessorOwnerBody.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeAccessorOwnerBody.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeAccessorsOrder", + "shortDescription": { + "text": "Arrange accessors order" + }, + "fullDescription": { + "text": "It is recommended to place 'get' before 'set'/'init', and 'add' before 'remove'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeAttributes", + "shortDescription": { + "text": "Join or separate attributes in section" + }, + "fullDescription": { + "text": "Attributes have to be declared in separate sections or in a single sections" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeAttributes.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeAttributes.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeConstructorOrDestructorBody", + "shortDescription": { + "text": "Use preferred body style: Convert into constructor or destructor with preferred body style" + }, + "fullDescription": { + "text": "Use expression or block body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeConstructorOrDestructorBody.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeConstructorOrDestructorBody.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeDefaultValueWhenTypeEvident", + "shortDescription": { + "text": "Use preferred style of default value expression when type is evident" + }, + "fullDescription": { + "text": "Add or remove explicit type specification in default value expression when type is evident from the usage" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeDefaultValueWhenTypeEvident.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeDefaultValueWhenTypeEvident.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeDefaultValueWhenTypeNotEvident", + "shortDescription": { + "text": "Use preferred style of default value expression when type is not evident" + }, + "fullDescription": { + "text": "Add or remove explicit type specification in default value expression when type is not evident from the usage" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeDefaultValueWhenTypeNotEvident.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeDefaultValueWhenTypeNotEvident.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeEmptyString", + "shortDescription": { + "text": "Empty string style" + }, + "fullDescription": { + "text": "Consider using either empty literal \"\" or 'string.Empty' consistently across the codebase to improve readability and maintain a uniform code style" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeLocalFunctionBody", + "shortDescription": { + "text": "Use preferred body style: Convert into local function with preferred body style" + }, + "fullDescription": { + "text": "Use expression or block body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeLocalFunctionBody.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeLocalFunctionBody.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeMethodOrOperatorBody", + "shortDescription": { + "text": "Use preferred body style: Convert into method or operator with preferred body style" + }, + "fullDescription": { + "text": "Use expression or block body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeMethodOrOperatorBody.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeMethodOrOperatorBody.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeMissingParentheses", + "shortDescription": { + "text": "Add parentheses to avoid non-obvious precedence" + }, + "fullDescription": { + "text": "Parentheses can be safely added to expressions to clarify precedence" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeMissingParentheses.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeMissingParentheses.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeModifiersOrder", + "shortDescription": { + "text": "Adjust modifiers declaration order" + }, + "fullDescription": { + "text": "The order of declaration modifiers does not match code style settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeModifiersOrder.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeModifiersOrder.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeNamespaceBody", + "shortDescription": { + "text": "Use preferred namespace body style" + }, + "fullDescription": { + "text": "Use file-scoped or block-scoped namespace body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeNamespaceBody.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeNamespaceBody.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeNullCheckingPattern", + "shortDescription": { + "text": "Arrange null checking pattern" + }, + "fullDescription": { + "text": "Use preferred null checking pattern style (either 'not null' or '{ }')" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeNullCheckingPattern.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeNullCheckingPattern.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeObjectCreationWhenTypeEvident", + "shortDescription": { + "text": "Use preferred style of 'new' expression when created type is evident" + }, + "fullDescription": { + "text": "Add or remove explicit type specification in 'new' expression when type is evident from the usage" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeObjectCreationWhenTypeEvident.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeObjectCreationWhenTypeEvident.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeObjectCreationWhenTypeNotEvident", + "shortDescription": { + "text": "Use preferred style of 'new' expression when created type is not evident" + }, + "fullDescription": { + "text": "Add or remove explicit type specification in 'new' expression when type is not evident from the usage" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeObjectCreationWhenTypeNotEvident.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeObjectCreationWhenTypeNotEvident.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeRedundantParentheses", + "shortDescription": { + "text": "Remove redundant parentheses" + }, + "fullDescription": { + "text": "Parentheses can be safely removed from expressions without changing code semantics" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeRedundantParentheses.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeRedundantParentheses.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeStaticMemberQualifier", + "shortDescription": { + "text": "Add/remove qualifier for static members" + }, + "fullDescription": { + "text": "Qualifier can be safely added/removed without changing code semantics" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeStaticMemberQualifier.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeStaticMemberQualifier.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeThisQualifier", + "shortDescription": { + "text": "Add/remove 'this.' qualifier" + }, + "fullDescription": { + "text": "'this.' qualifier can be safely added/removed without changing code semantics" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeThisQualifier.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeThisQualifier.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeTrailingCommaInMultilineLists", + "shortDescription": { + "text": "Use preferred style for trailing comma before new line in multiline lists" + }, + "fullDescription": { + "text": "Add or remove trailing comma before new line in multiline lists according to code style settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeTrailingCommaInMultilineLists.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeTrailingCommaInMultilineLists.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeTrailingCommaInSinglelineLists", + "shortDescription": { + "text": "Use preferred style for trailing comma when the last element is not followed by a new line" + }, + "fullDescription": { + "text": "Add or remove trailing comma when the last element is not followed by a new line according to code style settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeTrailingCommaInSinglelineLists.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeTrailingCommaInSinglelineLists.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeTypeMemberModifiers", + "shortDescription": { + "text": "Use explicit or implicit modifier definition for type members" + }, + "fullDescription": { + "text": "'private' modifier can be safely added/removed from type members without changing code semantics" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeTypeMemberModifiers.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeTypeMemberModifiers.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeTypeModifiers", + "shortDescription": { + "text": "Use explicit or implicit modifier definition for types" + }, + "fullDescription": { + "text": "'internal' modifier can be safely added/removed from types without changing code semantics" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeTypeModifiers.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeTypeModifiers.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeVarKeywordsInDeconstructingDeclaration", + "shortDescription": { + "text": "Join or separate 'var' in deconstruction declarations" + }, + "fullDescription": { + "text": "Use preferred code style to check joined/separate 'var' usages in deconstruction declarations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ArrangeVarKeywordsInDeconstructingDeclaration.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ArrangeVarKeywordsInDeconstructingDeclaration.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.ContentPlaceholderNotResolved", + "shortDescription": { + "text": "Unknown content placeholder" + }, + "fullDescription": { + "text": "Unknown content placeholder" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.CustomPageParserFilterType", + "shortDescription": { + "text": "Unsupported pageParserFilterType" + }, + "fullDescription": { + "text": "ReSharper does not support pageParserFilterType specified in web.config" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.DeadCode", + "shortDescription": { + "text": "ASP.NET Dead Code" + }, + "fullDescription": { + "text": "ASP.NET Dead Code" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/Asp.DeadCode.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/Asp.DeadCode.html" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.Entity", + "shortDescription": { + "text": "Unknown HTML entity" + }, + "fullDescription": { + "text": "Unknown HTML entity" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.Image", + "shortDescription": { + "text": "Wrong image size" + }, + "fullDescription": { + "text": "Wrong image size" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.InvalidControlType", + "shortDescription": { + "text": "Invalid control type" + }, + "fullDescription": { + "text": "Invalid control type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.NotResolved", + "shortDescription": { + "text": "Unknown symbol" + }, + "fullDescription": { + "text": "Unknown symbol in ASP.NET and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.ResolveWarning", + "shortDescription": { + "text": "ASP.NET Resolve Warning" + }, + "fullDescription": { + "text": "ASP.NET Resolve Warning" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.SkinNotResolved", + "shortDescription": { + "text": "Unknown skin" + }, + "fullDescription": { + "text": "Unknown skin" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.TagAttributeWithOptionalValue", + "shortDescription": { + "text": "Attribute with optional value problem" + }, + "fullDescription": { + "text": "Attribute with optional value problem" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.ThemeNotResolved", + "shortDescription": { + "text": "Unknown theme" + }, + "fullDescription": { + "text": "Unknown theme" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.Warning", + "shortDescription": { + "text": "ASP.NET Warning" + }, + "fullDescription": { + "text": "ASP.NET Warning" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AspOdsMethodReferenceResolveError", + "shortDescription": { + "text": "Object data source method resolve problem" + }, + "fullDescription": { + "text": "Object data source method resolve problem" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AspUnusedRegisterDirectiveHighlighting", + "shortDescription": { + "text": "Unused register directive" + }, + "fullDescription": { + "text": "Register directive is unused and can be safely removed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignNullToNotNullAttribute", + "shortDescription": { + "text": "Possible 'null' assignment to non-nullable entity" + }, + "fullDescription": { + "text": "An expression that can have 'null' value is assigned to an entity marked with 'Value cannot be null' attribute. In particular, this can happen when passing such value to a method whose parameter is marked with 'Value cannot be null' attribute." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AssignNullToNotNullAttribute.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AssignNullToNotNullAttribute.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentInConditionalExpression", + "shortDescription": { + "text": "Assignment in conditional expression" + }, + "fullDescription": { + "text": "Assignment in conditional expression; did you mean to use '==' instead of '='?" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AssignmentInConditionalExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AssignmentInConditionalExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentInsteadOfDiscard", + "shortDescription": { + "text": "Suspicious use of variable with discard-like name" + }, + "fullDescription": { + "text": "Reports expressions that look like discard patterns but actually assign a local variable with discard-like name '_'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentIsFullyDiscarded", + "shortDescription": { + "text": "Assignment results are fully discarded" + }, + "fullDescription": { + "text": "The values of deconstructing assignment are all discarded and cannot be used in any execution path" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asxx.PathError", + "shortDescription": { + "text": "Path error" + }, + "fullDescription": { + "text": "Path error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASXX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncIteratorInvocationWithoutAwaitForeach", + "shortDescription": { + "text": "Async iterator invocation without 'await foreach'" + }, + "fullDescription": { + "text": "Because the result of asynchronous iterator call is not being iterated, execution of the current method continues before the call is completed. Consider using the 'await foreach' over the result of the call." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncMethodWithoutAwait", + "shortDescription": { + "text": "Async method without 'await' operators: Async Task method without 'await' operators" + }, + "fullDescription": { + "text": "Async methods are expected to have 'await' operators inside to run asynchronously" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncOverrideMethodWithoutAwait", + "shortDescription": { + "text": "Async method without 'await' operators: Async Task method override without 'await' operators" + }, + "fullDescription": { + "text": "Async methods are expected to have 'await' operators inside to run asynchronously" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncVoidEventHandlerMethod", + "shortDescription": { + "text": "Avoid using 'async' for methods and functions with the 'void' return type: Avoid using 'async' for methods and functions with the 'void' return type and a parameter of type 'System.EventArgs'" + }, + "fullDescription": { + "text": "Prefer Task methods over methods returning 'void': any exceptions unhandled by the 'async void' method might lead to the process crash" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AsyncVoidEventHandlerMethod.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AsyncVoidEventHandlerMethod.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncVoidLambda", + "shortDescription": { + "text": "Avoid using 'async' lambda when delegate type returns 'void'" + }, + "fullDescription": { + "text": "Check the usage of 'async' lambda expression: any exceptions unhandled by the lambda might lead to the process crash" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AsyncVoidLambda.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AsyncVoidLambda.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncVoidMethod", + "shortDescription": { + "text": "Avoid using 'async' for methods and functions with the 'void' return type: Avoid using 'async' for methods and functions with the 'void' return type but without a parameter of type 'System.EventArgs'" + }, + "fullDescription": { + "text": "Prefer Task methods over methods returning 'void': any exceptions unhandled by the 'async void' method might lead to the process crash" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AsyncVoidMethod.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AsyncVoidMethod.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncVoidMethodWithoutAwait", + "shortDescription": { + "text": "Async method without 'await' operators: Async void method without 'await' operators" + }, + "fullDescription": { + "text": "Async methods are expected to have 'await' operators inside to run asynchronously" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncVoidOverrideMethodWithoutAwait", + "shortDescription": { + "text": "Async method without 'await' operators: Async void method override without 'await' operators" + }, + "fullDescription": { + "text": "Async methods are expected to have 'await' operators inside to run asynchronously" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AsyncVoidThrowException", + "shortDescription": { + "text": "Avoid using 'async' for methods and functions with the 'void' return type: Do not rethrow exception in 'async void' methods and functions" + }, + "fullDescription": { + "text": "Prefer Task methods over methods returning 'void': any exceptions unhandled by the 'async void' method might lead to the process crash" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AsyncVoidThrowException.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AsyncVoidThrowException.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AutoPropertyCanBeMadeGetOnly.Global", + "shortDescription": { + "text": "Auto-property can be made get-only: Non-private accessibility" + }, + "fullDescription": { + "text": "Auto-property has no write usages after initialization and can be made get-only" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AutoPropertyCanBeMadeGetOnly.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AutoPropertyCanBeMadeGetOnly.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AutoPropertyCanBeMadeGetOnly.Local", + "shortDescription": { + "text": "Auto-property can be made get-only: Private accessibility" + }, + "fullDescription": { + "text": "Auto-property has no write usages after initialization and can be made get-only" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/AutoPropertyCanBeMadeGetOnly.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/AutoPropertyCanBeMadeGetOnly.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadAttributeBracketsSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around attributes" + }, + "fullDescription": { + "text": "Incorrect spacing: Around attributes" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadAttributeBracketsSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadAttributeBracketsSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadBracesSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around braces" + }, + "fullDescription": { + "text": "Incorrect spacing: Around braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadBracesSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadBracesSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadChildStatementIndent", + "shortDescription": { + "text": "Incorrect indent: Around child statement" + }, + "fullDescription": { + "text": "Incorrect indent: Around child statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadChildStatementIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadChildStatementIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadColonSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around colon" + }, + "fullDescription": { + "text": "Incorrect spacing: Around colon" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadColonSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadColonSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadCommaSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around comma" + }, + "fullDescription": { + "text": "Incorrect spacing: Around comma" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadCommaSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadCommaSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadControlBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around statement braces" + }, + "fullDescription": { + "text": "Incorrect indent: Around statement braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadControlBracesIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadControlBracesIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadControlBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around statement braces" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around statement braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadControlBracesLineBreaks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadControlBracesLineBreaks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadDeclarationBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around declaration braces" + }, + "fullDescription": { + "text": "Incorrect indent: Around declaration braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadDeclarationBracesIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadDeclarationBracesIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadDeclarationBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around declaration braces" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around declaration braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadDeclarationBracesLineBreaks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadDeclarationBracesLineBreaks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadEmptyBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around empty braces" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around empty braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadEmptyBracesLineBreaks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadEmptyBracesLineBreaks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadExpressionBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around expression braces" + }, + "fullDescription": { + "text": "Incorrect indent: Around expression braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadExpressionBracesIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadExpressionBracesIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadExpressionBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around expression braces" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around expression braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadExpressionBracesLineBreaks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadExpressionBracesLineBreaks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadGenericBracketsSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around generic brackets" + }, + "fullDescription": { + "text": "Incorrect spacing: Around generic brackets" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadGenericBracketsSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadGenericBracketsSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadIndent", + "shortDescription": { + "text": "Incorrect indent: Redundant indent/outdent elsewhere" + }, + "fullDescription": { + "text": "Incorrect indent: Redundant indent/outdent elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadLinqLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around LINQ queries" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around LINQ queries" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadLinqLineBreaks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadLinqLineBreaks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadListLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around comma in lists" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around comma in lists" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadListLineBreaks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadListLineBreaks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadMemberAccessSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around member access symbols" + }, + "fullDescription": { + "text": "Incorrect spacing: Around member access symbols" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadMemberAccessSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadMemberAccessSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadNamespaceBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around namespace braces" + }, + "fullDescription": { + "text": "Incorrect indent: Around namespace braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadNamespaceBracesIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadNamespaceBracesIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadParensLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around parenthesis" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around parenthesis" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadParensLineBreaks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadParensLineBreaks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadParensSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around parenthesis" + }, + "fullDescription": { + "text": "Incorrect spacing: Around parenthesis" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadParensSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadParensSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadPreprocessorIndent", + "shortDescription": { + "text": "Incorrect indent: Around preprocessor directive" + }, + "fullDescription": { + "text": "Incorrect indent: Around preprocessor directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadPreprocessorIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadPreprocessorIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadSemicolonSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around semicolon" + }, + "fullDescription": { + "text": "Incorrect spacing: Around semicolon" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadSemicolonSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadSemicolonSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadSpacesAfterKeyword", + "shortDescription": { + "text": "Incorrect spacing: Between keyword and parenthesis" + }, + "fullDescription": { + "text": "Incorrect spacing: Between keyword and parenthesis" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadSpacesAfterKeyword.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadSpacesAfterKeyword.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadSquareBracketsSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around square brackets within a statement" + }, + "fullDescription": { + "text": "Incorrect spacing: Around square brackets within a statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadSquareBracketsSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadSquareBracketsSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadSwitchBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around switch statement" + }, + "fullDescription": { + "text": "Incorrect indent: Around switch statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadSwitchBracesIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadSwitchBracesIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadSymbolSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around operator symbols" + }, + "fullDescription": { + "text": "Incorrect spacing: Around operator symbols" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BadSymbolSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BadSymbolSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BaseMemberHasParams", + "shortDescription": { + "text": "Base member has 'params' parameter, but the overrider does not have it" + }, + "fullDescription": { + "text": "Base member has 'params' parameter, but the overrider does not have it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BaseMethodCallWithDefaultParameter", + "shortDescription": { + "text": "Call to base member with implicit default parameters" + }, + "fullDescription": { + "text": "Call to base member with implicit default parameters" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BaseObjectEqualsIsObjectEquals", + "shortDescription": { + "text": "Call to 'base.Equals(...)' is reference equality" + }, + "fullDescription": { + "text": "Call to base 'Equals(...)' method is resolved to 'Object.Equals', which is reference equality" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BaseObjectGetHashCodeCallInGetHashCode", + "shortDescription": { + "text": "Overridden GetHashCode calls base 'Object.GetHashCode()'" + }, + "fullDescription": { + "text": "Overridden GetHashCode calls base 'Object.GetHashCode()'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BaseObjectGetHashCodeCallInGetHashCode.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BaseObjectGetHashCodeCallInGetHashCode.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BitwiseOperatorOnEnumWithoutFlags", + "shortDescription": { + "text": "Bitwise operation on enum that is not marked by the [Flags] attribute" + }, + "fullDescription": { + "text": "Bitwise operation on enum that is not marked by the [Flags] attribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BitwiseOperatorOnEnumWithoutFlags.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BitwiseOperatorOnEnumWithoutFlags.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Blazor.EditorRequired", + "shortDescription": { + "text": "Missed value for required attribute" + }, + "fullDescription": { + "text": "Missed value for required attribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "Blazor.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BothContextCallDeclaration.Global", + "shortDescription": { + "text": "Method is called from both CQRS contexts: Show on declarations" + }, + "fullDescription": { + "text": "Method is called from both CQRS contexts" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BothContextCallDeclaration.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BothContextCallDeclaration.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BothContextCallUsage.Global", + "shortDescription": { + "text": "Method is called from both CQRS contexts: Show on usages" + }, + "fullDescription": { + "text": "Method is called from both CQRS contexts" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BothContextCallUsage.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BothContextCallUsage.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BuiltInTypeReferenceStyle", + "shortDescription": { + "text": "Replace built-in type reference with a CLR type name or a keyword" + }, + "fullDescription": { + "text": "CLR type names and corresponding C# keyword are interchangeable and do not affect code semantics" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BuiltInTypeReferenceStyle.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BuiltInTypeReferenceStyle.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BuiltInTypeReferenceStyleForMemberAccess", + "shortDescription": { + "text": "Replace built-in type reference with a CLR type name or a keyword in static member access expressions" + }, + "fullDescription": { + "text": "CLR type names and corresponding C# keyword are interchangeable and do not affect code semantics" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/BuiltInTypeReferenceStyleForMemberAccess.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/BuiltInTypeReferenceStyleForMemberAccess.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ByRefArgumentIsVolatileField", + "shortDescription": { + "text": "Captured reference to 'volatile' field will not be treated as 'volatile'" + }, + "fullDescription": { + "text": "Captured reference to 'volatile' field will not be treated as 'volatile'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CDeclarationWithImplicitIntType", + "shortDescription": { + "text": "Type-specifier missing, defaults to int" + }, + "fullDescription": { + "text": "No type-specifier found in a declaration. Defaults to 'int'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharp14OverloadResolutionWithSpanBreakingChange", + "shortDescription": { + "text": "C# 14 breaking change in overload resolution with span parameters" + }, + "fullDescription": { + "text": "C# 14 breaking change in overload resolution with span parameters. See details." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CSharp14OverloadResolutionWithSpanBreakingChange.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CSharp14OverloadResolutionWithSpanBreakingChange.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeInfo" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpBuildCSInvalidModuleName", + "shortDescription": { + "text": "Module with this name does not exist" + }, + "fullDescription": { + "text": "Module with this name does not exist" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.Unreal Build System" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpMissingPluginDependency", + "shortDescription": { + "text": "Dependency for the plugin is missing in the project file" + }, + "fullDescription": { + "text": "Dependency for the plugin is missing in the project file" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.Unreal Build System" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CA2252", + "shortDescription": { + "text": "Opt in to preview features before using them." + }, + "fullDescription": { + "text": "Opt in to preview features before using them." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2252", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2252" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CA2254", + "shortDescription": { + "text": "Template should be a static expression" + }, + "fullDescription": { + "text": "Template should be a static expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2254", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca2254" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0078", + "shortDescription": { + "text": "The 'l' suffix is easily confused with the digit '1'" + }, + "fullDescription": { + "text": "The 'l' suffix is easily confused with the digit '1'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/s74dtt7k.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/s74dtt7k.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0108,CS0114", + "shortDescription": { + "text": "Keyword 'new' is required" + }, + "fullDescription": { + "text": "Keyword 'new' is required" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CSharpWarnings_CS0108_CS0114.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CSharpWarnings_CS0108_CS0114.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0109", + "shortDescription": { + "text": "Keyword 'new' is redundant" + }, + "fullDescription": { + "text": "Keyword 'new' is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/css4y2c4.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/css4y2c4.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0162", + "shortDescription": { + "text": "Code is unreachable" + }, + "fullDescription": { + "text": "Code is unreachable" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/c0h4st1x.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/c0h4st1x.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0183", + "shortDescription": { + "text": "Given expression is always of the provided type" + }, + "fullDescription": { + "text": "Given expression is always of the provided type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/sb7782xb.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/sb7782xb.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0184", + "shortDescription": { + "text": "Given expression is never of the provided type" + }, + "fullDescription": { + "text": "Given expression is never of the provided type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/230kb9yt.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/230kb9yt.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0197", + "shortDescription": { + "text": "Taking address of marshal-by-reference class field" + }, + "fullDescription": { + "text": "Taking address of marshal-by-reference class field" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/y545659k.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/y545659k.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0252,CS0253", + "shortDescription": { + "text": "Possible unintended reference comparison" + }, + "fullDescription": { + "text": "Possible unintended reference comparison" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CSharpWarnings_CS0252_CS0253.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CSharpWarnings_CS0252_CS0253.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0282", + "shortDescription": { + "text": "There is no defined ordering between fields in multiple declarations of partial struct. To specify an ordering, all instance fields must be in the same declaration." + }, + "fullDescription": { + "text": "There is no defined ordering between fields in multiple declarations of partial struct. To specify an ordering, all instance fields must be in the same declaration." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0282", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0282" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0420", + "shortDescription": { + "text": "Reference to a volatile field will not be treated as volatile" + }, + "fullDescription": { + "text": "Reference to a volatile field will not be treated as volatile" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/4bw5ewxy.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/4bw5ewxy.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0458", + "shortDescription": { + "text": "The result of the expression is always 'null' of nullable type" + }, + "fullDescription": { + "text": "The result of the expression is always 'null' of nullable type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0458", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0458" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0464", + "shortDescription": { + "text": "Comparing with null of nullable value type always produces 'false'" + }, + "fullDescription": { + "text": "Comparing with null of nullable value type always produces 'false'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0464", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0464" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0465", + "shortDescription": { + "text": "Introducing a 'Finalize' method can interfere with destructor invocation" + }, + "fullDescription": { + "text": "Introducing a 'Finalize' method can interfere with destructor invocation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/02wtfwbt.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/02wtfwbt.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0469", + "shortDescription": { + "text": "'goto case' value is not implicitly convertible to required type" + }, + "fullDescription": { + "text": "'goto case' value is not implicitly convertible to required type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/ms228370.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/ms228370.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0472", + "shortDescription": { + "text": "The result of the expression is always 'true' or 'false' since a value of value type is never equal to 'null'" + }, + "fullDescription": { + "text": "The result of the expression is always 'true' or 'false' since a value of value type is never equal to 'null'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0472", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0472" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0612", + "shortDescription": { + "text": "Use of obsolete symbol (without message)" + }, + "fullDescription": { + "text": "Use of obsolete symbol (without message)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/h0h063ka.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/h0h063ka.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0618", + "shortDescription": { + "text": "Use of obsolete symbol" + }, + "fullDescription": { + "text": "Use of obsolete symbol" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/x5ye6x1e.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/x5ye6x1e.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0628", + "shortDescription": { + "text": "Declaring new protected member in sealed class is the same as declaring it as private" + }, + "fullDescription": { + "text": "Declaring new protected member in sealed class is the same as declaring it as private" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/7x8ekes3.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/7x8ekes3.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0642", + "shortDescription": { + "text": "Possible mistaken empty statement" + }, + "fullDescription": { + "text": "Possible mistaken empty statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/9x19t380.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/9x19t380.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0652", + "shortDescription": { + "text": "Comparison to integral constant is useless; the constant is outside the range of type 'type'." + }, + "fullDescription": { + "text": "Comparison to integral constant is useless; the constant is outside the range of type 'type'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0652", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0652" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0657", + "shortDescription": { + "text": "'attribute modifier' is not a valid attribute location for this declaration. All attributes in this block will be ignored" + }, + "fullDescription": { + "text": "'attribute modifier' is not a valid attribute location for this declaration. All attributes in this block will be ignored" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/c6hdfbk4.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/c6hdfbk4.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0658", + "shortDescription": { + "text": "'attribute modifier' is not a recognized attribute location. All attributes in this block will be ignored" + }, + "fullDescription": { + "text": "'attribute modifier' is not a recognized attribute location. All attributes in this block will be ignored" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/4ky08ezz.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/4ky08ezz.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0659", + "shortDescription": { + "text": "Class overrides Object.Equals(object o) but not Object.GetHashCode()" + }, + "fullDescription": { + "text": "Class overrides Object.Equals(object o) but not Object.GetHashCode()" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/xxhbfytk.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/xxhbfytk.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0660,CS0661", + "shortDescription": { + "text": "Operator '==' or operator '!=' with 'Object.Equals(object o)' and 'Object.GetHashCode()' not overridden" + }, + "fullDescription": { + "text": "Operator '==' or operator '!=' with 'Object.Equals(object o)' and 'Object.GetHashCode()' not overridden" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CSharpWarnings_CS0660_CS0661.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CSharpWarnings_CS0660_CS0661.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0665", + "shortDescription": { + "text": "Assignment in conditional expression" + }, + "fullDescription": { + "text": "Assignment in conditional expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/c1sde1ax.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/c1sde1ax.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0672", + "shortDescription": { + "text": "Member overrides obsolete member" + }, + "fullDescription": { + "text": "Member overrides obsolete member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/9dzeyth8.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/9dzeyth8.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0675", + "shortDescription": { + "text": "Bitwise-or operator used on a sign-extended operand." + }, + "fullDescription": { + "text": "Bitwise-or operator used on a sign-extended operand." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0675", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/cs0675" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0693", + "shortDescription": { + "text": "Type parameter has the same name as a type parameter from the outer type" + }, + "fullDescription": { + "text": "Type parameter has the same name as a type parameter from the outer type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/0ah54ze5.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/0ah54ze5.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0728", + "shortDescription": { + "text": "Possibly incorrect assignment to local which is the argument to a 'using' or 'lock' statement" + }, + "fullDescription": { + "text": "Possibly incorrect assignment to local which is the argument to a 'using' or 'lock' statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0728", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0728" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS0809", + "shortDescription": { + "text": "Obsolete member overrides non-obsolete member" + }, + "fullDescription": { + "text": "Obsolete member overrides non-obsolete member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1030", + "shortDescription": { + "text": "'#warning' directive" + }, + "fullDescription": { + "text": "'#warning' directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/ckcykyd4.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/ckcykyd4.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1058", + "shortDescription": { + "text": "A previous catch clause already catches all exceptions" + }, + "fullDescription": { + "text": "A previous catch clause already catches all exceptions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/ms228623.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/ms228623.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1066", + "shortDescription": { + "text": "Default value specified for parameter will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "fullDescription": { + "text": "Default value specified for parameter will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1522", + "shortDescription": { + "text": "Empty switch block" + }, + "fullDescription": { + "text": "Empty switch block" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/x68b4s45.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/x68b4s45.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1570", + "shortDescription": { + "text": "Invalid XML in XML comment" + }, + "fullDescription": { + "text": "Invalid XML in XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/c20zzdxx.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/c20zzdxx.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1571", + "shortDescription": { + "text": "Duplicate param tag in XML comment" + }, + "fullDescription": { + "text": "Duplicate param tag in XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/a5c6cbk0.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/a5c6cbk0.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1572", + "shortDescription": { + "text": "XML comment has a 'param' tag for 'Parameter', but there is no parameter by that name" + }, + "fullDescription": { + "text": "XML comment has a 'param' tag for 'Parameter', but there is no parameter by that name" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1573", + "shortDescription": { + "text": "Parameter has no matching param tag in the XML comment" + }, + "fullDescription": { + "text": "Parameter has no matching param tag in the XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/01248w2b.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/01248w2b.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1574", + "shortDescription": { + "text": "Ambiguous reference in XML comment" + }, + "fullDescription": { + "text": "Ambiguous reference in XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/26x4hk2a.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/26x4hk2a.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1574,CS1584,CS1581,CS1580", + "shortDescription": { + "text": "Cannot resolve reference in XML comment" + }, + "fullDescription": { + "text": "Cannot resolve reference in XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CSharpWarnings_CS1574_CS1584_CS1581_CS1580.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CSharpWarnings_CS1574_CS1584_CS1581_CS1580.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1580", + "shortDescription": { + "text": "Incorrect signature in XML comment" + }, + "fullDescription": { + "text": "Incorrect signature in XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/03t96cfx.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/03t96cfx.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1584", + "shortDescription": { + "text": "Syntax error in XML comment" + }, + "fullDescription": { + "text": "Syntax error in XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/hz13h4se.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/hz13h4se.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1587", + "shortDescription": { + "text": "XML comment is not placed on a valid language element" + }, + "fullDescription": { + "text": "XML comment is not placed on a valid language element" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/d3x6ez1z.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/d3x6ez1z.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1589", + "shortDescription": { + "text": "Unable to include XML fragment" + }, + "fullDescription": { + "text": "Unable to include XML fragment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/3y857kz5.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/3y857kz5.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1590", + "shortDescription": { + "text": "Invalid XML include element" + }, + "fullDescription": { + "text": "Invalid XML include element" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/549c3y6s.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/549c3y6s.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1591", + "shortDescription": { + "text": "Missing XML comment for publicly visible type or member" + }, + "fullDescription": { + "text": "Compiler only produces XML documentation related warnings when 'XML Documentation' output generation option is enabled in project configuration settings (Project | Properties)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/zk18c1w9.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/zk18c1w9.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1592", + "shortDescription": { + "text": "Badly formed XML in included comments file" + }, + "fullDescription": { + "text": "Badly formed XML in included comments file" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/89c331t3.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/89c331t3.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1687", + "shortDescription": { + "text": "Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect" + }, + "fullDescription": { + "text": "Source file has exceeded the limit of 16,707,565 lines representable in the PDB; debug information will be incorrect" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs1687", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs1687" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1710", + "shortDescription": { + "text": "Duplicate typeparam tag in XML comment" + }, + "fullDescription": { + "text": "Duplicate typeparam tag in XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/k5ya7w1x.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/k5ya7w1x.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1711", + "shortDescription": { + "text": "XML comment has a 'typeparam' tag for 'TypeParameter', but there is no type parameter by that name" + }, + "fullDescription": { + "text": "XML comment has a 'typeparam' tag for 'TypeParameter', but there is no type parameter by that name" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs1711", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs1711" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1712", + "shortDescription": { + "text": "Type parameter has no matching typeparam tag in the XML comment" + }, + "fullDescription": { + "text": "Type parameter has no matching typeparam tag in the XML comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/t8zca749.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/t8zca749.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1717", + "shortDescription": { + "text": "Assignment made to same variable" + }, + "fullDescription": { + "text": "Assignment made to same variable" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/a1kzfw0z.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/a1kzfw0z.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1723", + "shortDescription": { + "text": "XML comment has cref attribute that refers to a type parameter" + }, + "fullDescription": { + "text": "XML comment has cref attribute that refers to a type parameter" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/ms228603.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/ms228603.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1911", + "shortDescription": { + "text": "Access to a member through 'base' keyword from anonymous method, lambda expression, query expression or iterator results in unverifiable code" + }, + "fullDescription": { + "text": "Access to a member through 'base' keyword from anonymous method, lambda expression, query expression or iterator results in unverifiable code" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/ms228459.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/ms228459.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1957", + "shortDescription": { + "text": "Multiple override candidates at run-time" + }, + "fullDescription": { + "text": "Multiple override candidates at run-time" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/bb882562.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/bb882562.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1981", + "shortDescription": { + "text": "Using 'is' to test compatibility with 'dynamic' is essentially identical to testing compatibility with 'Object' and will succeed for all non-null values" + }, + "fullDescription": { + "text": "Using 'is' to test compatibility with 'dynamic' is essentially identical to testing compatibility with 'Object' and will succeed for all non-null values" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS1998", + "shortDescription": { + "text": "Async function without await expression" + }, + "fullDescription": { + "text": "Async function without await expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS4014", + "shortDescription": { + "text": "Async method invocation without await expression" + }, + "fullDescription": { + "text": "Async method invocation without await expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://msdn.microsoft.com/en-us/library/hh873131.aspx", + "help": { + "text": "https://msdn.microsoft.com/en-us/library/hh873131.aspx" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS4024", + "shortDescription": { + "text": "The CallerLineNumberAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "fullDescription": { + "text": "The CallerLineNumberAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS4025", + "shortDescription": { + "text": "The CallerFilePathAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "fullDescription": { + "text": "The CallerFilePathAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS4026", + "shortDescription": { + "text": "The CallerMemberNameAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "fullDescription": { + "text": "The CallerMemberNameAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS7022", + "shortDescription": { + "text": "The 'Main' method will not be used as an entry point because compilation unit with top-level statements was found." + }, + "fullDescription": { + "text": "The 'Main' method will not be used as an entry point because compilation unit with top-level statements was found." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS7023", + "shortDescription": { + "text": "Static type in 'is' or 'as' operator." + }, + "fullDescription": { + "text": "Static type in 'is' or 'as' operator." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs7023---a-static-type-is-used-in-an-is-or-as-expression", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs7023---a-static-type-is-used-in-an-is-or-as-expression" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS7080", + "shortDescription": { + "text": "The CallerMemberNameAttribute will have no effect; it is overridden by the CallerFilePathAttribute" + }, + "fullDescription": { + "text": "The CallerMemberNameAttribute will have no effect; it is overridden by the CallerFilePathAttribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS7081", + "shortDescription": { + "text": "The CallerMemberNameAttribute will have no effect; it is overridden by the CallerLineNumberAttribute" + }, + "fullDescription": { + "text": "The CallerMemberNameAttribute will have no effect; it is overridden by the CallerLineNumberAttribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS7082", + "shortDescription": { + "text": "The CallerFilePathAttribute will have no effect; it is overridden by the CallerLineNumberAttribute" + }, + "fullDescription": { + "text": "The CallerFilePathAttribute will have no effect; it is overridden by the CallerLineNumberAttribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS7095", + "shortDescription": { + "text": "Filter expression is a constant, consider removing the filter" + }, + "fullDescription": { + "text": "Filter expression is a constant, consider removing the filter" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8073", + "shortDescription": { + "text": "The result of the expression is always 'true' or 'false' since a value of value type is never equal to 'null'" + }, + "fullDescription": { + "text": "The result of the expression is always 'true' or 'false' since a value of value type is never equal to 'null'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs8073---the-result-of-the-expression-is-always-false-or-true", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs8073---the-result-of-the-expression-is-always-false-or-true" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8094", + "shortDescription": { + "text": "Alignment value 'value' has a magnitude greater than 'magnitude limit' and may result in a large formatted string." + }, + "fullDescription": { + "text": "Alignment value 'value' has a magnitude greater than 'magnitude limit' and may result in a large formatted string." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8123", + "shortDescription": { + "text": "The tuple element name is ignored because a different name or no name is specified by the target type." + }, + "fullDescription": { + "text": "The tuple element name is ignored because a different name or no name is specified by the target type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8305", + "shortDescription": { + "text": "Type is for evaluation purposes only and is subject to change or removal in future updates." + }, + "fullDescription": { + "text": "Type is for evaluation purposes only and is subject to change or removal in future updates." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8383", + "shortDescription": { + "text": "The tuple element name is ignored because a different name or no name is specified on the other side of the tuple == or != operator." + }, + "fullDescription": { + "text": "The tuple element name is ignored because a different name or no name is specified on the other side of the tuple == or != operator." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8424", + "shortDescription": { + "text": "The 'EnumeratorCancellation' attribute is only effective on a parameter of type 'CancellationToken' in an async-iterator method returning 'IAsyncEnumerable<>'." + }, + "fullDescription": { + "text": "The 'EnumeratorCancellation' attribute is only effective on a parameter of type 'CancellationToken' in an async-iterator method returning 'IAsyncEnumerable<>'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8425", + "shortDescription": { + "text": "Async-iterator has one or more parameters of type 'CancellationToken' but none of them is annotated with the 'EnumeratorCancellation' attribute." + }, + "fullDescription": { + "text": "Async-iterator has one or more parameters of type 'CancellationToken' but none of them is annotated with the 'EnumeratorCancellation' attribute." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8500", + "shortDescription": { + "text": "This takes the address of, gets the size of, or declares a pointer to a managed type." + }, + "fullDescription": { + "text": "This takes the address of, gets the size of, or declares a pointer to a managed type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8509", + "shortDescription": { + "text": "The switch expression does not handle all possible inputs (it is not exhaustive)." + }, + "fullDescription": { + "text": "The switch expression does not handle all possible inputs (it is not exhaustive)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/pattern-matching-warnings", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/pattern-matching-warnings" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8519", + "shortDescription": { + "text": "The given expression never matches the provided pattern." + }, + "fullDescription": { + "text": "The given expression never matches the provided pattern." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8520", + "shortDescription": { + "text": "The given expression always matches the provided constant." + }, + "fullDescription": { + "text": "The given expression always matches the provided constant." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8524", + "shortDescription": { + "text": "The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value." + }, + "fullDescription": { + "text": "The switch expression does not handle some values of its input type (it is not exhaustive) involving an unnamed enum value." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8597", + "shortDescription": { + "text": "Thrown value may be null." + }, + "fullDescription": { + "text": "Thrown value may be null." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8600", + "shortDescription": { + "text": "Converting null literal or possible null value to non-nullable type." + }, + "fullDescription": { + "text": "Converting null literal or possible null value to non-nullable type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8601", + "shortDescription": { + "text": "Possible null reference assignment." + }, + "fullDescription": { + "text": "Possible null reference assignment." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8602", + "shortDescription": { + "text": "Dereference of a possibly null reference." + }, + "fullDescription": { + "text": "Dereference of a possibly null reference." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-dereference-of-null", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-dereference-of-null" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8603", + "shortDescription": { + "text": "Possible null reference return." + }, + "fullDescription": { + "text": "Possible null reference return." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8604", + "shortDescription": { + "text": "Possible null reference argument for a parameter." + }, + "fullDescription": { + "text": "Possible null reference argument for a parameter." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8605", + "shortDescription": { + "text": "Unboxing a possibly null value." + }, + "fullDescription": { + "text": "Unboxing a possibly null value." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8607", + "shortDescription": { + "text": "A possible null value may not be used for a type marked with [NotNull] or [DisallowNull]." + }, + "fullDescription": { + "text": "A possible null value may not be used for a type marked with [NotNull] or [DisallowNull]." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8608", + "shortDescription": { + "text": "Nullability of reference types in type doesn't match overridden member." + }, + "fullDescription": { + "text": "Nullability of reference types in type doesn't match overridden member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8609", + "shortDescription": { + "text": "Nullability of reference types in return type doesn't match overridden member." + }, + "fullDescription": { + "text": "Nullability of reference types in return type doesn't match overridden member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8610", + "shortDescription": { + "text": "Nullability of reference types in type of parameter doesn't match overridden member." + }, + "fullDescription": { + "text": "Nullability of reference types in type of parameter doesn't match overridden member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8611", + "shortDescription": { + "text": "Nullability of reference types in type of parameter doesn't match partial member declaration." + }, + "fullDescription": { + "text": "Nullability of reference types in type of parameter doesn't match partial member declaration." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8612", + "shortDescription": { + "text": "Nullability of reference types in type doesn't match implicitly implemented member." + }, + "fullDescription": { + "text": "Nullability of reference types in type doesn't match implicitly implemented member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8613", + "shortDescription": { + "text": "Nullability of reference types in return type doesn't match implicitly implemented member." + }, + "fullDescription": { + "text": "Nullability of reference types in return type doesn't match implicitly implemented member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8614", + "shortDescription": { + "text": "Nullability of reference types in type of parameter doesn't match implicitly implemented member." + }, + "fullDescription": { + "text": "Nullability of reference types in type of parameter doesn't match implicitly implemented member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8615", + "shortDescription": { + "text": "Nullability of reference types in type doesn't match implemented member." + }, + "fullDescription": { + "text": "Nullability of reference types in type doesn't match implemented member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8616", + "shortDescription": { + "text": "Nullability of reference types in return type doesn't match implemented member." + }, + "fullDescription": { + "text": "Nullability of reference types in return type doesn't match implemented member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8617", + "shortDescription": { + "text": "Nullability of reference types in type of parameter doesn't match implemented member." + }, + "fullDescription": { + "text": "Nullability of reference types in type of parameter doesn't match implemented member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8618", + "shortDescription": { + "text": "Non-nullable member is uninitialized." + }, + "fullDescription": { + "text": "Non-nullable member is uninitialized." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#nonnullable-reference-not-initialized", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#nonnullable-reference-not-initialized" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8619", + "shortDescription": { + "text": "Nullability of reference types in source type doesn't match target type." + }, + "fullDescription": { + "text": "Nullability of reference types in source type doesn't match target type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8620", + "shortDescription": { + "text": "Argument cannot be used for corresponding parameter due to differences in the nullability of reference types." + }, + "fullDescription": { + "text": "Argument cannot be used for corresponding parameter due to differences in the nullability of reference types." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8621", + "shortDescription": { + "text": "Nullability of reference types in return type doesn't match the target delegate (possibly because of nullability attributes)." + }, + "fullDescription": { + "text": "Nullability of reference types in return type doesn't match the target delegate (possibly because of nullability attributes)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8622", + "shortDescription": { + "text": "Nullability of reference types in type of a parameter doesn't match the target delegate (possibly because of nullability attributes)." + }, + "fullDescription": { + "text": "Nullability of reference types in type of a parameter doesn't match the target delegate (possibly because of nullability attributes)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8624", + "shortDescription": { + "text": "Argument cannot be used as an output for parameter due to differences in the nullability of reference types." + }, + "fullDescription": { + "text": "Argument cannot be used as an output for parameter due to differences in the nullability of reference types." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8625", + "shortDescription": { + "text": "Cannot convert null literal to non-nullable reference type." + }, + "fullDescription": { + "text": "Cannot convert null literal to non-nullable reference type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8629", + "shortDescription": { + "text": "Nullable value type may be null." + }, + "fullDescription": { + "text": "Nullable value type may be null." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-null-assigned-to-a-nonnullable-reference" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8631", + "shortDescription": { + "text": "Nullability of type argument doesn't match constraint type." + }, + "fullDescription": { + "text": "Nullability of type argument doesn't match constraint type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8632", + "shortDescription": { + "text": "The annotation for nullable reference types should only be used in code within a '#nullable' annotations context." + }, + "fullDescription": { + "text": "The annotation for nullable reference types should only be used in code within a '#nullable' annotations context." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8633", + "shortDescription": { + "text": "Nullability mismatch in constraints for type parameter." + }, + "fullDescription": { + "text": "Nullability mismatch in constraints for type parameter." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8634", + "shortDescription": { + "text": "Nullability of type argument doesn't match 'class' constraint." + }, + "fullDescription": { + "text": "Nullability of type argument doesn't match 'class' constraint." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8643", + "shortDescription": { + "text": "Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type." + }, + "fullDescription": { + "text": "Nullability of reference types in explicit interface specifier doesn't match interface implemented by the type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8644", + "shortDescription": { + "text": "Nullability of reference types in interface implemented by the base type doesn't match." + }, + "fullDescription": { + "text": "Nullability of reference types in interface implemented by the base type doesn't match." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8645", + "shortDescription": { + "text": "Type is already listed in the interface list with different nullability of reference types." + }, + "fullDescription": { + "text": "Type is already listed in the interface list with different nullability of reference types." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8655", + "shortDescription": { + "text": "The switch expression does not handle some null inputs (it is not exhaustive)." + }, + "fullDescription": { + "text": "The switch expression does not handle some null inputs (it is not exhaustive)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#exhaustive-switch-expression", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#exhaustive-switch-expression" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8656", + "shortDescription": { + "text": "Call to a non-readonly member from a 'readonly' member results in an implicit copy of 'this'" + }, + "fullDescription": { + "text": "Call to a non-readonly member from a 'readonly' member results in an implicit copy of 'this'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8667", + "shortDescription": { + "text": "Partial method declarations have inconsistent nullability for type parameter." + }, + "fullDescription": { + "text": "Partial method declarations have inconsistent nullability for type parameter." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8669", + "shortDescription": { + "text": "The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source." + }, + "fullDescription": { + "text": "The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. Auto-generated code requires an explicit '#nullable' directive in source." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8670", + "shortDescription": { + "text": "Object or collection initializer implicitly dereferences possibly null member." + }, + "fullDescription": { + "text": "Object or collection initializer implicitly dereferences possibly null member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-dereference-of-null", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#possible-dereference-of-null" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8714", + "shortDescription": { + "text": "Nullability of type argument doesn't match 'notnull' constraint." + }, + "fullDescription": { + "text": "Nullability of type argument doesn't match 'notnull' constraint." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8762", + "shortDescription": { + "text": "Parameter must conditionally have a non-null value when exiting a function." + }, + "fullDescription": { + "text": "Parameter must conditionally have a non-null value when exiting a function." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#nonnullable-reference-not-initialized", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#nonnullable-reference-not-initialized" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8763", + "shortDescription": { + "text": "A method marked [DoesNotReturn] should not return." + }, + "fullDescription": { + "text": "A method marked [DoesNotReturn] should not return." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8764", + "shortDescription": { + "text": "Nullability of return type doesn't match overridden member (possibly because of nullability attributes)." + }, + "fullDescription": { + "text": "Nullability of return type doesn't match overridden member (possibly because of nullability attributes)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8765", + "shortDescription": { + "text": "Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes)." + }, + "fullDescription": { + "text": "Nullability of type of parameter doesn't match overridden member (possibly because of nullability attributes)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8766", + "shortDescription": { + "text": "Nullability of return type doesn't match implicitly implemented member (possibly because of nullability attributes)." + }, + "fullDescription": { + "text": "Nullability of return type doesn't match implicitly implemented member (possibly because of nullability attributes)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8767", + "shortDescription": { + "text": "Nullability of type of parameter doesn't match implicitly implemented member (possibly because of nullability attributes)." + }, + "fullDescription": { + "text": "Nullability of type of parameter doesn't match implicitly implemented member (possibly because of nullability attributes)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8768", + "shortDescription": { + "text": "Nullability of return type doesn't match implemented member (possibly because of nullability attributes)." + }, + "fullDescription": { + "text": "Nullability of return type doesn't match implemented member (possibly because of nullability attributes)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8769", + "shortDescription": { + "text": "Nullability of type of parameter doesn't match implemented member (possibly because of nullability attributes)." + }, + "fullDescription": { + "text": "Nullability of type of parameter doesn't match implemented member (possibly because of nullability attributes)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8770", + "shortDescription": { + "text": "Method lacks '[DoesNotReturn]' annotation in order to match implemented or overridden member." + }, + "fullDescription": { + "text": "Method lacks '[DoesNotReturn]' annotation in order to match implemented or overridden member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8774", + "shortDescription": { + "text": "Member must have a non-null value when exiting." + }, + "fullDescription": { + "text": "Member must have a non-null value when exiting." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8775", + "shortDescription": { + "text": "Member must conditionally have a non-null value when exiting a function." + }, + "fullDescription": { + "text": "Member must conditionally have a non-null value when exiting a function." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8776", + "shortDescription": { + "text": "Member cannot be used in this attribute." + }, + "fullDescription": { + "text": "Member cannot be used in this attribute." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8777", + "shortDescription": { + "text": "Parameter must have a non-null value when exiting." + }, + "fullDescription": { + "text": "Parameter must have a non-null value when exiting." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8794", + "shortDescription": { + "text": "Given expression always matches the provided pattern" + }, + "fullDescription": { + "text": "Given expression always matches the provided pattern" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8819", + "shortDescription": { + "text": "Nullability of reference types in return type doesn't match partial method declaration." + }, + "fullDescription": { + "text": "Nullability of reference types in return type doesn't match partial method declaration." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#mismatch-in-nullability-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8824", + "shortDescription": { + "text": "Parameter must have a non-null value when exiting because parameter mentioned in [NotNullIfNotNull] annotation is non-null." + }, + "fullDescription": { + "text": "Parameter must have a non-null value when exiting because parameter mentioned in [NotNullIfNotNull] annotation is non-null." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8825", + "shortDescription": { + "text": "Return value must be non-null because parameter mentioned in [NotNullIfNotNull] annotation is non-null." + }, + "fullDescription": { + "text": "Return value must be non-null because parameter mentioned in [NotNullIfNotNull] annotation is non-null." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#code-doesnt-match-attribute-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8846", + "shortDescription": { + "text": "The switch expression does not handle all possible values of its input type (it is not exhaustive). However, a pattern with a 'when' clause might successfully match this value." + }, + "fullDescription": { + "text": "The switch expression does not handle all possible values of its input type (it is not exhaustive). However, a pattern with a 'when' clause might successfully match this value." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8847", + "shortDescription": { + "text": "The switch expression does not handle some null inputs (it is not exhaustive). However, a pattern with a 'when' clause might successfully match this value." + }, + "fullDescription": { + "text": "The switch expression does not handle some null inputs (it is not exhaustive). However, a pattern with a 'when' clause might successfully match this value." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#exhaustive-switch-expression", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/nullable-warnings#exhaustive-switch-expression" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8851", + "shortDescription": { + "text": "Record defined 'Equals' but not 'GetHashCode'" + }, + "fullDescription": { + "text": "Record defined 'Equals' but not 'GetHashCode'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8860", + "shortDescription": { + "text": "Types and aliases should not be named 'record'" + }, + "fullDescription": { + "text": "Types and aliases should not be named 'record'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8892", + "shortDescription": { + "text": "Asynchronous 'Main' method will not be used as an entry point because a synchronous entry point was found." + }, + "fullDescription": { + "text": "Asynchronous 'Main' method will not be used as an entry point because a synchronous entry point was found." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs8892---method-will-not-be-used-as-an-entry-point-because-a-synchronous-entry-point-method-was-found", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs8892---method-will-not-be-used-as-an-entry-point-because-a-synchronous-entry-point-method-was-found" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8947", + "shortDescription": { + "text": "Parameter occurs after interpolated string handler parameter in the parameter list." + }, + "fullDescription": { + "text": "Parameter occurs after interpolated string handler parameter in the parameter list." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8960", + "shortDescription": { + "text": "The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerLineNumberAttribute" + }, + "fullDescription": { + "text": "The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerLineNumberAttribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8961", + "shortDescription": { + "text": "The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerFilePathAttribute" + }, + "fullDescription": { + "text": "The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerFilePathAttribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8962", + "shortDescription": { + "text": "The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerMemberNameAttribute" + }, + "fullDescription": { + "text": "The CallerArgumentExpressionAttribute will have no effect; it is overridden by the CallerMemberNameAttribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8963", + "shortDescription": { + "text": "The CallerArgumentExpressionAttribute is applied with an invalid parameter name." + }, + "fullDescription": { + "text": "The CallerArgumentExpressionAttribute is applied with an invalid parameter name." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8965", + "shortDescription": { + "text": "The CallerArgumentExpressionAttribute applied to parameter will have no effect because it's self-referential" + }, + "fullDescription": { + "text": "The CallerArgumentExpressionAttribute applied to parameter will have no effect because it's self-referential" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8966", + "shortDescription": { + "text": "The CallerArgumentExpressionAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "fullDescription": { + "text": "The CallerArgumentExpressionAttribute will have no effect because it applies to a member that is used in contexts that do not allow optional arguments" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8971", + "shortDescription": { + "text": "[InterpolatedStringHandlerArgument] has no effect when applied to lambda parameters and will be ignored at the call site." + }, + "fullDescription": { + "text": "[InterpolatedStringHandlerArgument] has no effect when applied to lambda parameters and will be ignored at the call site." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#syntax-limitations-in-lambda-expressions" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8974", + "shortDescription": { + "text": "Converting method group to non-delegate type 'object'." + }, + "fullDescription": { + "text": "Converting method group to non-delegate type 'object'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS8981", + "shortDescription": { + "text": "The type name only contains lower-cased ASCII characters. Such names may become reserved for the language" + }, + "fullDescription": { + "text": "The type name only contains lower-cased ASCII characters. Such names may become reserved for the language" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs8981---the-type-name-only-contains-lower-cased-ascii-characters", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs8981---the-type-name-only-contains-lower-cased-ascii-characters" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9042", + "shortDescription": { + "text": "Obsolete members should not be required." + }, + "fullDescription": { + "text": "Obsolete members should not be required." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9073", + "shortDescription": { + "text": "The 'scoped' modifier of a parameter doesn't match target delegate." + }, + "fullDescription": { + "text": "The 'scoped' modifier of a parameter doesn't match target delegate." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9074", + "shortDescription": { + "text": "The 'scoped' modifier of parameter doesn't match overridden or implemented member." + }, + "fullDescription": { + "text": "The 'scoped' modifier of parameter doesn't match overridden or implemented member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9080", + "shortDescription": { + "text": "Use of a variable in this context may expose referenced variables outside of their declaration scope." + }, + "fullDescription": { + "text": "Use of a variable in this context may expose referenced variables outside of their declaration scope." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9081", + "shortDescription": { + "text": "A result of a stackalloc expression in this context may be exposed outside of the containing method." + }, + "fullDescription": { + "text": "A result of a stackalloc expression in this context may be exposed outside of the containing method." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9082", + "shortDescription": { + "text": "A local variable is returned by reference but was initialized to a value that cannot be returned by reference." + }, + "fullDescription": { + "text": "A local variable is returned by reference but was initialized to a value that cannot be returned by reference." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9083", + "shortDescription": { + "text": "A member of a variable is returned by reference but was initialized to a value that cannot be returned by reference" + }, + "fullDescription": { + "text": "A member of a variable is returned by reference but was initialized to a value that cannot be returned by reference" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9084", + "shortDescription": { + "text": "Struct member returns 'this' or other instance members by reference." + }, + "fullDescription": { + "text": "Struct member returns 'this' or other instance members by reference." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9085", + "shortDescription": { + "text": "This ref-assigns an expression to a variable with a narrower escape scope." + }, + "fullDescription": { + "text": "This ref-assigns an expression to a variable with a narrower escape scope." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9086", + "shortDescription": { + "text": "The branches of the ref conditional operator refer to variables with incompatible declaration scopes." + }, + "fullDescription": { + "text": "The branches of the ref conditional operator refer to variables with incompatible declaration scopes." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9087", + "shortDescription": { + "text": "This returns a parameter by reference but it is not a ref parameter." + }, + "fullDescription": { + "text": "This returns a parameter by reference but it is not a ref parameter." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9088", + "shortDescription": { + "text": "This returns a parameter by reference but it is scoped to the current method." + }, + "fullDescription": { + "text": "This returns a parameter by reference but it is scoped to the current method." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9089", + "shortDescription": { + "text": "This returns by reference a member of parameter that is not a ref or out parameter." + }, + "fullDescription": { + "text": "This returns by reference a member of parameter that is not a ref or out parameter." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9090", + "shortDescription": { + "text": "This returns by reference a member of parameter that is scoped to the current method." + }, + "fullDescription": { + "text": "This returns by reference a member of parameter that is scoped to the current method." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9091", + "shortDescription": { + "text": "This returns local by reference but it is not a ref local." + }, + "fullDescription": { + "text": "This returns local by reference but it is not a ref local." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9092", + "shortDescription": { + "text": "This returns a member of local by reference but it is not a ref local." + }, + "fullDescription": { + "text": "This returns a member of local by reference but it is not a ref local." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9093", + "shortDescription": { + "text": "This ref-assigns a value that can only escape the current method through a return statement." + }, + "fullDescription": { + "text": "This ref-assigns a value that can only escape the current method through a return statement." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9094", + "shortDescription": { + "text": "This returns a parameter by reference through a ref parameter; but it can only safely be returned in a return statement." + }, + "fullDescription": { + "text": "This returns a parameter by reference through a ref parameter; but it can only safely be returned in a return statement." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9095", + "shortDescription": { + "text": "This returns by reference a member of parameter through a ref parameter; but it can only safely be returned in a return statement." + }, + "fullDescription": { + "text": "This returns by reference a member of parameter through a ref parameter; but it can only safely be returned in a return statement." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9097", + "shortDescription": { + "text": "This ref-assigns a value that has a wider value escape scope than the target allowing assignment through the target of values with narrower escapes scopes." + }, + "fullDescription": { + "text": "This ref-assigns a value that has a wider value escape scope than the target allowing assignment through the target of values with narrower escapes scopes." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#ref-safety-violations" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9099", + "shortDescription": { + "text": "The default parameter value does not match in the target delegate type." + }, + "fullDescription": { + "text": "The default parameter value does not match in the target delegate type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#lambda-expression-delegate-type", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#lambda-expression-delegate-type" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9100", + "shortDescription": { + "text": "Parameter has params modifier in lambda but not in target delegate type." + }, + "fullDescription": { + "text": "Parameter has params modifier in lambda but not in target delegate type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#lambda-expression-delegate-type", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/lambda-expression-errors#lambda-expression-delegate-type" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9107", + "shortDescription": { + "text": "Parameter is captured into the state of the enclosing type and its value is also passed to the base constructor. The value might be captured by the base class as well." + }, + "fullDescription": { + "text": "Parameter is captured into the state of the enclosing type and its value is also passed to the base constructor. The value might be captured by the base class as well." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/constructor-errors#primary-constructor-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/constructor-errors#primary-constructor-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9123", + "shortDescription": { + "text": "The '&' operator should not be used on parameters or local variables in async methods." + }, + "fullDescription": { + "text": "The '&' operator should not be used on parameters or local variables in async methods." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs9123---taking-address-of-local-or-parameter-in-async-method-can-create-a-gc-hole", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/warning-waves#cs9123---taking-address-of-local-or-parameter-in-async-method-can-create-a-gc-hole" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9124", + "shortDescription": { + "text": "Parameter is captured into the state of the enclosing type and its value is also used to initialize a field, property, or event." + }, + "fullDescription": { + "text": "Parameter is captured into the state of the enclosing type and its value is also used to initialize a field, property, or event." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/constructor-errors#primary-constructor-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/constructor-errors#primary-constructor-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9154", + "shortDescription": { + "text": "Signatures of interceptable and interceptor methods do not match" + }, + "fullDescription": { + "text": "Signatures of interceptable and interceptor methods do not match" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/source-generator-errors#signature-mismatch", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/source-generator-errors#signature-mismatch" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9158", + "shortDescription": { + "text": "Nullability of reference types in type of parameter doesn't match interceptable method" + }, + "fullDescription": { + "text": "Nullability of reference types in type of parameter doesn't match interceptable method" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/source-generator-errors#signature-mismatch", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/source-generator-errors#signature-mismatch" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9159", + "shortDescription": { + "text": "Nullability of reference types in return type in interceptor method doesn't match interceptable method'" + }, + "fullDescription": { + "text": "Nullability of reference types in return type in interceptor method doesn't match interceptable method'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/source-generator-errors#signature-mismatch", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/source-generator-errors#signature-mismatch" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9179", + "shortDescription": { + "text": "Primary constructor parameter is shadowed by a member from base type." + }, + "fullDescription": { + "text": "Primary constructor parameter is shadowed by a member from base type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/constructor-errors#primary-constructor-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/constructor-errors#primary-constructor-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9181", + "shortDescription": { + "text": "Inline array indexer will not be used for element access expression." + }, + "fullDescription": { + "text": "Inline array indexer will not be used for element access expression." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/inline-array-errors#element-access", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/inline-array-errors#element-access" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9182", + "shortDescription": { + "text": "Inline array 'Slice' method will not be used for element access expression." + }, + "fullDescription": { + "text": "Inline array 'Slice' method will not be used for element access expression." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/inline-array-errors#conversions-to-span", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/inline-array-errors#conversions-to-span" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9183", + "shortDescription": { + "text": "Inline array conversion operator will not be used for conversion from expression of the declaring type." + }, + "fullDescription": { + "text": "Inline array conversion operator will not be used for conversion from expression of the declaring type." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/inline-array-errors#conversions-to-span", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/inline-array-errors#conversions-to-span" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9184", + "shortDescription": { + "text": "'Inline arrays' language feature is not supported for inline array types with element field which is either a 'ref' field, or has type that is not valid as a type argument." + }, + "fullDescription": { + "text": "'Inline arrays' language feature is not supported for inline array types with element field which is either a 'ref' field, or has type that is not valid as a type argument." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/inline-array-errors#inline-array-declaration", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/inline-array-errors#inline-array-declaration" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9191", + "shortDescription": { + "text": "The 'ref' modifier for an argument corresponding to 'in' parameter is equivalent to 'in'. Consider using 'in' instead." + }, + "fullDescription": { + "text": "The 'ref' modifier for an argument corresponding to 'in' parameter is equivalent to 'in'. Consider using 'in' instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variables-require-a-referent", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variables-require-a-referent" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9192", + "shortDescription": { + "text": "The 'ref' modifier for an argument corresponding to 'in' parameter is equivalent to 'in'. Consider using 'in' instead." + }, + "fullDescription": { + "text": "The 'ref' modifier for an argument corresponding to 'in' parameter is equivalent to 'in'. Consider using 'in' instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variables-require-a-referent", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variables-require-a-referent" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9193", + "shortDescription": { + "text": "Argument should be a variable because it is passed to a 'ref readonly' parameter." + }, + "fullDescription": { + "text": "Argument should be a variable because it is passed to a 'ref readonly' parameter." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variables-require-a-referent", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variables-require-a-referent" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9195", + "shortDescription": { + "text": "Argument should be passed with the 'in' keyword." + }, + "fullDescription": { + "text": "Argument should be passed with the 'in' keyword." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variables-require-a-referent", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variables-require-a-referent" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9196", + "shortDescription": { + "text": "Reference kind modifier of parameter doesn't match the corresponding parameter in overridden or implemented member." + }, + "fullDescription": { + "text": "Reference kind modifier of parameter doesn't match the corresponding parameter in overridden or implemented member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variable-restrictions", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variable-restrictions" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9197", + "shortDescription": { + "text": "Reference kind modifier of parameter doesn't match the corresponding parameter in hidden member." + }, + "fullDescription": { + "text": "Reference kind modifier of parameter doesn't match the corresponding parameter in hidden member." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9198", + "shortDescription": { + "text": "Reference kind modifier of parameter doesn't match the corresponding parameter in target." + }, + "fullDescription": { + "text": "Reference kind modifier of parameter doesn't match the corresponding parameter in target." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9200", + "shortDescription": { + "text": "A default value is specified for 'ref readonly' parameter, but 'ref readonly' should be used only for references. Consider declaring the parameter as 'in'." + }, + "fullDescription": { + "text": "A default value is specified for 'ref readonly' parameter, but 'ref readonly' should be used only for references. Consider declaring the parameter as 'in'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variable-restrictions", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/ref-modifiers-errors#reference-variable-restrictions" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9204", + "shortDescription": { + "text": "Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed." + }, + "fullDescription": { + "text": "Type is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9208", + "shortDescription": { + "text": "Collection expression may incur unexpected heap allocations" + }, + "fullDescription": { + "text": "Collection expression may incur unexpected heap allocations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9209", + "shortDescription": { + "text": "Collection expression may incur unexpected heap allocations due to the use of '..' spreads" + }, + "fullDescription": { + "text": "Collection expression may incur unexpected heap allocations due to the use of '..' spreads" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9216", + "shortDescription": { + "text": "A value of type 'System.Threading.Lock' converted to a different type will use likely unintended monitor-based locking in 'lock' statement" + }, + "fullDescription": { + "text": "A value of type 'System.Threading.Lock' converted to a different type will use likely unintended monitor-based locking in 'lock' statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/lock-semantics#lock-warning", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/lock-semantics#lock-warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9256", + "shortDescription": { + "text": "Partial member declarations have signature differences." + }, + "fullDescription": { + "text": "Partial member declarations have signature differences." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/partial-declarations#partial-properties", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/partial-declarations#partial-properties" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9258", + "shortDescription": { + "text": "In language version preview, the 'field' keyword binds to a synthesized backing field for the property" + }, + "fullDescription": { + "text": "In language version preview, the 'field' keyword binds to a synthesized backing field for the property" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/partial-declarations#field-backed-properties", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/partial-declarations#field-backed-properties" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9264", + "shortDescription": { + "text": "Non-nullable backing field is uninitialized." + }, + "fullDescription": { + "text": "Non-nullable backing field is uninitialized." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/partial-declarations#field-backed-properties", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/partial-declarations#field-backed-properties" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::CS9266", + "shortDescription": { + "text": "This accessor should use 'field' because the other accessor is using it." + }, + "fullDescription": { + "text": "This accessor should use 'field' because the other accessor is using it." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/partial-declarations#field-backed-properties", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/compiler-messages/partial-declarations#field-backed-properties" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::SYSLIB1014", + "shortDescription": { + "text": "A template in the logging message doesn't have a matching parameter in the logging method definition" + }, + "fullDescription": { + "text": "A template in the logging message doesn't have a matching parameter in the logging method definition" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/fundamentals/syslib-diagnostics/syslib1014", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/fundamentals/syslib-diagnostics/syslib1014" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings::WME006", + "shortDescription": { + "text": "Namespace should be default namespace of this project" + }, + "fullDescription": { + "text": "Namespace should be default namespace of this project" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanReplaceCastWithLambdaReturnType", + "shortDescription": { + "text": "Cast expression can be replaced with lambda return type" + }, + "fullDescription": { + "text": "Replace cast expression with lambda return type to enhance compile-time safety" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanReplaceCastWithLambdaReturnType.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanReplaceCastWithLambdaReturnType.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanReplaceCastWithShorterTypeArgument", + "shortDescription": { + "text": "Cast expression can be replaced with simplified type arguments" + }, + "fullDescription": { + "text": "Replace cast expression with simplified type arguments to enhance compile-time safety and code conciseness" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanReplaceCastWithShorterTypeArgument.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanReplaceCastWithShorterTypeArgument.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanReplaceCastWithTypeArgument", + "shortDescription": { + "text": "Cast expression can be replaced with explicit type arguments" + }, + "fullDescription": { + "text": "Replace cast expression with explicit type arguments to enhance compile-time safety" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanReplaceCastWithTypeArgument.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanReplaceCastWithTypeArgument.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanReplaceCastWithVariableType", + "shortDescription": { + "text": "Cast expression can be replaced with explicit variable type" + }, + "fullDescription": { + "text": "Replace cast expression with explicit variable type to enhance compile-time safety" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanReplaceCastWithVariableType.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanReplaceCastWithVariableType.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyDictionaryLookupWithTryAdd", + "shortDescription": { + "text": "Dictionary lookup can be simplified with 'TryAdd'" + }, + "fullDescription": { + "text": "Dictionary lookup can be simplified with 'TryAdd'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryLookupWithTryAdd.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryLookupWithTryAdd.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyDictionaryLookupWithTryGetValue", + "shortDescription": { + "text": "Dictionary lookup can be simplified with 'TryGetValue'" + }, + "fullDescription": { + "text": "Dictionary lookup can be simplified with 'TryGetValue'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryLookupWithTryGetValue.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryLookupWithTryGetValue.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyDictionaryRemovingWithSingleCall", + "shortDescription": { + "text": "Dictionary item removal can be simplified with single 'Remove'" + }, + "fullDescription": { + "text": "Dictionary item removal can be simplified using single 'Remove' call with out-parameter" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryRemovingWithSingleCall.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryRemovingWithSingleCall.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyDictionaryTryGetValueWithGetValueOrDefault", + "shortDescription": { + "text": "Dictionary lookup can be simplified with 'GetValueOrDefault'" + }, + "fullDescription": { + "text": "Dictionary lookup can be simplified with 'GetValueOrDefault' extension method" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryTryGetValueWithGetValueOrDefault.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryTryGetValueWithGetValueOrDefault.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyIsAssignableFrom", + "shortDescription": { + "text": "Simplify 'IsInstanceOfType()' invocation" + }, + "fullDescription": { + "text": "IsInstanceOfType() invocation can be simplified with 'is' operator" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanSimplifyIsAssignableFrom.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanSimplifyIsAssignableFrom.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyIsInstanceOfType", + "shortDescription": { + "text": "Use 'is' operator" + }, + "fullDescription": { + "text": "IsAssignableFrom() invocation can be simplified using IsInstanceOfType() or 'is' operator" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanSimplifyIsInstanceOfType.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanSimplifyIsInstanceOfType.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifySetAddingWithSingleCall", + "shortDescription": { + "text": "Can simplify 'Contains' before 'Add'" + }, + "fullDescription": { + "text": "Calling 'Contains' before 'Add' on a set is redundant and can be simplified with a single 'Add' call" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanSimplifySetAddingWithSingleCall.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanSimplifySetAddingWithSingleCall.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CanSimplifyStringEscapeSequence", + "shortDescription": { + "text": "Escape sequence can be simplified" + }, + "fullDescription": { + "text": "Escape sequence can be simplified" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CanSimplifyStringEscapeSequence.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CanSimplifyStringEscapeSequence.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CannotApplyEqualityOperatorToType", + "shortDescription": { + "text": "Values of types marked with 'CannotApplyEqualityOperatorAttribute' should be compared using 'Equals()'" + }, + "fullDescription": { + "text": "Type is marked by 'CannotApplyEqualityOperatorAttribute' attribute but it is compared using '==' or '!=' operators" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CannotApplyEqualityOperatorToType.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CannotApplyEqualityOperatorToType.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CapturedPrimaryConstructorParameterIsMutable", + "shortDescription": { + "text": "Captured primary constructor parameter is mutable" + }, + "fullDescription": { + "text": "Primary constructor parameter is captured and mutated by instance member(s), consider using explicit non-readonly field instead" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CapturedPrimaryConstructorParameterIsMutable.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CapturedPrimaryConstructorParameterIsMutable.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CenterTagIsObsolete", + "shortDescription": { + "text": "Obsolete tags and attributes:
is obsolete" + }, + "fullDescription": { + "text": "<([)center(]) $attrs$>$content$
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ChangeFieldTypeToSystemThreadingLock", + "shortDescription": { + "text": "Change lock field type to 'System.Threading.Lock'" + }, + "fullDescription": { + "text": "The type of the lock field can be changed to 'System.Threading.Lock' to express the field's intent" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ChangeFieldTypeToSystemThreadingLock.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ChangeFieldTypeToSystemThreadingLock.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckForReferenceEqualityInstead.1", + "shortDescription": { + "text": "Check for reference equality instead: Check for reference equality instead" + }, + "fullDescription": { + "text": "$type$.Equals($type2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckForReferenceEqualityInstead.2", + "shortDescription": { + "text": "Check for reference equality instead: Check for reference equality instead" + }, + "fullDescription": { + "text": "Equals($type$,$type2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckForReferenceEqualityInstead.3", + "shortDescription": { + "text": "Check for reference equality instead: Check for reference equality instead" + }, + "fullDescription": { + "text": "!$type$.Equals($type2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckForReferenceEqualityInstead.4", + "shortDescription": { + "text": "Check for reference equality instead: Check for reference equality instead" + }, + "fullDescription": { + "text": "!Equals($type$,$type2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckNamespace", + "shortDescription": { + "text": "Namespace does not correspond to file location" + }, + "fullDescription": { + "text": "Namespace in file does not have a form of 'project Default Namespace plus folder names in the path to the file'. You can configure which folders form the namespace on the folder's Properties page." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CheckNamespace.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CheckNamespace.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClassCanBeSealed.Global", + "shortDescription": { + "text": "Class can be made sealed (non-inheritable): Non-private accessibility" + }, + "fullDescription": { + "text": "Class has no inheritors and can be marked sealed (non-inheritable)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClassCanBeSealed.Local", + "shortDescription": { + "text": "Class can be made sealed (non-inheritable): Private accessibility" + }, + "fullDescription": { + "text": "Class has no inheritors and can be marked sealed (non-inheritable)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClassCannotBeInstantiated", + "shortDescription": { + "text": "Class cannot be instantiated" + }, + "fullDescription": { + "text": "Remove 'sealed' modifier or make constructor public or internal" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClassNeverInstantiated.Global", + "shortDescription": { + "text": "Class is never instantiated: Non-private accessibility" + }, + "fullDescription": { + "text": "Non-static class is never instantiated" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ClassNeverInstantiated.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ClassNeverInstantiated.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClassNeverInstantiated.Local", + "shortDescription": { + "text": "Class is never instantiated: Private accessibility" + }, + "fullDescription": { + "text": "Non-static class is never instantiated" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ClassNeverInstantiated.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ClassNeverInstantiated.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClassWithVirtualMembersNeverInherited.Global", + "shortDescription": { + "text": "Class with virtual (overridable) members never inherited: Non-private accessibility" + }, + "fullDescription": { + "text": "Non-abstract class has virtual (overridable) members but has no inheritors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ClassWithVirtualMembersNeverInherited.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ClassWithVirtualMembersNeverInherited.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClassWithVirtualMembersNeverInherited.Local", + "shortDescription": { + "text": "Class with virtual (overridable) members never inherited: Private accessibility" + }, + "fullDescription": { + "text": "Non-abstract class has virtual (overridable) members but has no inheritors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ClassWithVirtualMembersNeverInherited.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ClassWithVirtualMembersNeverInherited.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClearAttributeIsObsolete", + "shortDescription": { + "text": "Obsolete tags and attributes: Attribute 'clear' is obsolete" + }, + "fullDescription": { + "text": "<$tag$ ([)clear=\"$val$\"(]) $a1$>" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClearAttributeIsObsolete.All", + "shortDescription": { + "text": "Obsolete tags and attributes: Attribute 'clear' is obsolete" + }, + "fullDescription": { + "text": "<$tag$ ([)clear=all(]) $a1$>" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CoVariantArrayConversion", + "shortDescription": { + "text": "Co-variant array conversion" + }, + "fullDescription": { + "text": "Co-variant conversion of array could cause run-time exceptions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CoVariantArrayConversion.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CoVariantArrayConversion.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CollectionNeverQueried.Global", + "shortDescription": { + "text": "Collection content is never queried: Non-private accessibility" + }, + "fullDescription": { + "text": "Elements are only added to the collection but never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CollectionNeverQueried.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CollectionNeverQueried.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CollectionNeverQueried.Local", + "shortDescription": { + "text": "Collection content is never queried: Private accessibility" + }, + "fullDescription": { + "text": "Elements are only added to the collection but never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CollectionNeverQueried.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CollectionNeverQueried.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CollectionNeverUpdated.Global", + "shortDescription": { + "text": "Collection is never updated: Non-private accessibility" + }, + "fullDescription": { + "text": "New elements are never added to the collection" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CollectionNeverUpdated.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CollectionNeverUpdated.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CollectionNeverUpdated.Local", + "shortDescription": { + "text": "Collection is never updated: Private accessibility" + }, + "fullDescription": { + "text": "New elements are never added to the collection" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CollectionNeverUpdated.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CollectionNeverUpdated.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CommandInvasionDeclaration.Global", + "shortDescription": { + "text": "CQRS context intersection. Command is called from the Query context.: Show on declarations" + }, + "fullDescription": { + "text": "CQRS context intersection. Command is called from the Query context." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CommandInvasionDeclaration.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CommandInvasionDeclaration.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CommandInvasionUsage.Global", + "shortDescription": { + "text": "CQRS context intersection. Command is called from the Query context.: Show on usages" + }, + "fullDescription": { + "text": "CQRS context intersection. Command is called from the Query context." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CommandInvasionUsage.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CommandInvasionUsage.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CompareNonConstrainedGenericWithNull", + "shortDescription": { + "text": "Possible comparison of value type with 'null'" + }, + "fullDescription": { + "text": "Generic type has no value or class constraint, the condition could be always 'false'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CompareNonConstrainedGenericWithNull.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CompareNonConstrainedGenericWithNull.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CompareOfFloatsByEqualityOperator", + "shortDescription": { + "text": "Equality comparison of floating point numbers" + }, + "fullDescription": { + "text": "Equality comparison of floating point numbers" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CompareOfFloatsByEqualityOperator.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CompareOfFloatsByEqualityOperator.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionIsAlwaysTrueOrFalse", + "shortDescription": { + "text": "Expression is always 'true' or always 'false'" + }, + "fullDescription": { + "text": "Value of a boolean expression is always the same at this point" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConditionIsAlwaysTrueOrFalse.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConditionIsAlwaysTrueOrFalse.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract", + "shortDescription": { + "text": "Expression is always 'true' or 'false' according to nullable reference types' annotations" + }, + "fullDescription": { + "text": "Expression is always 'true' or 'false' according to nullable reference types' annotations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConditionIsAlwaysTrueOrFalseAccordingToNullableAPIContract.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionalAccessQualifierIsNonNullableAccordingToAPIContract", + "shortDescription": { + "text": "Conditional access qualifier expression is not null according to nullable reference types' annotations" + }, + "fullDescription": { + "text": "Conditional access qualifier expression is not null according to nullable reference types' annotations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionalTernaryEqualBranch", + "shortDescription": { + "text": "'?:' expression has identical true and false branches" + }, + "fullDescription": { + "text": "'?:' expression has identical true and false branches" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConditionalTernaryEqualBranch.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConditionalTernaryEqualBranch.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConflictCqrsAttribute", + "shortDescription": { + "text": "Conflicting CQRS attribute" + }, + "fullDescription": { + "text": "CQRS entity is annotated with conflicting attribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConflictCqrsAttribute.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConflictCqrsAttribute.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConfusingCharAsIntegerInConstructor", + "shortDescription": { + "text": "Char is possibly unintentionally used as integer" + }, + "fullDescription": { + "text": "Char is possibly unintentionally used as integer" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantConditionalAccessQualifier", + "shortDescription": { + "text": "Conditional access qualifier expression is known to be null or not null" + }, + "fullDescription": { + "text": "Conditional access qualifier expression is known to be null or not null" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantExpected", + "shortDescription": { + "text": "The parameter expects a constant for optimal performance" + }, + "fullDescription": { + "text": "An invalid argument is passed to a parameter annotated with 'ConstantExpectedAttribute'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1857", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1857" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantNullCoalescingCondition", + "shortDescription": { + "text": "'??' condition is known to be null or not null" + }, + "fullDescription": { + "text": "Operand of '??' expression condition is known to be null or not null" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConstantNullCoalescingCondition.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConstantNullCoalescingCondition.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstevalIfIsAlwaysConstant", + "shortDescription": { + "text": "consteval if is always constant" + }, + "fullDescription": { + "text": "consteval if is always constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstructorInitializerLoop", + "shortDescription": { + "text": "Possible cyclic constructor call" + }, + "fullDescription": { + "text": "Possible cyclic constructor call" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConstructorInitializerLoop.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConstructorInitializerLoop.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstructorWithMustDisposeResourceAttributeBaseIsNotAnnotated", + "shortDescription": { + "text": "[MustDisposeResource] annotation is not inherited from the base constructor and should be placed explicitly" + }, + "fullDescription": { + "text": "[MustDisposeResource] annotation is not inherited from the base constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConstructorWithMustDisposeResourceAttributeBaseIsNotAnnotated.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConstructorWithMustDisposeResourceAttributeBaseIsNotAnnotated.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContainerAnnotationRedundancy", + "shortDescription": { + "text": "Container nullability attribute usage with declaration of non-container type" + }, + "fullDescription": { + "text": "Container nullability attribute usage with declaration of non-container type does not affect code analysis" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContextValueIsProvided", + "shortDescription": { + "text": "Value of some context type is already provided" + }, + "fullDescription": { + "text": "Value of some context type is already provided by member annotated with [ProvidesContext] annotation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContractAnnotationNotParsed", + "shortDescription": { + "text": "Problem in contract annotation definition" + }, + "fullDescription": { + "text": "Input string in ContractAnnotation attribute could not be parsed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ContractAnnotationNotParsed.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ContractAnnotationNotParsed.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertClosureToMethodGroup", + "shortDescription": { + "text": "Convert lambda expression into method group" + }, + "fullDescription": { + "text": "Convert lambda expression or anonymous method into method group" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertClosureToMethodGroup.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertClosureToMethodGroup.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertConditionalTernaryExpressionToSwitchExpression", + "shortDescription": { + "text": "Replace ternary expression with 'switch' expression" + }, + "fullDescription": { + "text": "Replace chain of ternary expressions with 'switch' expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertConstructorToMemberInitializers", + "shortDescription": { + "text": "Convert constructor into member initializers" + }, + "fullDescription": { + "text": "Replace constructor with members initialized inline" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertConstructorToMemberInitializers.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertConstructorToMemberInitializers.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertIfDoToWhile", + "shortDescription": { + "text": "Convert 'if do while' into 'while'" + }, + "fullDescription": { + "text": "Simplify statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertIfStatementToConditionalTernaryExpression", + "shortDescription": { + "text": "'if' statement can be rewritten as '?:' expression" + }, + "fullDescription": { + "text": "Convert the following code:\r\n
\r\n  if (condition) x = expr1;\r\n  else x = expr2;\r\n
\r\nTo:\r\n
\r\n  x = condition ? expr1 : expr2;\r\n
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertIfStatementToConditionalTernaryExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertIfStatementToConditionalTernaryExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertIfStatementToNullCoalescingAssignment", + "shortDescription": { + "text": "'if' statement can be rewritten as '??=' assignment" + }, + "fullDescription": { + "text": "Convert the following code:\r\n
\r\n  if (x = null) x = expr;\r\n
\r\nTo:\r\n
\r\n   x ??= expr;\r\n
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertIfStatementToNullCoalescingExpression", + "shortDescription": { + "text": "'if' statement can be rewritten as '??' expression" + }, + "fullDescription": { + "text": "Convert the following code:\r\n
\r\n  var x = expr1;\r\n  if (x = null) x = expr2;\r\n
\r\nTo:\r\n
\r\n  var x = expr1 ?? expr2;\r\n
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertIfStatementToNullCoalescingExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertIfStatementToNullCoalescingExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertIfStatementToReturnStatement", + "shortDescription": { + "text": "'if-return' statement can be rewritten as 'return' statement" + }, + "fullDescription": { + "text": "Convert the following code:\r\n
\r\n  if (condition) return expr1;\r\n  return expr2;\r\n
\r\nTo:\r\n
\r\n  return condition ? expr1 : expr2;\r\n
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertIfStatementToReturnStatement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertIfStatementToReturnStatement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertIfStatementToSwitchStatement", + "shortDescription": { + "text": "Convert 'if' statement into 'switch'" + }, + "fullDescription": { + "text": "Convert series of 'if' statements into single 'switch'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertIfStatementToSwitchStatement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertIfStatementToSwitchStatement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertIfToOrExpression", + "shortDescription": { + "text": "Convert 'if' into '||'" + }, + "fullDescription": { + "text": "Suggest to replace\r\n bool result = x > 0;\r\n if (y > 0) result = true;\r\n To\r\n bool result = x > 0 || y > 0;" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertIfToOrExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertIfToOrExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertNullableToShortForm", + "shortDescription": { + "text": "Convert 'Nullable' into 'T?'" + }, + "fullDescription": { + "text": "Rewrite nullable type in short form" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertNullableToShortForm.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertNullableToShortForm.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertSwitchStatementToSwitchExpression", + "shortDescription": { + "text": "Replace 'switch' statement with 'switch' expression" + }, + "fullDescription": { + "text": "Replace 'switch' statement with 'switch' expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToAutoProperty", + "shortDescription": { + "text": "Convert property into auto-property" + }, + "fullDescription": { + "text": "Converts property declaration into C# auto-property syntax" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertToAutoProperty.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertToAutoProperty.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToAutoPropertyWhenPossible", + "shortDescription": { + "text": "Convert property into auto-property (when possible)" + }, + "fullDescription": { + "text": "Converts property declaration into C# auto-property syntax" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToAutoPropertyWithPrivateSetter", + "shortDescription": { + "text": "Convert property into auto-property with private setter" + }, + "fullDescription": { + "text": "Converts property declaration into C# auto-property syntax with private setter declared" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToCompoundAssignment", + "shortDescription": { + "text": "Use compound assignment" + }, + "fullDescription": { + "text": "Replace assignment with compound assignment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToConstant.Global", + "shortDescription": { + "text": "Convert local variable or field into constant: Non-private accessibility" + }, + "fullDescription": { + "text": "Convert local variable or field into constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToConstant.Local", + "shortDescription": { + "text": "Convert local variable or field into constant: Private accessibility" + }, + "fullDescription": { + "text": "Convert local variable or field into constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToExtensionBlock", + "shortDescription": { + "text": "Convert extension methods to extension block" + }, + "fullDescription": { + "text": "Convert classic extension methods to C#14 extension block" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertToExtensionBlock.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertToExtensionBlock.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToLambdaExpression", + "shortDescription": { + "text": "Convert into lambda expression" + }, + "fullDescription": { + "text": "Convert statement-bodied lambda into expression-bodied. Does not suggest the conversion when the expression contains nested closures or explicit side-effects." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertToLambdaExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertToLambdaExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToLocalFunction", + "shortDescription": { + "text": "Convert delegate variable into local function" + }, + "fullDescription": { + "text": "Replace delegate variable with local function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertToLocalFunction.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertToLocalFunction.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToNullCoalescingCompoundAssignment", + "shortDescription": { + "text": "Use compound assignment" + }, + "fullDescription": { + "text": "Replace null-coalescing expression with compound assignment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertToNullCoalescingCompoundAssignment.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertToNullCoalescingCompoundAssignment.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToPrimaryConstructor", + "shortDescription": { + "text": "Convert constructor into primary constructor" + }, + "fullDescription": { + "text": "Replace ordinary constructor with primary constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertToPrimaryConstructor.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertToPrimaryConstructor.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToStaticClass", + "shortDescription": { + "text": "Convert into static class" + }, + "fullDescription": { + "text": "Make class static" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToUsingDeclaration", + "shortDescription": { + "text": "Convert into 'using' declaration" + }, + "fullDescription": { + "text": "Replace 'using' statement with 'using' declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToVbAutoProperty", + "shortDescription": { + "text": "Convert property to auto-property" + }, + "fullDescription": { + "text": "Converts property declaration to VB.NET auto-property syntax." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToVbAutoPropertyWhenPossible", + "shortDescription": { + "text": "Convert property to auto-property when possible" + }, + "fullDescription": { + "text": "Converts property declaration to VB.NET auto-property syntax." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToVbAutoPropertyWithPrivateSetter", + "shortDescription": { + "text": "Convert property to auto-property with private setter" + }, + "fullDescription": { + "text": "Converts property declaration to VB.NET auto-property syntax with private setter declared." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertTypeCheckPatternToNullCheck", + "shortDescription": { + "text": "Use null check pattern instead of a type check succeeding on any not-null value" + }, + "fullDescription": { + "text": "The source expression is always of pattern's type, matches on all non-null values" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertTypeCheckToNullCheck", + "shortDescription": { + "text": "Use null check instead of a type check succeeding on any not-null value" + }, + "fullDescription": { + "text": "The expression of 'is' operator matches the provided type on any non-null value. Consider comparing with 'null' instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ConvertTypeCheckToNullCheck.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ConvertTypeCheckToNullCheck.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAbstractClassWithoutSpecifier", + "shortDescription": { + "text": "Class is abstract but not explicitly declared as such" + }, + "fullDescription": { + "text": "The class is abstract but not explicitly declared as such" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAbstractFinalClass", + "shortDescription": { + "text": "Abstract final class" + }, + "fullDescription": { + "text": "An abstract final class is marked as 'final' or 'sealed'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAbstractVirtualFunctionCallInCtor", + "shortDescription": { + "text": "Call to a virtual function inside a constructor/destructor will result in a pure virtual function call" + }, + "fullDescription": { + "text": "Calls to pure virtual functions inside constructors and destructors will result in runtime errors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAccessSpecifierWithNoDeclarations", + "shortDescription": { + "text": "Access specifier does not affect any declaration" + }, + "fullDescription": { + "text": "An access specifier does not affect any declaration and is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAssignedValueIsNeverUsed", + "shortDescription": { + "text": "Assigned value is never used" + }, + "fullDescription": { + "text": "Assigned value is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAwaiterTypeIsNotClass", + "shortDescription": { + "text": "Awaiter type is not a class" + }, + "fullDescription": { + "text": "The awaiter type must be a a class according to the C++20 standard" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadAngleBracketsSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around angle brackets" + }, + "fullDescription": { + "text": "Incorrect spacing: Around angle brackets" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadBracesSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around braces" + }, + "fullDescription": { + "text": "Incorrect spacing: Around braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadChildStatementIndent", + "shortDescription": { + "text": "Incorrect indent: Around child statement" + }, + "fullDescription": { + "text": "Incorrect indent: Around child statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadColonSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around colon" + }, + "fullDescription": { + "text": "Incorrect spacing: Around colon" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadCommaSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around comma" + }, + "fullDescription": { + "text": "Incorrect spacing: Around comma" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadControlBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around statement braces" + }, + "fullDescription": { + "text": "Incorrect indent: Around statement braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadControlBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around statement braces" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around statement braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadDeclarationBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around declaration braces" + }, + "fullDescription": { + "text": "Incorrect indent: Around declaration braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadDeclarationBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around declaration braces" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around declaration braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadEmptyBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around empty braces" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around empty braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadExpressionBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around expression braces" + }, + "fullDescription": { + "text": "Incorrect indent: Around expression braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadExpressionBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around expression braces" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around expression braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadIndent", + "shortDescription": { + "text": "Incorrect indent: Redundant indent/outdent elsewhere" + }, + "fullDescription": { + "text": "Incorrect indent: Redundant indent/outdent elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadListLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around comma in lists" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around comma in lists" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadMemberAccessSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around member access symbols" + }, + "fullDescription": { + "text": "Incorrect spacing: Around member access symbols" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadNamespaceBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around namespace braces" + }, + "fullDescription": { + "text": "Incorrect indent: Around namespace braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadParensLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks: Around parenthesis" + }, + "fullDescription": { + "text": "Incorrect line breaks: Around parenthesis" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadParensSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around parenthesis" + }, + "fullDescription": { + "text": "Incorrect spacing: Around parenthesis" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadSemicolonSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around semicolon" + }, + "fullDescription": { + "text": "Incorrect spacing: Around semicolon" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadSpacesAfterKeyword", + "shortDescription": { + "text": "Incorrect spacing: Between keyword and parenthesis" + }, + "fullDescription": { + "text": "Incorrect spacing: Between keyword and parenthesis" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadSquareBracketsSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around square brackets within a statement" + }, + "fullDescription": { + "text": "Incorrect spacing: Around square brackets within a statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadSwitchBracesIndent", + "shortDescription": { + "text": "Incorrect indent: Around switch statement" + }, + "fullDescription": { + "text": "Incorrect indent: Around switch statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadSymbolSpaces", + "shortDescription": { + "text": "Incorrect spacing: Around operator symbols" + }, + "fullDescription": { + "text": "Incorrect spacing: Around operator symbols" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBooleanIncrementExpression", + "shortDescription": { + "text": "Incrementing expression of type bool" + }, + "fullDescription": { + "text": "Incrementing expression of type bool is deprecated in C++11 and removed in C++17" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatBadCode", + "shortDescription": { + "text": "Incorrect format directive in boost::format" + }, + "fullDescription": { + "text": "A format string of boost::format contains an erroneous format directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatLegacyCode", + "shortDescription": { + "text": "Outdated format directive in boost::format" + }, + "fullDescription": { + "text": "A format string of boost::format contains a legacy printf-like code; type specifier is not taken into account" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatMixedArgs", + "shortDescription": { + "text": "Positional and non-positional arguments in the same boost::format call" + }, + "fullDescription": { + "text": "An argument of boost::format should contain either positional (%N%, %|N$...|) or serial (%|...|, %s) arguments, not both" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatTooFewArgs", + "shortDescription": { + "text": "Not enough arguments in a call to boost::format" + }, + "fullDescription": { + "text": "Not enough arguments in a call to boost::format" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoostFormatTooManyArgs", + "shortDescription": { + "text": "Too many arguments in a call to boost::format" + }, + "fullDescription": { + "text": "Too many arguments in a call to boost::format. Some of the arguments are not used." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBoundToDelegateMethodIsNotMarkedAsUFunction", + "shortDescription": { + "text": "Method bound to delegate is not marked with UFUNCTION macro" + }, + "fullDescription": { + "text": "Method bound to delegate must be marked with UFUNCTION macro" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCStyleCast", + "shortDescription": { + "text": "C-style cast is used instead of a C++ cast" + }, + "fullDescription": { + "text": "C-style cast is used instead of a C++ cast" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-casts-named", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-casts-named" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCVQualifierCanNotBeAppliedToReference", + "shortDescription": { + "text": "Adding cv-qualifiers to references has no effect" + }, + "fullDescription": { + "text": "Adding cv-qualifiers to references has no effect" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilCleanupCtad", + "shortDescription": { + "text": "abseil: abseil-cleanup-ctad clang-tidy check" + }, + "fullDescription": { + "text": "abseil-cleanup-ctad clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationAddition", + "shortDescription": { + "text": "abseil: abseil-duration-addition clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-addition clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationComparison", + "shortDescription": { + "text": "abseil: abseil-duration-comparison clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-comparison clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationConversionCast", + "shortDescription": { + "text": "abseil: abseil-duration-conversion-cast clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-conversion-cast clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationDivision", + "shortDescription": { + "text": "abseil: abseil-duration-division clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-division clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationFactoryFloat", + "shortDescription": { + "text": "abseil: abseil-duration-factory-float clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-factory-float clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationFactoryScale", + "shortDescription": { + "text": "abseil: abseil-duration-factory-scale clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-factory-scale clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationSubtraction", + "shortDescription": { + "text": "abseil: abseil-duration-subtraction clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-subtraction clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationUnnecessaryConversion", + "shortDescription": { + "text": "abseil: abseil-duration-unnecessary-conversion clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-unnecessary-conversion clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilFasterStrsplitDelimiter", + "shortDescription": { + "text": "abseil: abseil-faster-strsplit-delimiter clang-tidy check" + }, + "fullDescription": { + "text": "abseil-faster-strsplit-delimiter clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilNoInternalDependencies", + "shortDescription": { + "text": "abseil: abseil-no-internal-dependencies clang-tidy check" + }, + "fullDescription": { + "text": "abseil-no-internal-dependencies clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilNoNamespace", + "shortDescription": { + "text": "abseil: abseil-no-namespace clang-tidy check" + }, + "fullDescription": { + "text": "abseil-no-namespace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilRedundantStrcatCalls", + "shortDescription": { + "text": "abseil: abseil-redundant-strcat-calls clang-tidy check" + }, + "fullDescription": { + "text": "abseil-redundant-strcat-calls clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilStrCatAppend", + "shortDescription": { + "text": "abseil: abseil-str-cat-append clang-tidy check" + }, + "fullDescription": { + "text": "abseil-str-cat-append clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilStringFindStartswith", + "shortDescription": { + "text": "abseil: abseil-string-find-startswith clang-tidy check" + }, + "fullDescription": { + "text": "abseil-string-find-startswith clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilStringFindStrContains", + "shortDescription": { + "text": "abseil: abseil-string-find-str-contains clang-tidy check" + }, + "fullDescription": { + "text": "abseil-string-find-str-contains clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilTimeComparison", + "shortDescription": { + "text": "abseil: abseil-time-comparison clang-tidy check" + }, + "fullDescription": { + "text": "abseil-time-comparison clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilTimeSubtraction", + "shortDescription": { + "text": "abseil: abseil-time-subtraction clang-tidy check" + }, + "fullDescription": { + "text": "abseil-time-subtraction clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilUncheckedStatusorAccess", + "shortDescription": { + "text": "abseil: abseil-unchecked-statusor-access clang-tidy check" + }, + "fullDescription": { + "text": "abseil-unchecked-statusor-access clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilUpgradeDurationConversions", + "shortDescription": { + "text": "abseil: abseil-upgrade-duration-conversions clang-tidy check" + }, + "fullDescription": { + "text": "abseil-upgrade-duration-conversions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAlteraIdDependentBackwardBranch", + "shortDescription": { + "text": "altera: altera-id-dependent-backward-branch clang-tidy check" + }, + "fullDescription": { + "text": "altera-id-dependent-backward-branch clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAlteraKernelNameRestriction", + "shortDescription": { + "text": "altera: altera-kernel-name-restriction clang-tidy check" + }, + "fullDescription": { + "text": "altera-kernel-name-restriction clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAlteraSingleWorkItemBarrier", + "shortDescription": { + "text": "altera: altera-single-work-item-barrier clang-tidy check" + }, + "fullDescription": { + "text": "altera-single-work-item-barrier clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAlteraStructPackAlign", + "shortDescription": { + "text": "altera: altera-struct-pack-align clang-tidy check" + }, + "fullDescription": { + "text": "altera-struct-pack-align clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAlteraUnrollLoops", + "shortDescription": { + "text": "altera: altera-unroll-loops clang-tidy check" + }, + "fullDescription": { + "text": "altera-unroll-loops clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecAccept", + "shortDescription": { + "text": "android: android-cloexec-accept clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-accept clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecAccept4", + "shortDescription": { + "text": "android: android-cloexec-accept4 clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-accept4 clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecCreat", + "shortDescription": { + "text": "android: android-cloexec-creat clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-creat clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecDup", + "shortDescription": { + "text": "android: android-cloexec-dup clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-dup clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecEpollCreate", + "shortDescription": { + "text": "android: android-cloexec-epoll-create clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-epoll-create clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecEpollCreate1", + "shortDescription": { + "text": "android: android-cloexec-epoll-create1 clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-epoll-create1 clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecFopen", + "shortDescription": { + "text": "android: android-cloexec-fopen clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-fopen clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecInotifyInit", + "shortDescription": { + "text": "android: android-cloexec-inotify-init clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-inotify-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecInotifyInit1", + "shortDescription": { + "text": "android: android-cloexec-inotify-init1 clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-inotify-init1 clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecMemfdCreate", + "shortDescription": { + "text": "android: android-cloexec-memfd-create clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-memfd-create clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecOpen", + "shortDescription": { + "text": "android: android-cloexec-open clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-open clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecPipe", + "shortDescription": { + "text": "android: android-cloexec-pipe clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-pipe clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecPipe2", + "shortDescription": { + "text": "android: android-cloexec-pipe2 clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-pipe2 clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecSocket", + "shortDescription": { + "text": "android: android-cloexec-socket clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-socket clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidComparisonInTempFailureRetry", + "shortDescription": { + "text": "android: android-comparison-in-temp-failure-retry clang-tidy check" + }, + "fullDescription": { + "text": "android-comparison-in-temp-failure-retry clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBoostUseRanges", + "shortDescription": { + "text": "boost: boost-use-ranges clang-tidy check" + }, + "fullDescription": { + "text": "boost-use-ranges clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBoostUseToString", + "shortDescription": { + "text": "boost: boost-use-to-string clang-tidy check" + }, + "fullDescription": { + "text": "boost-use-to-string clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneArgumentComment", + "shortDescription": { + "text": "bugprone: bugprone-argument-comment clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-argument-comment clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneAssertSideEffect", + "shortDescription": { + "text": "bugprone: bugprone-assert-side-effect clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-assert-side-effect clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneAssignmentInIfCondition", + "shortDescription": { + "text": "bugprone: bugprone-assignment-in-if-condition clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-assignment-in-if-condition clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneBadSignalToKillThread", + "shortDescription": { + "text": "bugprone: bugprone-bad-signal-to-kill-thread clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-bad-signal-to-kill-thread clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneBitwisePointerCast", + "shortDescription": { + "text": "bugprone: bugprone-bitwise-pointer-cast clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-bitwise-pointer-cast clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneBoolPointerImplicitConversion", + "shortDescription": { + "text": "bugprone: bugprone-bool-pointer-implicit-conversion clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-bool-pointer-implicit-conversion clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneBranchClone", + "shortDescription": { + "text": "bugprone: bugprone-branch-clone clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-branch-clone clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneCapturingThisInMemberVariable", + "shortDescription": { + "text": "bugprone: bugprone-capturing-this-in-member-variable clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-capturing-this-in-member-variable clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneCastingThroughVoid", + "shortDescription": { + "text": "bugprone: bugprone-casting-through-void clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-casting-through-void clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneChainedComparison", + "shortDescription": { + "text": "bugprone: bugprone-chained-comparison clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-chained-comparison clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneCommandProcessor", + "shortDescription": { + "text": "bugprone: bugprone-command-processor clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-command-processor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneComparePointerToMemberVirtualFunction", + "shortDescription": { + "text": "bugprone: bugprone-compare-pointer-to-member-virtual-function clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-compare-pointer-to-member-virtual-function clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneCopyConstructorInit", + "shortDescription": { + "text": "bugprone: bugprone-copy-constructor-init clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-copy-constructor-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneCopyConstructorMutatesArgument", + "shortDescription": { + "text": "bugprone: bugprone-copy-constructor-mutates-argument clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-copy-constructor-mutates-argument clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneCrtpConstructorAccessibility", + "shortDescription": { + "text": "bugprone: bugprone-crtp-constructor-accessibility clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-crtp-constructor-accessibility clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneDanglingHandle", + "shortDescription": { + "text": "bugprone: bugprone-dangling-handle clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-dangling-handle clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneDefaultOperatorNewOnOveralignedType", + "shortDescription": { + "text": "bugprone: bugprone-default-operator-new-on-overaligned-type clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-default-operator-new-on-overaligned-type clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneDerivedMethodShadowingBaseMethod", + "shortDescription": { + "text": "bugprone: bugprone-derived-method-shadowing-base-method clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-derived-method-shadowing-base-method clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneDynamicStaticInitializers", + "shortDescription": { + "text": "bugprone: bugprone-dynamic-static-initializers clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-dynamic-static-initializers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneEasilySwappableParameters", + "shortDescription": { + "text": "bugprone: bugprone-easily-swappable-parameters clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-easily-swappable-parameters clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneEmptyCatch", + "shortDescription": { + "text": "bugprone: bugprone-empty-catch clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-empty-catch clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneExceptionCopyConstructorThrows", + "shortDescription": { + "text": "bugprone: bugprone-exception-copy-constructor-throws clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-exception-copy-constructor-throws clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneExceptionEscape", + "shortDescription": { + "text": "bugprone: bugprone-exception-escape clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-exception-escape clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneFloatLoopCounter", + "shortDescription": { + "text": "bugprone: bugprone-float-loop-counter clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-float-loop-counter clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneFoldInitType", + "shortDescription": { + "text": "bugprone: bugprone-fold-init-type clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-fold-init-type clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneForwardDeclarationNamespace", + "shortDescription": { + "text": "bugprone: bugprone-forward-declaration-namespace clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-forward-declaration-namespace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneForwardingReferenceOverload", + "shortDescription": { + "text": "bugprone: bugprone-forwarding-reference-overload clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-forwarding-reference-overload clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneImplicitWideningOfMultiplicationResult", + "shortDescription": { + "text": "bugprone: bugprone-implicit-widening-of-multiplication-result clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-implicit-widening-of-multiplication-result clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneInaccurateErase", + "shortDescription": { + "text": "bugprone: bugprone-inaccurate-erase clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-inaccurate-erase clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneIncDecInConditions", + "shortDescription": { + "text": "bugprone: bugprone-inc-dec-in-conditions clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-inc-dec-in-conditions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneIncorrectEnableIf", + "shortDescription": { + "text": "bugprone: bugprone-incorrect-enable-if clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-incorrect-enable-if clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneIncorrectEnableSharedFromThis", + "shortDescription": { + "text": "bugprone: bugprone-incorrect-enable-shared-from-this clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-incorrect-enable-shared-from-this clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneIncorrectRoundings", + "shortDescription": { + "text": "bugprone: bugprone-incorrect-roundings clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-incorrect-roundings clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneInfiniteLoop", + "shortDescription": { + "text": "bugprone: bugprone-infinite-loop clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-infinite-loop clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneIntegerDivision", + "shortDescription": { + "text": "bugprone: bugprone-integer-division clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-integer-division clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneInvalidEnumDefaultInitialization", + "shortDescription": { + "text": "bugprone: bugprone-invalid-enum-default-initialization clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-invalid-enum-default-initialization clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneLambdaFunctionName", + "shortDescription": { + "text": "bugprone: bugprone-lambda-function-name clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-lambda-function-name clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMacroParentheses", + "shortDescription": { + "text": "bugprone: bugprone-macro-parentheses clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-macro-parentheses clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMacroRepeatedSideEffects", + "shortDescription": { + "text": "bugprone: bugprone-macro-repeated-side-effects clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-macro-repeated-side-effects clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMisleadingSetterOfReference", + "shortDescription": { + "text": "bugprone: bugprone-misleading-setter-of-reference clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-misleading-setter-of-reference clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMisplacedOperatorInStrlenInAlloc", + "shortDescription": { + "text": "bugprone: bugprone-misplaced-operator-in-strlen-in-alloc clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-misplaced-operator-in-strlen-in-alloc clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMisplacedPointerArithmeticInAlloc", + "shortDescription": { + "text": "bugprone: bugprone-misplaced-pointer-arithmetic-in-alloc clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-misplaced-pointer-arithmetic-in-alloc clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMisplacedWideningCast", + "shortDescription": { + "text": "bugprone: bugprone-misplaced-widening-cast clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-misplaced-widening-cast clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMoveForwardingReference", + "shortDescription": { + "text": "bugprone: bugprone-move-forwarding-reference clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-move-forwarding-reference clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMultiLevelImplicitPointerConversion", + "shortDescription": { + "text": "bugprone: bugprone-multi-level-implicit-pointer-conversion clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-multi-level-implicit-pointer-conversion clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMultipleNewInOneExpression", + "shortDescription": { + "text": "bugprone: bugprone-multiple-new-in-one-expression clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-multiple-new-in-one-expression clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMultipleStatementMacro", + "shortDescription": { + "text": "bugprone: bugprone-multiple-statement-macro clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-multiple-statement-macro clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneNarrowingConversions", + "shortDescription": { + "text": "bugprone: bugprone-narrowing-conversions clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-narrowing-conversions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneNoEscape", + "shortDescription": { + "text": "bugprone: bugprone-no-escape clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-no-escape clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneNonZeroEnumToBoolConversion", + "shortDescription": { + "text": "bugprone: bugprone-non-zero-enum-to-bool-conversion clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-non-zero-enum-to-bool-conversion clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneNondeterministicPointerIterationOrder", + "shortDescription": { + "text": "bugprone: bugprone-nondeterministic-pointer-iteration-order clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-nondeterministic-pointer-iteration-order clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneNotNullTerminatedResult", + "shortDescription": { + "text": "bugprone: bugprone-not-null-terminated-result clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-not-null-terminated-result clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneOptionalValueConversion", + "shortDescription": { + "text": "bugprone: bugprone-optional-value-conversion clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-optional-value-conversion clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneParentVirtualCall", + "shortDescription": { + "text": "bugprone: bugprone-parent-virtual-call clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-parent-virtual-call clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugpronePointerArithmeticOnPolymorphicObject", + "shortDescription": { + "text": "bugprone: bugprone-pointer-arithmetic-on-polymorphic-object clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-pointer-arithmetic-on-polymorphic-object clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugpronePosixReturn", + "shortDescription": { + "text": "bugprone: bugprone-posix-return clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-posix-return clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneRandomGeneratorSeed", + "shortDescription": { + "text": "bugprone: bugprone-random-generator-seed clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-random-generator-seed clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneRawMemoryCallOnNonTrivialType", + "shortDescription": { + "text": "bugprone: bugprone-raw-memory-call-on-non-trivial-type clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-raw-memory-call-on-non-trivial-type clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneRedundantBranchCondition", + "shortDescription": { + "text": "bugprone: bugprone-redundant-branch-condition clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-redundant-branch-condition clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneReservedIdentifier", + "shortDescription": { + "text": "bugprone: bugprone-reserved-identifier clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-reserved-identifier clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneReturnConstRefFromParameter", + "shortDescription": { + "text": "bugprone: bugprone-return-const-ref-from-parameter clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-return-const-ref-from-parameter clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSharedPtrArrayMismatch", + "shortDescription": { + "text": "bugprone: bugprone-shared-ptr-array-mismatch clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-shared-ptr-array-mismatch clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSignalHandler", + "shortDescription": { + "text": "bugprone: bugprone-signal-handler clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-signal-handler clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSignedCharMisuse", + "shortDescription": { + "text": "bugprone: bugprone-signed-char-misuse clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-signed-char-misuse clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSizeofContainer", + "shortDescription": { + "text": "bugprone: bugprone-sizeof-container clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-sizeof-container clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSizeofExpression", + "shortDescription": { + "text": "bugprone: bugprone-sizeof-expression clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-sizeof-expression clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSpuriouslyWakeUpFunctions", + "shortDescription": { + "text": "bugprone: bugprone-spuriously-wake-up-functions clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-spuriously-wake-up-functions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneStandaloneEmpty", + "shortDescription": { + "text": "bugprone: bugprone-standalone-empty clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-standalone-empty clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneStdNamespaceModification", + "shortDescription": { + "text": "bugprone: bugprone-std-namespace-modification clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-std-namespace-modification clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneStringConstructor", + "shortDescription": { + "text": "bugprone: bugprone-string-constructor clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-string-constructor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneStringIntegerAssignment", + "shortDescription": { + "text": "bugprone: bugprone-string-integer-assignment clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-string-integer-assignment clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneStringLiteralWithEmbeddedNul", + "shortDescription": { + "text": "bugprone: bugprone-string-literal-with-embedded-nul clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-string-literal-with-embedded-nul clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneStringviewNullptr", + "shortDescription": { + "text": "bugprone: bugprone-stringview-nullptr clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-stringview-nullptr clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousEnumUsage", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-enum-usage clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-enum-usage clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousInclude", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-include clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-include clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousMemoryComparison", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-memory-comparison clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-memory-comparison clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousMemsetUsage", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-memset-usage clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-memset-usage clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousMissingComma", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-missing-comma clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-missing-comma clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousReallocUsage", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-realloc-usage clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-realloc-usage clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousSemicolon", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-semicolon clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-semicolon clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousStringCompare", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-string-compare clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-string-compare clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousStringviewDataUsage", + "shortDescription": { + "text": "bugprone: bugprone-suspicious-stringview-data-usage clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-stringview-data-usage clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSwappedArguments", + "shortDescription": { + "text": "bugprone: bugprone-swapped-arguments clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-swapped-arguments clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSwitchMissingDefaultCase", + "shortDescription": { + "text": "bugprone: bugprone-switch-missing-default-case clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-switch-missing-default-case clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneTaggedUnionMemberCount", + "shortDescription": { + "text": "bugprone: bugprone-tagged-union-member-count clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-tagged-union-member-count clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneTerminatingContinue", + "shortDescription": { + "text": "bugprone: bugprone-terminating-continue clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-terminating-continue clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneThrowKeywordMissing", + "shortDescription": { + "text": "bugprone: bugprone-throw-keyword-missing clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-throw-keyword-missing clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneThrowingStaticInitialization", + "shortDescription": { + "text": "bugprone: bugprone-throwing-static-initialization clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-throwing-static-initialization clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneTooSmallLoopVariable", + "shortDescription": { + "text": "bugprone: bugprone-too-small-loop-variable clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-too-small-loop-variable clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUncheckedOptionalAccess", + "shortDescription": { + "text": "bugprone: bugprone-unchecked-optional-access clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unchecked-optional-access clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUncheckedStringToNumberConversion", + "shortDescription": { + "text": "bugprone: bugprone-unchecked-string-to-number-conversion clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unchecked-string-to-number-conversion clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUndefinedMemoryManipulation", + "shortDescription": { + "text": "bugprone: bugprone-undefined-memory-manipulation clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-undefined-memory-manipulation clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUndelegatedConstructor", + "shortDescription": { + "text": "bugprone: bugprone-undelegated-constructor clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-undelegated-constructor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnhandledExceptionAtNew", + "shortDescription": { + "text": "bugprone: bugprone-unhandled-exception-at-new clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unhandled-exception-at-new clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnhandledSelfAssignment", + "shortDescription": { + "text": "bugprone: bugprone-unhandled-self-assignment clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unhandled-self-assignment clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnintendedCharOstreamOutput", + "shortDescription": { + "text": "bugprone: bugprone-unintended-char-ostream-output clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unintended-char-ostream-output clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUniquePtrArrayMismatch", + "shortDescription": { + "text": "bugprone: bugprone-unique-ptr-array-mismatch clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unique-ptr-array-mismatch clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnsafeFunctions", + "shortDescription": { + "text": "bugprone: bugprone-unsafe-functions clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unsafe-functions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnusedLocalNonTrivialVariable", + "shortDescription": { + "text": "bugprone: bugprone-unused-local-non-trivial-variable clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unused-local-non-trivial-variable clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnusedRaii", + "shortDescription": { + "text": "bugprone: bugprone-unused-raii clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unused-raii clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnusedReturnValue", + "shortDescription": { + "text": "bugprone: bugprone-unused-return-value clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unused-return-value clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUseAfterMove", + "shortDescription": { + "text": "bugprone: bugprone-use-after-move clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-use-after-move clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneVirtualNearMiss", + "shortDescription": { + "text": "bugprone: bugprone-virtual-near-miss clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-virtual-near-miss clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertArr39C", + "shortDescription": { + "text": "cert: cert-arr39-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-arr39-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertCon36C", + "shortDescription": { + "text": "cert: cert-con36-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-con36-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertCon54Cpp", + "shortDescription": { + "text": "cert: cert-con54-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-con54-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertCtr56Cpp", + "shortDescription": { + "text": "cert: cert-ctr56-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-ctr56-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl03C", + "shortDescription": { + "text": "cert: cert-dcl03-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl03-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl16C", + "shortDescription": { + "text": "cert: cert-dcl16-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl16-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl37C", + "shortDescription": { + "text": "cert: cert-dcl37-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl37-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl50Cpp", + "shortDescription": { + "text": "cert: cert-dcl50-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl50-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl51Cpp", + "shortDescription": { + "text": "cert: cert-dcl51-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl51-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl54Cpp", + "shortDescription": { + "text": "cert: cert-dcl54-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl54-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl58Cpp", + "shortDescription": { + "text": "cert: cert-dcl58-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl58-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl59Cpp", + "shortDescription": { + "text": "cert: cert-dcl59-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl59-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertEnv33C", + "shortDescription": { + "text": "cert: cert-env33-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-env33-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr09Cpp", + "shortDescription": { + "text": "cert: cert-err09-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-err09-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr33C", + "shortDescription": { + "text": "cert: cert-err33-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-err33-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr34C", + "shortDescription": { + "text": "cert: cert-err34-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-err34-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr52Cpp", + "shortDescription": { + "text": "cert: cert-err52-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-err52-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr58Cpp", + "shortDescription": { + "text": "cert: cert-err58-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-err58-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr60Cpp", + "shortDescription": { + "text": "cert: cert-err60-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-err60-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr61Cpp", + "shortDescription": { + "text": "cert: cert-err61-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-err61-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertExp42C", + "shortDescription": { + "text": "cert: cert-exp42-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-exp42-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertFio38C", + "shortDescription": { + "text": "cert: cert-fio38-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-fio38-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertFlp30C", + "shortDescription": { + "text": "cert: cert-flp30-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-flp30-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertFlp37C", + "shortDescription": { + "text": "cert: cert-flp37-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-flp37-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertInt09C", + "shortDescription": { + "text": "cert: cert-int09-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-int09-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMem57Cpp", + "shortDescription": { + "text": "cert: cert-mem57-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-mem57-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc24C", + "shortDescription": { + "text": "cert: cert-msc24-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc24-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc30C", + "shortDescription": { + "text": "cert: cert-msc30-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc30-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc32C", + "shortDescription": { + "text": "cert: cert-msc32-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc32-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc33C", + "shortDescription": { + "text": "cert: cert-msc33-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc33-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc50Cpp", + "shortDescription": { + "text": "cert: cert-msc50-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc50-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc51Cpp", + "shortDescription": { + "text": "cert: cert-msc51-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc51-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc54Cpp", + "shortDescription": { + "text": "cert: cert-msc54-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc54-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertOop11Cpp", + "shortDescription": { + "text": "cert: cert-oop11-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-oop11-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertOop54Cpp", + "shortDescription": { + "text": "cert: cert-oop54-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-oop54-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertOop57Cpp", + "shortDescription": { + "text": "cert: cert-oop57-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-oop57-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertOop58Cpp", + "shortDescription": { + "text": "cert: cert-oop58-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-oop58-cpp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertPos44C", + "shortDescription": { + "text": "cert: cert-pos44-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-pos44-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertPos47C", + "shortDescription": { + "text": "cert: cert-pos47-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-pos47-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertSig30C", + "shortDescription": { + "text": "cert: cert-sig30-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-sig30-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertStr34C", + "shortDescription": { + "text": "cert: cert-str34-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-str34-c clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerApiModelingErrno", + "shortDescription": { + "text": "apiModeling: apiModeling.Errno clang static analyzer check" + }, + "fullDescription": { + "text": "apiModeling.Errno clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerApiModelingGoogleGTest", + "shortDescription": { + "text": "apiModeling: apiModeling.google.GTest clang static analyzer check" + }, + "fullDescription": { + "text": "apiModeling.google.GTest clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerApiModelingLlvmCastValue", + "shortDescription": { + "text": "apiModeling: apiModeling.llvm.CastValue clang static analyzer check" + }, + "fullDescription": { + "text": "apiModeling.llvm.CastValue clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerApiModelingLlvmReturnValue", + "shortDescription": { + "text": "apiModeling: apiModeling.llvm.ReturnValue clang static analyzer check" + }, + "fullDescription": { + "text": "apiModeling.llvm.ReturnValue clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerApiModelingTrustNonnull", + "shortDescription": { + "text": "apiModeling: apiModeling.TrustNonnull clang static analyzer check" + }, + "fullDescription": { + "text": "apiModeling.TrustNonnull clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerApiModelingTrustReturnsNonnull", + "shortDescription": { + "text": "apiModeling: apiModeling.TrustReturnsNonnull clang static analyzer check" + }, + "fullDescription": { + "text": "apiModeling.TrustReturnsNonnull clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreBitwiseShift", + "shortDescription": { + "text": "core: core.BitwiseShift clang static analyzer check" + }, + "fullDescription": { + "text": "core.BitwiseShift clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreBuiltinAssumeModeling", + "shortDescription": { + "text": "core: core.builtin.AssumeModeling clang static analyzer check" + }, + "fullDescription": { + "text": "core.builtin.AssumeModeling clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreBuiltinBuiltinFunctions", + "shortDescription": { + "text": "core: core.builtin.BuiltinFunctions clang static analyzer check" + }, + "fullDescription": { + "text": "core.builtin.BuiltinFunctions clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreBuiltinNoReturnFunctions", + "shortDescription": { + "text": "core: core.builtin.NoReturnFunctions clang static analyzer check" + }, + "fullDescription": { + "text": "core.builtin.NoReturnFunctions clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreCallAndMessage", + "shortDescription": { + "text": "core: core.CallAndMessage clang static analyzer check" + }, + "fullDescription": { + "text": "core.CallAndMessage clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreDivideZero", + "shortDescription": { + "text": "core: core.DivideZero clang static analyzer check" + }, + "fullDescription": { + "text": "core.DivideZero clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreDynamicTypePropagation", + "shortDescription": { + "text": "core: core.DynamicTypePropagation clang static analyzer check" + }, + "fullDescription": { + "text": "core.DynamicTypePropagation clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreFixedAddressDereference", + "shortDescription": { + "text": "core: core.FixedAddressDereference clang static analyzer check" + }, + "fullDescription": { + "text": "core.FixedAddressDereference clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreNonNullParamChecker", + "shortDescription": { + "text": "core: core.NonNullParamChecker clang static analyzer check" + }, + "fullDescription": { + "text": "core.NonNullParamChecker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreNonnilStringConstants", + "shortDescription": { + "text": "core: core.NonnilStringConstants clang static analyzer check" + }, + "fullDescription": { + "text": "core.NonnilStringConstants clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreNullDereference", + "shortDescription": { + "text": "core: core.NullDereference clang static analyzer check" + }, + "fullDescription": { + "text": "core.NullDereference clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreNullPointerArithm", + "shortDescription": { + "text": "core: core.NullPointerArithm clang static analyzer check" + }, + "fullDescription": { + "text": "core.NullPointerArithm clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreStackAddressEscape", + "shortDescription": { + "text": "core: core.StackAddressEscape clang static analyzer check" + }, + "fullDescription": { + "text": "core.StackAddressEscape clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUndefinedBinaryOperatorResult", + "shortDescription": { + "text": "core: core.UndefinedBinaryOperatorResult clang static analyzer check" + }, + "fullDescription": { + "text": "core.UndefinedBinaryOperatorResult clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedArraySubscript", + "shortDescription": { + "text": "core: core.uninitialized.ArraySubscript clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.ArraySubscript clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedAssign", + "shortDescription": { + "text": "core: core.uninitialized.Assign clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.Assign clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedBranch", + "shortDescription": { + "text": "core: core.uninitialized.Branch clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.Branch clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedCapturedBlockVariable", + "shortDescription": { + "text": "core: core.uninitialized.CapturedBlockVariable clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.CapturedBlockVariable clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedNewArraySize", + "shortDescription": { + "text": "core: core.uninitialized.NewArraySize clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.NewArraySize clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedUndefReturn", + "shortDescription": { + "text": "core: core.uninitialized.UndefReturn clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.UndefReturn clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreVLASize", + "shortDescription": { + "text": "core: core.VLASize clang static analyzer check" + }, + "fullDescription": { + "text": "core.VLASize clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusArrayDelete", + "shortDescription": { + "text": "cplusplus: cplusplus.ArrayDelete clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.ArrayDelete clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusInnerPointer", + "shortDescription": { + "text": "cplusplus: cplusplus.InnerPointer clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.InnerPointer clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusMove", + "shortDescription": { + "text": "cplusplus: cplusplus.Move clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.Move clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusNewDelete", + "shortDescription": { + "text": "cplusplus: cplusplus.NewDelete clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.NewDelete clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusNewDeleteLeaks", + "shortDescription": { + "text": "cplusplus: cplusplus.NewDeleteLeaks clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.NewDeleteLeaks clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusPlacementNew", + "shortDescription": { + "text": "cplusplus: cplusplus.PlacementNew clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.PlacementNew clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusPureVirtualCall", + "shortDescription": { + "text": "cplusplus: cplusplus.PureVirtualCall clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.PureVirtualCall clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusSelfAssignment", + "shortDescription": { + "text": "cplusplus: cplusplus.SelfAssignment clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.SelfAssignment clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusSmartPtrModeling", + "shortDescription": { + "text": "cplusplus: cplusplus.SmartPtrModeling clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.SmartPtrModeling clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusStringChecker", + "shortDescription": { + "text": "cplusplus: cplusplus.StringChecker clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.StringChecker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerDeadcodeDeadStores", + "shortDescription": { + "text": "deadcode: deadcode.DeadStores clang static analyzer check" + }, + "fullDescription": { + "text": "deadcode.DeadStores clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerFuchsiaHandleChecker", + "shortDescription": { + "text": "fuchsia: fuchsia.HandleChecker clang static analyzer check" + }, + "fullDescription": { + "text": "fuchsia.HandleChecker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerNullabilityNullPassedToNonnull", + "shortDescription": { + "text": "nullability: nullability.NullPassedToNonnull clang static analyzer check" + }, + "fullDescription": { + "text": "nullability.NullPassedToNonnull clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerNullabilityNullReturnedFromNonnull", + "shortDescription": { + "text": "nullability: nullability.NullReturnedFromNonnull clang static analyzer check" + }, + "fullDescription": { + "text": "nullability.NullReturnedFromNonnull clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerNullabilityNullableDereferenced", + "shortDescription": { + "text": "nullability: nullability.NullableDereferenced clang static analyzer check" + }, + "fullDescription": { + "text": "nullability.NullableDereferenced clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerNullabilityNullablePassedToNonnull", + "shortDescription": { + "text": "nullability: nullability.NullablePassedToNonnull clang static analyzer check" + }, + "fullDescription": { + "text": "nullability.NullablePassedToNonnull clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerNullabilityNullableReturnedFromNonnull", + "shortDescription": { + "text": "nullability: nullability.NullableReturnedFromNonnull clang static analyzer check" + }, + "fullDescription": { + "text": "nullability.NullableReturnedFromNonnull clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinCoreEnumCastOutOfRange", + "shortDescription": { + "text": "optin: optin.core.EnumCastOutOfRange clang static analyzer check" + }, + "fullDescription": { + "text": "optin.core.EnumCastOutOfRange clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinCplusplusUninitializedObject", + "shortDescription": { + "text": "optin: optin.cplusplus.UninitializedObject clang static analyzer check" + }, + "fullDescription": { + "text": "optin.cplusplus.UninitializedObject clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinCplusplusVirtualCall", + "shortDescription": { + "text": "optin: optin.cplusplus.VirtualCall clang static analyzer check" + }, + "fullDescription": { + "text": "optin.cplusplus.VirtualCall clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinMpiMPIChecker", + "shortDescription": { + "text": "optin: optin.mpi.MPI-Checker clang static analyzer check" + }, + "fullDescription": { + "text": "optin.mpi.MPI-Checker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinOsxCocoaLocalizabilityEmptyLocalizationContextChecker", + "shortDescription": { + "text": "optin: optin.osx.cocoa.localizability.EmptyLocalizationContextChecker clang static analyzer check" + }, + "fullDescription": { + "text": "optin.osx.cocoa.localizability.EmptyLocalizationContextChecker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinOsxCocoaLocalizabilityNonLocalizedStringChecker", + "shortDescription": { + "text": "optin: optin.osx.cocoa.localizability.NonLocalizedStringChecker clang static analyzer check" + }, + "fullDescription": { + "text": "optin.osx.cocoa.localizability.NonLocalizedStringChecker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinOsxOSObjectCStyleCast", + "shortDescription": { + "text": "optin: optin.osx.OSObjectCStyleCast clang static analyzer check" + }, + "fullDescription": { + "text": "optin.osx.OSObjectCStyleCast clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinPerformanceGCDAntipattern", + "shortDescription": { + "text": "optin: optin.performance.GCDAntipattern clang static analyzer check" + }, + "fullDescription": { + "text": "optin.performance.GCDAntipattern clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinPerformancePadding", + "shortDescription": { + "text": "optin: optin.performance.Padding clang static analyzer check" + }, + "fullDescription": { + "text": "optin.performance.Padding clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinPortabilityUnixAPI", + "shortDescription": { + "text": "optin: optin.portability.UnixAPI clang static analyzer check" + }, + "fullDescription": { + "text": "optin.portability.UnixAPI clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinTaintGenericTaint", + "shortDescription": { + "text": "optin: optin.taint.GenericTaint clang static analyzer check" + }, + "fullDescription": { + "text": "optin.taint.GenericTaint clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinTaintTaintPropagation", + "shortDescription": { + "text": "optin: optin.taint.TaintPropagation clang static analyzer check" + }, + "fullDescription": { + "text": "optin.taint.TaintPropagation clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinTaintTaintedAlloc", + "shortDescription": { + "text": "optin: optin.taint.TaintedAlloc clang static analyzer check" + }, + "fullDescription": { + "text": "optin.taint.TaintedAlloc clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinTaintTaintedDiv", + "shortDescription": { + "text": "optin: optin.taint.TaintedDiv clang static analyzer check" + }, + "fullDescription": { + "text": "optin.taint.TaintedDiv clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxAPI", + "shortDescription": { + "text": "osx: osx.API clang static analyzer check" + }, + "fullDescription": { + "text": "osx.API clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaAtSync", + "shortDescription": { + "text": "osx: osx.cocoa.AtSync clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.AtSync clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaAutoreleaseWrite", + "shortDescription": { + "text": "osx: osx.cocoa.AutoreleaseWrite clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.AutoreleaseWrite clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaClassRelease", + "shortDescription": { + "text": "osx: osx.cocoa.ClassRelease clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.ClassRelease clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaDealloc", + "shortDescription": { + "text": "osx: osx.cocoa.Dealloc clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.Dealloc clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaIncompatibleMethodTypes", + "shortDescription": { + "text": "osx: osx.cocoa.IncompatibleMethodTypes clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.IncompatibleMethodTypes clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaLoops", + "shortDescription": { + "text": "osx: osx.cocoa.Loops clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.Loops clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaMissingSuperCall", + "shortDescription": { + "text": "osx: osx.cocoa.MissingSuperCall clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.MissingSuperCall clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaNSAutoreleasePool", + "shortDescription": { + "text": "osx: osx.cocoa.NSAutoreleasePool clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.NSAutoreleasePool clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaNSError", + "shortDescription": { + "text": "osx: osx.cocoa.NSError clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.NSError clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaNilArg", + "shortDescription": { + "text": "osx: osx.cocoa.NilArg clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.NilArg clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaNonNilReturnValue", + "shortDescription": { + "text": "osx: osx.cocoa.NonNilReturnValue clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.NonNilReturnValue clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaObjCGenerics", + "shortDescription": { + "text": "osx: osx.cocoa.ObjCGenerics clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.ObjCGenerics clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaRetainCount", + "shortDescription": { + "text": "osx: osx.cocoa.RetainCount clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.RetainCount clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaRetainCountBase", + "shortDescription": { + "text": "osx: osx.cocoa.RetainCountBase clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.RetainCountBase clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaRunLoopAutoreleaseLeak", + "shortDescription": { + "text": "osx: osx.cocoa.RunLoopAutoreleaseLeak clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.RunLoopAutoreleaseLeak clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaSelfInit", + "shortDescription": { + "text": "osx: osx.cocoa.SelfInit clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.SelfInit clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaSuperDealloc", + "shortDescription": { + "text": "osx: osx.cocoa.SuperDealloc clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.SuperDealloc clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaUnusedIvars", + "shortDescription": { + "text": "osx: osx.cocoa.UnusedIvars clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.UnusedIvars clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaVariadicMethodTypes", + "shortDescription": { + "text": "osx: osx.cocoa.VariadicMethodTypes clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.VariadicMethodTypes clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCoreFoundationCFError", + "shortDescription": { + "text": "osx: osx.coreFoundation.CFError clang static analyzer check" + }, + "fullDescription": { + "text": "osx.coreFoundation.CFError clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCoreFoundationCFNumber", + "shortDescription": { + "text": "osx: osx.coreFoundation.CFNumber clang static analyzer check" + }, + "fullDescription": { + "text": "osx.coreFoundation.CFNumber clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCoreFoundationCFRetainRelease", + "shortDescription": { + "text": "osx: osx.coreFoundation.CFRetainRelease clang static analyzer check" + }, + "fullDescription": { + "text": "osx.coreFoundation.CFRetainRelease clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCoreFoundationContainersOutOfBounds", + "shortDescription": { + "text": "osx: osx.coreFoundation.containers.OutOfBounds clang static analyzer check" + }, + "fullDescription": { + "text": "osx.coreFoundation.containers.OutOfBounds clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCoreFoundationContainersPointerSizedValues", + "shortDescription": { + "text": "osx: osx.coreFoundation.containers.PointerSizedValues clang static analyzer check" + }, + "fullDescription": { + "text": "osx.coreFoundation.containers.PointerSizedValues clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxMIG", + "shortDescription": { + "text": "osx: osx.MIG clang static analyzer check" + }, + "fullDescription": { + "text": "osx.MIG clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxNumberObjectConversion", + "shortDescription": { + "text": "osx: osx.NumberObjectConversion clang static analyzer check" + }, + "fullDescription": { + "text": "osx.NumberObjectConversion clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxOSObjectRetainCount", + "shortDescription": { + "text": "osx: osx.OSObjectRetainCount clang static analyzer check" + }, + "fullDescription": { + "text": "osx.OSObjectRetainCount clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxObjCProperty", + "shortDescription": { + "text": "osx: osx.ObjCProperty clang static analyzer check" + }, + "fullDescription": { + "text": "osx.ObjCProperty clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxSecKeychainAPI", + "shortDescription": { + "text": "osx: osx.SecKeychainAPI clang static analyzer check" + }, + "fullDescription": { + "text": "osx.SecKeychainAPI clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityArrayBound", + "shortDescription": { + "text": "security: security.ArrayBound clang static analyzer check" + }, + "fullDescription": { + "text": "security.ArrayBound clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityCertEnvInvalidPtr", + "shortDescription": { + "text": "security: security.cert.env.InvalidPtr clang static analyzer check" + }, + "fullDescription": { + "text": "security.cert.env.InvalidPtr clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityFloatLoopCounter", + "shortDescription": { + "text": "security: security.FloatLoopCounter clang static analyzer check" + }, + "fullDescription": { + "text": "security.FloatLoopCounter clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIBcmp", + "shortDescription": { + "text": "security: security.insecureAPI.bcmp clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.bcmp clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIBcopy", + "shortDescription": { + "text": "security: security.insecureAPI.bcopy clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.bcopy clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIBzero", + "shortDescription": { + "text": "security: security.insecureAPI.bzero clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.bzero clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIDecodeValueOfObjCType", + "shortDescription": { + "text": "security: security.insecureAPI.decodeValueOfObjCType clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.decodeValueOfObjCType clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIDeprecatedOrUnsafeBufferHandling", + "shortDescription": { + "text": "security: security.insecureAPI.DeprecatedOrUnsafeBufferHandling clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.DeprecatedOrUnsafeBufferHandling clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIGetpw", + "shortDescription": { + "text": "security: security.insecureAPI.getpw clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.getpw clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIGets", + "shortDescription": { + "text": "security: security.insecureAPI.gets clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.gets clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIMkstemp", + "shortDescription": { + "text": "security: security.insecureAPI.mkstemp clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.mkstemp clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIMktemp", + "shortDescription": { + "text": "security: security.insecureAPI.mktemp clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.mktemp clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIRand", + "shortDescription": { + "text": "security: security.insecureAPI.rand clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.rand clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPISecuritySyntaxChecker", + "shortDescription": { + "text": "security: security.insecureAPI.SecuritySyntaxChecker clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.SecuritySyntaxChecker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIStrcpy", + "shortDescription": { + "text": "security: security.insecureAPI.strcpy clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.strcpy clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIUncheckedReturn", + "shortDescription": { + "text": "security: security.insecureAPI.UncheckedReturn clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.UncheckedReturn clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityInsecureAPIVfork", + "shortDescription": { + "text": "security: security.insecureAPI.vfork clang static analyzer check" + }, + "fullDescription": { + "text": "security.insecureAPI.vfork clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityMmapWriteExec", + "shortDescription": { + "text": "security: security.MmapWriteExec clang static analyzer check" + }, + "fullDescription": { + "text": "security.MmapWriteExec clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityPointerSub", + "shortDescription": { + "text": "security: security.PointerSub clang static analyzer check" + }, + "fullDescription": { + "text": "security.PointerSub clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityPutenvStackArray", + "shortDescription": { + "text": "security: security.PutenvStackArray clang static analyzer check" + }, + "fullDescription": { + "text": "security.PutenvStackArray clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecuritySetgidSetuidOrder", + "shortDescription": { + "text": "security: security.SetgidSetuidOrder clang static analyzer check" + }, + "fullDescription": { + "text": "security.SetgidSetuidOrder clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerSecurityVAList", + "shortDescription": { + "text": "security: security.VAList clang static analyzer check" + }, + "fullDescription": { + "text": "security.VAList clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixAPI", + "shortDescription": { + "text": "unix: unix.API clang static analyzer check" + }, + "fullDescription": { + "text": "unix.API clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixBlockInCriticalSection", + "shortDescription": { + "text": "unix: unix.BlockInCriticalSection clang static analyzer check" + }, + "fullDescription": { + "text": "unix.BlockInCriticalSection clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixChroot", + "shortDescription": { + "text": "unix: unix.Chroot clang static analyzer check" + }, + "fullDescription": { + "text": "unix.Chroot clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixCstringBadSizeArg", + "shortDescription": { + "text": "unix: unix.cstring.BadSizeArg clang static analyzer check" + }, + "fullDescription": { + "text": "unix.cstring.BadSizeArg clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixCstringCStringModeling", + "shortDescription": { + "text": "unix: unix.cstring.CStringModeling clang static analyzer check" + }, + "fullDescription": { + "text": "unix.cstring.CStringModeling clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixCstringNotNullTerminated", + "shortDescription": { + "text": "unix: unix.cstring.NotNullTerminated clang static analyzer check" + }, + "fullDescription": { + "text": "unix.cstring.NotNullTerminated clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixCstringNullArg", + "shortDescription": { + "text": "unix: unix.cstring.NullArg clang static analyzer check" + }, + "fullDescription": { + "text": "unix.cstring.NullArg clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixDynamicMemoryModeling", + "shortDescription": { + "text": "unix: unix.DynamicMemoryModeling clang static analyzer check" + }, + "fullDescription": { + "text": "unix.DynamicMemoryModeling clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixErrno", + "shortDescription": { + "text": "unix: unix.Errno clang static analyzer check" + }, + "fullDescription": { + "text": "unix.Errno clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixMalloc", + "shortDescription": { + "text": "unix: unix.Malloc clang static analyzer check" + }, + "fullDescription": { + "text": "unix.Malloc clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixMallocSizeof", + "shortDescription": { + "text": "unix: unix.MallocSizeof clang static analyzer check" + }, + "fullDescription": { + "text": "unix.MallocSizeof clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixMismatchedDeallocator", + "shortDescription": { + "text": "unix: unix.MismatchedDeallocator clang static analyzer check" + }, + "fullDescription": { + "text": "unix.MismatchedDeallocator clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixStdCLibraryFunctions", + "shortDescription": { + "text": "unix: unix.StdCLibraryFunctions clang static analyzer check" + }, + "fullDescription": { + "text": "unix.StdCLibraryFunctions clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixStream", + "shortDescription": { + "text": "unix: unix.Stream clang static analyzer check" + }, + "fullDescription": { + "text": "unix.Stream clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixVfork", + "shortDescription": { + "text": "unix: unix.Vfork clang static analyzer check" + }, + "fullDescription": { + "text": "unix.Vfork clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerWebkitNoUncountedMemberChecker", + "shortDescription": { + "text": "webkit: webkit.NoUncountedMemberChecker clang static analyzer check" + }, + "fullDescription": { + "text": "webkit.NoUncountedMemberChecker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerWebkitRefCntblBaseVirtualDtor", + "shortDescription": { + "text": "webkit: webkit.RefCntblBaseVirtualDtor clang static analyzer check" + }, + "fullDescription": { + "text": "webkit.RefCntblBaseVirtualDtor clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerWebkitUncountedLambdaCapturesChecker", + "shortDescription": { + "text": "webkit: webkit.UncountedLambdaCapturesChecker clang static analyzer check" + }, + "fullDescription": { + "text": "webkit.UncountedLambdaCapturesChecker clang static analyzer check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangStaticAnalyzer" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAarch64SmeAttributes", + "shortDescription": { + "text": "aarch64-sme-attributes clang diagnostic" + }, + "fullDescription": { + "text": "-Waarch64-sme-attributes clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAbsoluteValue", + "shortDescription": { + "text": "absolute-value clang diagnostic" + }, + "fullDescription": { + "text": "-Wabsolute-value clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAbstractFinalClass", + "shortDescription": { + "text": "abstract-final-class clang diagnostic" + }, + "fullDescription": { + "text": "-Wabstract-final-class clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAbstractVbaseInit", + "shortDescription": { + "text": "abstract-vbase-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wabstract-vbase-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAddressOfPackedMember", + "shortDescription": { + "text": "address-of-packed-member clang diagnostic" + }, + "fullDescription": { + "text": "-Waddress-of-packed-member clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAddressOfTemporary", + "shortDescription": { + "text": "address-of-temporary clang diagnostic" + }, + "fullDescription": { + "text": "-Waddress-of-temporary clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAixCompat", + "shortDescription": { + "text": "aix-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Waix-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAliasTemplateInDeclarationName", + "shortDescription": { + "text": "alias-template-in-declaration-name clang diagnostic" + }, + "fullDescription": { + "text": "-Walias-template-in-declaration-name clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAlignMismatch", + "shortDescription": { + "text": "align-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Walign-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAllocSize", + "shortDescription": { + "text": "alloc-size clang diagnostic" + }, + "fullDescription": { + "text": "-Walloc-size clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAlloca", + "shortDescription": { + "text": "alloca clang diagnostic" + }, + "fullDescription": { + "text": "-Walloca clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAllocaWithAlignAlignof", + "shortDescription": { + "text": "alloca-with-align-alignof clang diagnostic" + }, + "fullDescription": { + "text": "-Walloca-with-align-alignof clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAlwaysInlineCoroutine", + "shortDescription": { + "text": "always-inline-coroutine clang diagnostic" + }, + "fullDescription": { + "text": "-Walways-inline-coroutine clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAmbiguousDelete", + "shortDescription": { + "text": "ambiguous-delete clang diagnostic" + }, + "fullDescription": { + "text": "-Wambiguous-delete clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAmbiguousEllipsis", + "shortDescription": { + "text": "ambiguous-ellipsis clang diagnostic" + }, + "fullDescription": { + "text": "-Wambiguous-ellipsis clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAmbiguousMacro", + "shortDescription": { + "text": "ambiguous-macro clang diagnostic" + }, + "fullDescription": { + "text": "-Wambiguous-macro clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAmbiguousMemberTemplate", + "shortDescription": { + "text": "ambiguous-member-template clang diagnostic" + }, + "fullDescription": { + "text": "-Wambiguous-member-template clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAmbiguousReversedOperator", + "shortDescription": { + "text": "ambiguous-reversed-operator clang diagnostic" + }, + "fullDescription": { + "text": "-Wambiguous-reversed-operator clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAnalyzerIncompatiblePlugin", + "shortDescription": { + "text": "analyzer-incompatible-plugin clang diagnostic" + }, + "fullDescription": { + "text": "-Wanalyzer-incompatible-plugin clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAndroidUnversionedFallback", + "shortDescription": { + "text": "android-unversioned-fallback clang diagnostic" + }, + "fullDescription": { + "text": "-Wandroid-unversioned-fallback clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAnonEnumEnumConversion", + "shortDescription": { + "text": "anon-enum-enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wanon-enum-enum-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAnonymousPackParens", + "shortDescription": { + "text": "anonymous-pack-parens clang diagnostic" + }, + "fullDescription": { + "text": "-Wanonymous-pack-parens clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcBridgeCastsDisallowedInNonarc", + "shortDescription": { + "text": "arc-bridge-casts-disallowed-in-nonarc clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-bridge-casts-disallowed-in-nonarc clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcMaybeRepeatedUseOfWeak", + "shortDescription": { + "text": "arc-maybe-repeated-use-of-weak clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-maybe-repeated-use-of-weak clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcNonPodMemaccess", + "shortDescription": { + "text": "arc-non-pod-memaccess clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-non-pod-memaccess clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcPerformSelectorLeaks", + "shortDescription": { + "text": "arc-performSelector-leaks clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-performSelector-leaks clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcRepeatedUseOfWeak", + "shortDescription": { + "text": "arc-repeated-use-of-weak clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-repeated-use-of-weak clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcRetainCycles", + "shortDescription": { + "text": "arc-retain-cycles clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-retain-cycles clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcUnsafeRetainedAssign", + "shortDescription": { + "text": "arc-unsafe-retained-assign clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-unsafe-retained-assign clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArgumentOutsideRange", + "shortDescription": { + "text": "argument-outside-range clang diagnostic" + }, + "fullDescription": { + "text": "-Wargument-outside-range clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArgumentUndefinedBehaviour", + "shortDescription": { + "text": "argument-undefined-behaviour clang diagnostic" + }, + "fullDescription": { + "text": "-Wargument-undefined-behaviour clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArmInterruptSaveFpNoVfpUnit", + "shortDescription": { + "text": "arm-interrupt-save-fp-no-vfp-unit clang diagnostic" + }, + "fullDescription": { + "text": "-Warm-interrupt-save-fp-no-vfp-unit clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArmInterruptVfpClobber", + "shortDescription": { + "text": "arm-interrupt-vfp-clobber clang diagnostic" + }, + "fullDescription": { + "text": "-Warm-interrupt-vfp-clobber clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArrayBounds", + "shortDescription": { + "text": "array-bounds clang diagnostic" + }, + "fullDescription": { + "text": "-Warray-bounds clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArrayBoundsPointerArithmetic", + "shortDescription": { + "text": "array-bounds-pointer-arithmetic clang diagnostic" + }, + "fullDescription": { + "text": "-Warray-bounds-pointer-arithmetic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArrayCompare", + "shortDescription": { + "text": "array-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Warray-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArrayParameter", + "shortDescription": { + "text": "array-parameter clang diagnostic" + }, + "fullDescription": { + "text": "-Warray-parameter clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAsmOperandWidths", + "shortDescription": { + "text": "asm-operand-widths clang diagnostic" + }, + "fullDescription": { + "text": "-Wasm-operand-widths clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAssignEnum", + "shortDescription": { + "text": "assign-enum clang diagnostic" + }, + "fullDescription": { + "text": "-Wassign-enum clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAssume", + "shortDescription": { + "text": "assume clang diagnostic" + }, + "fullDescription": { + "text": "-Wassume clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtProtocol", + "shortDescription": { + "text": "at-protocol clang diagnostic" + }, + "fullDescription": { + "text": "-Wat-protocol clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtimportInFrameworkHeader", + "shortDescription": { + "text": "atimport-in-framework-header clang diagnostic" + }, + "fullDescription": { + "text": "-Watimport-in-framework-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtomicAccess", + "shortDescription": { + "text": "atomic-access clang diagnostic" + }, + "fullDescription": { + "text": "-Watomic-access clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtomicAlignment", + "shortDescription": { + "text": "atomic-alignment clang diagnostic" + }, + "fullDescription": { + "text": "-Watomic-alignment clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtomicImplicitSeqCst", + "shortDescription": { + "text": "atomic-implicit-seq-cst clang diagnostic" + }, + "fullDescription": { + "text": "-Watomic-implicit-seq-cst clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtomicMemoryOrdering", + "shortDescription": { + "text": "atomic-memory-ordering clang diagnostic" + }, + "fullDescription": { + "text": "-Watomic-memory-ordering clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtomicPropertyWithUserDefinedAccessor", + "shortDescription": { + "text": "atomic-property-with-user-defined-accessor clang diagnostic" + }, + "fullDescription": { + "text": "-Watomic-property-with-user-defined-accessor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAttributePackedForBitfield", + "shortDescription": { + "text": "attribute-packed-for-bitfield clang diagnostic" + }, + "fullDescription": { + "text": "-Wattribute-packed-for-bitfield clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAttributePreprocessorTokens", + "shortDescription": { + "text": "attribute-preprocessor-tokens clang diagnostic" + }, + "fullDescription": { + "text": "-Wattribute-preprocessor-tokens clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAttributeWarning", + "shortDescription": { + "text": "attribute-warning clang diagnostic" + }, + "fullDescription": { + "text": "-Wattribute-warning clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAutoDeclExtensions", + "shortDescription": { + "text": "auto-decl-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wauto-decl-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAutoDisableVptrSanitizer", + "shortDescription": { + "text": "auto-disable-vptr-sanitizer clang diagnostic" + }, + "fullDescription": { + "text": "-Wauto-disable-vptr-sanitizer clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAutoImport", + "shortDescription": { + "text": "auto-import clang diagnostic" + }, + "fullDescription": { + "text": "-Wauto-import clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAutoStorageClass", + "shortDescription": { + "text": "auto-storage-class clang diagnostic" + }, + "fullDescription": { + "text": "-Wauto-storage-class clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAutoVarId", + "shortDescription": { + "text": "auto-var-id clang diagnostic" + }, + "fullDescription": { + "text": "-Wauto-var-id clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAvailability", + "shortDescription": { + "text": "availability clang diagnostic" + }, + "fullDescription": { + "text": "-Wavailability clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAvrRtlibLinkingQuirks", + "shortDescription": { + "text": "avr-rtlib-linking-quirks clang diagnostic" + }, + "fullDescription": { + "text": "-Wavr-rtlib-linking-quirks clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBackslashNewlineEscape", + "shortDescription": { + "text": "backslash-newline-escape clang diagnostic" + }, + "fullDescription": { + "text": "-Wbackslash-newline-escape clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBadFunctionCast", + "shortDescription": { + "text": "bad-function-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wbad-function-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBindToTemporaryCopy", + "shortDescription": { + "text": "bind-to-temporary-copy clang diagnostic" + }, + "fullDescription": { + "text": "-Wbind-to-temporary-copy clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBitIntExtension", + "shortDescription": { + "text": "bit-int-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wbit-int-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBitfieldConstantConversion", + "shortDescription": { + "text": "bitfield-constant-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wbitfield-constant-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBitfieldEnumConversion", + "shortDescription": { + "text": "bitfield-enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wbitfield-enum-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBitfieldWidth", + "shortDescription": { + "text": "bitfield-width clang diagnostic" + }, + "fullDescription": { + "text": "-Wbitfield-width clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBitwiseConditionalParentheses", + "shortDescription": { + "text": "bitwise-conditional-parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Wbitwise-conditional-parentheses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBitwiseInsteadOfLogical", + "shortDescription": { + "text": "bitwise-instead-of-logical clang diagnostic" + }, + "fullDescription": { + "text": "-Wbitwise-instead-of-logical clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBitwiseOpParentheses", + "shortDescription": { + "text": "bitwise-op-parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Wbitwise-op-parentheses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBlockCaptureAutoreleasing", + "shortDescription": { + "text": "block-capture-autoreleasing clang diagnostic" + }, + "fullDescription": { + "text": "-Wblock-capture-autoreleasing clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBoolConversion", + "shortDescription": { + "text": "bool-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wbool-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBoolOperation", + "shortDescription": { + "text": "bool-operation clang diagnostic" + }, + "fullDescription": { + "text": "-Wbool-operation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBoundsSafetyCountedByEltTypeUnknownSize", + "shortDescription": { + "text": "bounds-safety-counted-by-elt-type-unknown-size clang diagnostic" + }, + "fullDescription": { + "text": "-Wbounds-safety-counted-by-elt-type-unknown-size clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBracedScalarInit", + "shortDescription": { + "text": "braced-scalar-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wbraced-scalar-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBranchProtection", + "shortDescription": { + "text": "branch-protection clang diagnostic" + }, + "fullDescription": { + "text": "-Wbranch-protection clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBridgeCast", + "shortDescription": { + "text": "bridge-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wbridge-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBuiltinAssumeAlignedAlignment", + "shortDescription": { + "text": "builtin-assume-aligned-alignment clang diagnostic" + }, + "fullDescription": { + "text": "-Wbuiltin-assume-aligned-alignment clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBuiltinMacroRedefined", + "shortDescription": { + "text": "builtin-macro-redefined clang diagnostic" + }, + "fullDescription": { + "text": "-Wbuiltin-macro-redefined clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBuiltinMemcpyChkSize", + "shortDescription": { + "text": "builtin-memcpy-chk-size clang diagnostic" + }, + "fullDescription": { + "text": "-Wbuiltin-memcpy-chk-size clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBuiltinRequiresHeader", + "shortDescription": { + "text": "builtin-requires-header clang diagnostic" + }, + "fullDescription": { + "text": "-Wbuiltin-requires-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC11Extensions", + "shortDescription": { + "text": "c11-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc11-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC23Compat", + "shortDescription": { + "text": "c23-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc23-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC23Extensions", + "shortDescription": { + "text": "c23-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc23-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC2xCompat", + "shortDescription": { + "text": "c2x-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc2x-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC2xExtensions", + "shortDescription": { + "text": "c2x-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc2x-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC2yExtensions", + "shortDescription": { + "text": "c2y-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc2y-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC99Compat", + "shortDescription": { + "text": "c99-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc99-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC99Designator", + "shortDescription": { + "text": "c99-designator clang diagnostic" + }, + "fullDescription": { + "text": "-Wc99-designator clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC99Extensions", + "shortDescription": { + "text": "c99-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc99-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCAttributeExtension", + "shortDescription": { + "text": "c-attribute-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wc-attribute-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCFStringLiteral", + "shortDescription": { + "text": "CFString-literal clang diagnostic" + }, + "fullDescription": { + "text": "-WCFString-literal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCallToPureVirtualFromCtorDtor", + "shortDescription": { + "text": "call-to-pure-virtual-from-ctor-dtor clang diagnostic" + }, + "fullDescription": { + "text": "-Wcall-to-pure-virtual-from-ctor-dtor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCalledOnceParameter", + "shortDescription": { + "text": "called-once-parameter clang diagnostic" + }, + "fullDescription": { + "text": "-Wcalled-once-parameter clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastAlign", + "shortDescription": { + "text": "cast-align clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-align clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastCallingConvention", + "shortDescription": { + "text": "cast-calling-convention clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-calling-convention clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastFunctionType", + "shortDescription": { + "text": "cast-function-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-function-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastFunctionTypeMismatch", + "shortDescription": { + "text": "cast-function-type-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-function-type-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastFunctionTypeStrict", + "shortDescription": { + "text": "cast-function-type-strict clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-function-type-strict clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastOfSelType", + "shortDescription": { + "text": "cast-of-sel-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-of-sel-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastQual", + "shortDescription": { + "text": "cast-qual clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-qual clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastQualUnrelated", + "shortDescription": { + "text": "cast-qual-unrelated clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-qual-unrelated clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCfiUncheckedCallee", + "shortDescription": { + "text": "cfi-unchecked-callee clang diagnostic" + }, + "fullDescription": { + "text": "-Wcfi-unchecked-callee clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCharSubscripts", + "shortDescription": { + "text": "char-subscripts clang diagnostic" + }, + "fullDescription": { + "text": "-Wchar-subscripts clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCharacterConversion", + "shortDescription": { + "text": "character-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wcharacter-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticClangClPch", + "shortDescription": { + "text": "clang-cl-pch clang diagnostic" + }, + "fullDescription": { + "text": "-Wclang-cl-pch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticClassConversion", + "shortDescription": { + "text": "class-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wclass-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticClassVarargs", + "shortDescription": { + "text": "class-varargs clang diagnostic" + }, + "fullDescription": { + "text": "-Wclass-varargs clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCmseUnionLeak", + "shortDescription": { + "text": "cmse-union-leak clang diagnostic" + }, + "fullDescription": { + "text": "-Wcmse-union-leak clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticComma", + "shortDescription": { + "text": "comma clang diagnostic" + }, + "fullDescription": { + "text": "-Wcomma clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticComment", + "shortDescription": { + "text": "comment clang diagnostic" + }, + "fullDescription": { + "text": "-Wcomment clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCompareDistinctPointerTypes", + "shortDescription": { + "text": "compare-distinct-pointer-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wcompare-distinct-pointer-types clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCompletionHandler", + "shortDescription": { + "text": "completion-handler clang diagnostic" + }, + "fullDescription": { + "text": "-Wcompletion-handler clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticComplexComponentInit", + "shortDescription": { + "text": "complex-component-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wcomplex-component-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCompoundTokenSplit", + "shortDescription": { + "text": "compound-token-split clang diagnostic" + }, + "fullDescription": { + "text": "-Wcompound-token-split clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCompoundTokenSplitByMacro", + "shortDescription": { + "text": "compound-token-split-by-macro clang diagnostic" + }, + "fullDescription": { + "text": "-Wcompound-token-split-by-macro clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCompoundTokenSplitBySpace", + "shortDescription": { + "text": "compound-token-split-by-space clang diagnostic" + }, + "fullDescription": { + "text": "-Wcompound-token-split-by-space clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConditionalTypeMismatch", + "shortDescription": { + "text": "conditional-type-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wconditional-type-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConditionalUninitialized", + "shortDescription": { + "text": "conditional-uninitialized clang diagnostic" + }, + "fullDescription": { + "text": "-Wconditional-uninitialized clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConfigMacros", + "shortDescription": { + "text": "config-macros clang diagnostic" + }, + "fullDescription": { + "text": "-Wconfig-macros clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConstantConversion", + "shortDescription": { + "text": "constant-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wconstant-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConstantEvaluated", + "shortDescription": { + "text": "constant-evaluated clang diagnostic" + }, + "fullDescription": { + "text": "-Wconstant-evaluated clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConstantLogicalOperand", + "shortDescription": { + "text": "constant-logical-operand clang diagnostic" + }, + "fullDescription": { + "text": "-Wconstant-logical-operand clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConstexprNotConst", + "shortDescription": { + "text": "constexpr-not-const clang diagnostic" + }, + "fullDescription": { + "text": "-Wconstexpr-not-const clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConsumed", + "shortDescription": { + "text": "consumed clang diagnostic" + }, + "fullDescription": { + "text": "-Wconsumed clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConversion", + "shortDescription": { + "text": "conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wconversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCoroNonAlignedAllocationFunction", + "shortDescription": { + "text": "coro-non-aligned-allocation-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wcoro-non-aligned-allocation-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCoroTypeAwareAllocationFunction", + "shortDescription": { + "text": "coro-type-aware-allocation-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wcoro-type-aware-allocation-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCoroutineMissingUnhandledException", + "shortDescription": { + "text": "coroutine-missing-unhandled-exception clang diagnostic" + }, + "fullDescription": { + "text": "-Wcoroutine-missing-unhandled-exception clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCoveredSwitchDefault", + "shortDescription": { + "text": "covered-switch-default clang diagnostic" + }, + "fullDescription": { + "text": "-Wcovered-switch-default clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11Compat", + "shortDescription": { + "text": "c++11-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11CompatDeprecatedWritableStrings", + "shortDescription": { + "text": "c++11-compat-deprecated-writable-strings clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-compat-deprecated-writable-strings clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11CompatPedantic", + "shortDescription": { + "text": "c++11-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11CompatReservedUserDefinedLiteral", + "shortDescription": { + "text": "c++11-compat-reserved-user-defined-literal clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-compat-reserved-user-defined-literal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11Extensions", + "shortDescription": { + "text": "c++11-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11ExtraSemi", + "shortDescription": { + "text": "c++11-extra-semi clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-extra-semi clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11InlineNamespace", + "shortDescription": { + "text": "c++11-inline-namespace clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-inline-namespace clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11LongLong", + "shortDescription": { + "text": "c++11-long-long clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-long-long clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11Narrowing", + "shortDescription": { + "text": "c++11-narrowing clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-narrowing clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11NarrowingConstReference", + "shortDescription": { + "text": "c++11-narrowing-const-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-narrowing-const-reference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp14AttributeExtensions", + "shortDescription": { + "text": "c++14-attribute-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++14-attribute-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp14BinaryLiteral", + "shortDescription": { + "text": "c++14-binary-literal clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++14-binary-literal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp14Compat", + "shortDescription": { + "text": "c++14-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++14-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp14CompatPedantic", + "shortDescription": { + "text": "c++14-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++14-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp14Extensions", + "shortDescription": { + "text": "c++14-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++14-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp17AttributeExtensions", + "shortDescription": { + "text": "c++17-attribute-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++17-attribute-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp17Compat", + "shortDescription": { + "text": "c++17-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++17-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp17CompatMangling", + "shortDescription": { + "text": "c++17-compat-mangling clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++17-compat-mangling clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp17CompatPedantic", + "shortDescription": { + "text": "c++17-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++17-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp17Extensions", + "shortDescription": { + "text": "c++17-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++17-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp20AttributeExtensions", + "shortDescription": { + "text": "c++20-attribute-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++20-attribute-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp20Compat", + "shortDescription": { + "text": "c++20-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++20-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp20CompatPedantic", + "shortDescription": { + "text": "c++20-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++20-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp20Designator", + "shortDescription": { + "text": "c++20-designator clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++20-designator clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp20Extensions", + "shortDescription": { + "text": "c++20-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++20-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp23AttributeExtensions", + "shortDescription": { + "text": "c++23-attribute-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++23-attribute-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp23Compat", + "shortDescription": { + "text": "c++23-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++23-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp23Extensions", + "shortDescription": { + "text": "c++23-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++23-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp23LambdaAttributes", + "shortDescription": { + "text": "c++23-lambda-attributes clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++23-lambda-attributes clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp26Extensions", + "shortDescription": { + "text": "c++26-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++26-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp2aCompatPedantic", + "shortDescription": { + "text": "c++2a-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++2a-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp2aExtensions", + "shortDescription": { + "text": "c++2a-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++2a-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp2bExtensions", + "shortDescription": { + "text": "c++2b-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++2b-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp2cCompat", + "shortDescription": { + "text": "c++2c-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++2c-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp2cExtensions", + "shortDescription": { + "text": "c++2c-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++2c-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Compat", + "shortDescription": { + "text": "c++98-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98CompatBindToTemporaryCopy", + "shortDescription": { + "text": "c++98-compat-bind-to-temporary-copy clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-compat-bind-to-temporary-copy clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98CompatExtraSemi", + "shortDescription": { + "text": "c++98-compat-extra-semi clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-compat-extra-semi clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98CompatLocalTypeTemplateArgs", + "shortDescription": { + "text": "c++98-compat-local-type-template-args clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-compat-local-type-template-args clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98CompatPedantic", + "shortDescription": { + "text": "c++98-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98CompatUnnamedTypeTemplateArgs", + "shortDescription": { + "text": "c++98-compat-unnamed-type-template-args clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-compat-unnamed-type-template-args clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Cpp11Compat", + "shortDescription": { + "text": "c++98-c++11-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-c++11-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Cpp11CompatBinaryLiteral", + "shortDescription": { + "text": "c++98-c++11-compat-binary-literal clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-c++11-compat-binary-literal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Cpp11CompatPedantic", + "shortDescription": { + "text": "c++98-c++11-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-c++11-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Cpp11Cpp14Compat", + "shortDescription": { + "text": "c++98-c++11-c++14-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-c++11-c++14-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Cpp11Cpp14CompatPedantic", + "shortDescription": { + "text": "c++98-c++11-c++14-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-c++11-c++14-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Cpp11Cpp14Cpp17Compat", + "shortDescription": { + "text": "c++98-c++11-c++14-c++17-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-c++11-c++14-c++17-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Cpp11Cpp14Cpp17CompatPedantic", + "shortDescription": { + "text": "c++98-c++11-c++14-c++17-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-c++11-c++14-c++17-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCppCompat", + "shortDescription": { + "text": "c++-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCppHiddenDecl", + "shortDescription": { + "text": "c++-hidden-decl clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++-hidden-decl clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCppKeyword", + "shortDescription": { + "text": "c++-keyword clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++-keyword clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCppUnterminatedStringInitialization", + "shortDescription": { + "text": "c++-unterminated-string-initialization clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++-unterminated-string-initialization clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCstringFormatDirective", + "shortDescription": { + "text": "cstring-format-directive clang diagnostic" + }, + "fullDescription": { + "text": "-Wcstring-format-directive clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCtadMaybeUnsupported", + "shortDescription": { + "text": "ctad-maybe-unsupported clang diagnostic" + }, + "fullDescription": { + "text": "-Wctad-maybe-unsupported clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCtu", + "shortDescription": { + "text": "ctu clang diagnostic" + }, + "fullDescription": { + "text": "-Wctu clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCudaCompat", + "shortDescription": { + "text": "cuda-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wcuda-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCustomAtomicProperties", + "shortDescription": { + "text": "custom-atomic-properties clang diagnostic" + }, + "fullDescription": { + "text": "-Wcustom-atomic-properties clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCxxAttributeExtension", + "shortDescription": { + "text": "cxx-attribute-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wcxx-attribute-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDangling", + "shortDescription": { + "text": "dangling clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDanglingAssignment", + "shortDescription": { + "text": "dangling-assignment clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling-assignment clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDanglingAssignmentGsl", + "shortDescription": { + "text": "dangling-assignment-gsl clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling-assignment-gsl clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDanglingCapture", + "shortDescription": { + "text": "dangling-capture clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling-capture clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDanglingElse", + "shortDescription": { + "text": "dangling-else clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling-else clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDanglingField", + "shortDescription": { + "text": "dangling-field clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling-field clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDanglingGsl", + "shortDescription": { + "text": "dangling-gsl clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling-gsl clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDanglingInitializerList", + "shortDescription": { + "text": "dangling-initializer-list clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling-initializer-list clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDarwinSdkSettings", + "shortDescription": { + "text": "darwin-sdk-settings clang diagnostic" + }, + "fullDescription": { + "text": "-Wdarwin-sdk-settings clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDateTime", + "shortDescription": { + "text": "date-time clang diagnostic" + }, + "fullDescription": { + "text": "-Wdate-time clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeallocInCategory", + "shortDescription": { + "text": "dealloc-in-category clang diagnostic" + }, + "fullDescription": { + "text": "-Wdealloc-in-category clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDebugCompressionUnavailable", + "shortDescription": { + "text": "debug-compression-unavailable clang diagnostic" + }, + "fullDescription": { + "text": "-Wdebug-compression-unavailable clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeclarationAfterStatement", + "shortDescription": { + "text": "declaration-after-statement clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeclaration-after-statement clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeclsInMultipleModules", + "shortDescription": { + "text": "decls-in-multiple-modules clang diagnostic" + }, + "fullDescription": { + "text": "-Wdecls-in-multiple-modules clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDefaultConstInit", + "shortDescription": { + "text": "default-const-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wdefault-const-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDefaultConstInitField", + "shortDescription": { + "text": "default-const-init-field clang diagnostic" + }, + "fullDescription": { + "text": "-Wdefault-const-init-field clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDefaultConstInitFieldUnsafe", + "shortDescription": { + "text": "default-const-init-field-unsafe clang diagnostic" + }, + "fullDescription": { + "text": "-Wdefault-const-init-field-unsafe clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDefaultConstInitUnsafe", + "shortDescription": { + "text": "default-const-init-unsafe clang diagnostic" + }, + "fullDescription": { + "text": "-Wdefault-const-init-unsafe clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDefaultConstInitVar", + "shortDescription": { + "text": "default-const-init-var clang diagnostic" + }, + "fullDescription": { + "text": "-Wdefault-const-init-var clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDefaultConstInitVarUnsafe", + "shortDescription": { + "text": "default-const-init-var-unsafe clang diagnostic" + }, + "fullDescription": { + "text": "-Wdefault-const-init-var-unsafe clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDefaultedFunctionDeleted", + "shortDescription": { + "text": "defaulted-function-deleted clang diagnostic" + }, + "fullDescription": { + "text": "-Wdefaulted-function-deleted clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDelegatingCtorCycles", + "shortDescription": { + "text": "delegating-ctor-cycles clang diagnostic" + }, + "fullDescription": { + "text": "-Wdelegating-ctor-cycles clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeleteAbstractNonVirtualDtor", + "shortDescription": { + "text": "delete-abstract-non-virtual-dtor clang diagnostic" + }, + "fullDescription": { + "text": "-Wdelete-abstract-non-virtual-dtor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeleteIncomplete", + "shortDescription": { + "text": "delete-incomplete clang diagnostic" + }, + "fullDescription": { + "text": "-Wdelete-incomplete clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeleteNonAbstractNonVirtualDtor", + "shortDescription": { + "text": "delete-non-abstract-non-virtual-dtor clang diagnostic" + }, + "fullDescription": { + "text": "-Wdelete-non-abstract-non-virtual-dtor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeleteNonVirtualDtor", + "shortDescription": { + "text": "delete-non-virtual-dtor clang diagnostic" + }, + "fullDescription": { + "text": "-Wdelete-non-virtual-dtor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDelimitedEscapeSequenceExtension", + "shortDescription": { + "text": "delimited-escape-sequence-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wdelimited-escape-sequence-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecateLaxVecConvAll", + "shortDescription": { + "text": "deprecate-lax-vec-conv-all clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecate-lax-vec-conv-all clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecated", + "shortDescription": { + "text": "deprecated clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedAltivecSrcCompat", + "shortDescription": { + "text": "deprecated-altivec-src-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-altivec-src-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedAnonEnumEnumConversion", + "shortDescription": { + "text": "deprecated-anon-enum-enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-anon-enum-enum-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedArrayCompare", + "shortDescription": { + "text": "deprecated-array-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-array-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedAttributes", + "shortDescription": { + "text": "deprecated-attributes clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-attributes clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedBuiltins", + "shortDescription": { + "text": "deprecated-builtins clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-builtins clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedCommaSubscript", + "shortDescription": { + "text": "deprecated-comma-subscript clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-comma-subscript clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedCopy", + "shortDescription": { + "text": "deprecated-copy clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-copy clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedCopyWithDtor", + "shortDescription": { + "text": "deprecated-copy-with-dtor clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-copy-with-dtor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedCopyWithUserProvidedCopy", + "shortDescription": { + "text": "deprecated-copy-with-user-provided-copy clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-copy-with-user-provided-copy clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedCopyWithUserProvidedDtor", + "shortDescription": { + "text": "deprecated-copy-with-user-provided-dtor clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-copy-with-user-provided-dtor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedCoroutine", + "shortDescription": { + "text": "deprecated-coroutine clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-coroutine clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedDeclarations", + "shortDescription": { + "text": "deprecated-declarations clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-declarations clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedDeclarationsSwitchCase", + "shortDescription": { + "text": "deprecated-declarations-switch-case clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-declarations-switch-case clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedDynamicExceptionSpec", + "shortDescription": { + "text": "deprecated-dynamic-exception-spec clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-dynamic-exception-spec clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedEnumCompare", + "shortDescription": { + "text": "deprecated-enum-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-enum-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedEnumCompareConditional", + "shortDescription": { + "text": "deprecated-enum-compare-conditional clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-enum-compare-conditional clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedEnumEnumConversion", + "shortDescription": { + "text": "deprecated-enum-enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-enum-enum-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedEnumFloatConversion", + "shortDescription": { + "text": "deprecated-enum-float-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-enum-float-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedImplementations", + "shortDescription": { + "text": "deprecated-implementations clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-implementations clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedIncrementBool", + "shortDescription": { + "text": "deprecated-increment-bool clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-increment-bool clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedLiteralOperator", + "shortDescription": { + "text": "deprecated-literal-operator clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-literal-operator clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedMissingCommaVariadicParameter", + "shortDescription": { + "text": "deprecated-missing-comma-variadic-parameter clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-missing-comma-variadic-parameter clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedNonPrototype", + "shortDescription": { + "text": "deprecated-non-prototype clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-non-prototype clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedObjcIsaUsage", + "shortDescription": { + "text": "deprecated-objc-isa-usage clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-objc-isa-usage clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedObjcPointerIntrospection", + "shortDescription": { + "text": "deprecated-objc-pointer-introspection clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-objc-pointer-introspection clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedObjcPointerIntrospectionPerformSelector", + "shortDescription": { + "text": "deprecated-objc-pointer-introspection-performSelector clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-objc-pointer-introspection-performSelector clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedOctalLiterals", + "shortDescription": { + "text": "deprecated-octal-literals clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-octal-literals clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedOfast", + "shortDescription": { + "text": "deprecated-ofast clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-ofast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedPragma", + "shortDescription": { + "text": "deprecated-pragma clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-pragma clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedRedundantConstexprStaticDef", + "shortDescription": { + "text": "deprecated-redundant-constexpr-static-def clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-redundant-constexpr-static-def clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedRegister", + "shortDescription": { + "text": "deprecated-register clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-register clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedThisCapture", + "shortDescription": { + "text": "deprecated-this-capture clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-this-capture clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedType", + "shortDescription": { + "text": "deprecated-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedVolatile", + "shortDescription": { + "text": "deprecated-volatile clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-volatile clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDirectIvarAccess", + "shortDescription": { + "text": "direct-ivar-access clang diagnostic" + }, + "fullDescription": { + "text": "-Wdirect-ivar-access clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDisabledMacroExpansion", + "shortDescription": { + "text": "disabled-macro-expansion clang diagnostic" + }, + "fullDescription": { + "text": "-Wdisabled-macro-expansion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDistributedObjectModifiers", + "shortDescription": { + "text": "distributed-object-modifiers clang diagnostic" + }, + "fullDescription": { + "text": "-Wdistributed-object-modifiers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDivisionByZero", + "shortDescription": { + "text": "division-by-zero clang diagnostic" + }, + "fullDescription": { + "text": "-Wdivision-by-zero clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDllAttributeOnRedeclaration", + "shortDescription": { + "text": "dll-attribute-on-redeclaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wdll-attribute-on-redeclaration clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDllexportExplicitInstantiation", + "shortDescription": { + "text": "dllexport-explicit-instantiation clang diagnostic" + }, + "fullDescription": { + "text": "-Wdllexport-explicit-instantiation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDllexportExplicitInstantiationDecl", + "shortDescription": { + "text": "dllexport-explicit-instantiation-decl clang diagnostic" + }, + "fullDescription": { + "text": "-Wdllexport-explicit-instantiation-decl clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDllimportStaticFieldDef", + "shortDescription": { + "text": "dllimport-static-field-def clang diagnostic" + }, + "fullDescription": { + "text": "-Wdllimport-static-field-def clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDocumentation", + "shortDescription": { + "text": "documentation clang diagnostic" + }, + "fullDescription": { + "text": "-Wdocumentation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDocumentationDeprecatedSync", + "shortDescription": { + "text": "documentation-deprecated-sync clang diagnostic" + }, + "fullDescription": { + "text": "-Wdocumentation-deprecated-sync clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDocumentationHtml", + "shortDescription": { + "text": "documentation-html clang diagnostic" + }, + "fullDescription": { + "text": "-Wdocumentation-html clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDocumentationPedantic", + "shortDescription": { + "text": "documentation-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wdocumentation-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDocumentationUnknownCommand", + "shortDescription": { + "text": "documentation-unknown-command clang diagnostic" + }, + "fullDescription": { + "text": "-Wdocumentation-unknown-command clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDollarInIdentifierExtension", + "shortDescription": { + "text": "dollar-in-identifier-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wdollar-in-identifier-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDoublePromotion", + "shortDescription": { + "text": "double-promotion clang diagnostic" + }, + "fullDescription": { + "text": "-Wdouble-promotion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDtorName", + "shortDescription": { + "text": "dtor-name clang diagnostic" + }, + "fullDescription": { + "text": "-Wdtor-name clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDtorTypedef", + "shortDescription": { + "text": "dtor-typedef clang diagnostic" + }, + "fullDescription": { + "text": "-Wdtor-typedef clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDuplicateDeclSpecifier", + "shortDescription": { + "text": "duplicate-decl-specifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wduplicate-decl-specifier clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDuplicateEnum", + "shortDescription": { + "text": "duplicate-enum clang diagnostic" + }, + "fullDescription": { + "text": "-Wduplicate-enum clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDuplicateMethodArg", + "shortDescription": { + "text": "duplicate-method-arg clang diagnostic" + }, + "fullDescription": { + "text": "-Wduplicate-method-arg clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDuplicateMethodMatch", + "shortDescription": { + "text": "duplicate-method-match clang diagnostic" + }, + "fullDescription": { + "text": "-Wduplicate-method-match clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDuplicateProtocol", + "shortDescription": { + "text": "duplicate-protocol clang diagnostic" + }, + "fullDescription": { + "text": "-Wduplicate-protocol clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDxilValidation", + "shortDescription": { + "text": "dxil-validation clang diagnostic" + }, + "fullDescription": { + "text": "-Wdxil-validation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDynamicClassMemaccess", + "shortDescription": { + "text": "dynamic-class-memaccess clang diagnostic" + }, + "fullDescription": { + "text": "-Wdynamic-class-memaccess clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDynamicExceptionSpec", + "shortDescription": { + "text": "dynamic-exception-spec clang diagnostic" + }, + "fullDescription": { + "text": "-Wdynamic-exception-spec clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEagerLoadCxxNamedModules", + "shortDescription": { + "text": "eager-load-cxx-named-modules clang diagnostic" + }, + "fullDescription": { + "text": "-Weager-load-cxx-named-modules clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEmbeddedDirective", + "shortDescription": { + "text": "embedded-directive clang diagnostic" + }, + "fullDescription": { + "text": "-Wembedded-directive clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEmptyBody", + "shortDescription": { + "text": "empty-body clang diagnostic" + }, + "fullDescription": { + "text": "-Wempty-body clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEmptyDecomposition", + "shortDescription": { + "text": "empty-decomposition clang diagnostic" + }, + "fullDescription": { + "text": "-Wempty-decomposition clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEmptyInitStmt", + "shortDescription": { + "text": "empty-init-stmt clang diagnostic" + }, + "fullDescription": { + "text": "-Wempty-init-stmt clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEmptyTranslationUnit", + "shortDescription": { + "text": "empty-translation-unit clang diagnostic" + }, + "fullDescription": { + "text": "-Wempty-translation-unit clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEncodeType", + "shortDescription": { + "text": "encode-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wencode-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumCompare", + "shortDescription": { + "text": "enum-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumCompareConditional", + "shortDescription": { + "text": "enum-compare-conditional clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-compare-conditional clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumCompareSwitch", + "shortDescription": { + "text": "enum-compare-switch clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-compare-switch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumCompareTypo", + "shortDescription": { + "text": "enum-compare-typo clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-compare-typo clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumConversion", + "shortDescription": { + "text": "enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumEnumConversion", + "shortDescription": { + "text": "enum-enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-enum-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumFloatConversion", + "shortDescription": { + "text": "enum-float-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-float-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumTooLarge", + "shortDescription": { + "text": "enum-too-large clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-too-large clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticError", + "shortDescription": { + "text": "Clang compiler error" + }, + "fullDescription": { + "text": "Clang compiler error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExceptions", + "shortDescription": { + "text": "exceptions clang diagnostic" + }, + "fullDescription": { + "text": "-Wexceptions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExcessInitializers", + "shortDescription": { + "text": "excess-initializers clang diagnostic" + }, + "fullDescription": { + "text": "-Wexcess-initializers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExcessiveRegsave", + "shortDescription": { + "text": "excessive-regsave clang diagnostic" + }, + "fullDescription": { + "text": "-Wexcessive-regsave clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExitTimeDestructors", + "shortDescription": { + "text": "exit-time-destructors clang diagnostic" + }, + "fullDescription": { + "text": "-Wexit-time-destructors clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExpansionToDefined", + "shortDescription": { + "text": "expansion-to-defined clang diagnostic" + }, + "fullDescription": { + "text": "-Wexpansion-to-defined clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalHeaderUnits", + "shortDescription": { + "text": "experimental-header-units clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-header-units clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalLifetimeSafety", + "shortDescription": { + "text": "experimental-lifetime-safety clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-lifetime-safety clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalLifetimeSafetyCrossTuSuggestions", + "shortDescription": { + "text": "experimental-lifetime-safety-cross-tu-suggestions clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-lifetime-safety-cross-tu-suggestions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalLifetimeSafetyIntraTuSuggestions", + "shortDescription": { + "text": "experimental-lifetime-safety-intra-tu-suggestions clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-lifetime-safety-intra-tu-suggestions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalLifetimeSafetyPermissive", + "shortDescription": { + "text": "experimental-lifetime-safety-permissive clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-lifetime-safety-permissive clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalLifetimeSafetyStrict", + "shortDescription": { + "text": "experimental-lifetime-safety-strict clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-lifetime-safety-strict clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalLifetimeSafetySuggestions", + "shortDescription": { + "text": "experimental-lifetime-safety-suggestions clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-lifetime-safety-suggestions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalOption", + "shortDescription": { + "text": "experimental-option clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-option clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExplicitInitializeCall", + "shortDescription": { + "text": "explicit-initialize-call clang diagnostic" + }, + "fullDescription": { + "text": "-Wexplicit-initialize-call clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExplicitOwnershipType", + "shortDescription": { + "text": "explicit-ownership-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wexplicit-ownership-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExplicitSpecializationStorageClass", + "shortDescription": { + "text": "explicit-specialization-storage-class clang diagnostic" + }, + "fullDescription": { + "text": "-Wexplicit-specialization-storage-class clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExportUnnamed", + "shortDescription": { + "text": "export-unnamed clang diagnostic" + }, + "fullDescription": { + "text": "-Wexport-unnamed clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtCxxTypeAwareAllocators", + "shortDescription": { + "text": "ext-cxx-type-aware-allocators clang diagnostic" + }, + "fullDescription": { + "text": "-Wext-cxx-type-aware-allocators clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExternCCompat", + "shortDescription": { + "text": "extern-c-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wextern-c-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExternInitializer", + "shortDescription": { + "text": "extern-initializer clang diagnostic" + }, + "fullDescription": { + "text": "-Wextern-initializer clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtraQualification", + "shortDescription": { + "text": "extra-qualification clang diagnostic" + }, + "fullDescription": { + "text": "-Wextra-qualification clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtraSemi", + "shortDescription": { + "text": "extra-semi clang diagnostic" + }, + "fullDescription": { + "text": "-Wextra-semi clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtraSemiStmt", + "shortDescription": { + "text": "extra-semi-stmt clang diagnostic" + }, + "fullDescription": { + "text": "-Wextra-semi-stmt clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtraTokens", + "shortDescription": { + "text": "extra-tokens clang diagnostic" + }, + "fullDescription": { + "text": "-Wextra-tokens clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtractapiMisuse", + "shortDescription": { + "text": "extractapi-misuse clang diagnostic" + }, + "fullDescription": { + "text": "-Wextractapi-misuse clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFinalDtorNonFinalClass", + "shortDescription": { + "text": "final-dtor-non-final-class clang diagnostic" + }, + "fullDescription": { + "text": "-Wfinal-dtor-non-final-class clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFinalMacro", + "shortDescription": { + "text": "final-macro clang diagnostic" + }, + "fullDescription": { + "text": "-Wfinal-macro clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFixedPointOverflow", + "shortDescription": { + "text": "fixed-point-overflow clang diagnostic" + }, + "fullDescription": { + "text": "-Wfixed-point-overflow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFlagEnum", + "shortDescription": { + "text": "flag-enum clang diagnostic" + }, + "fullDescription": { + "text": "-Wflag-enum clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFlexibleArrayExtensions", + "shortDescription": { + "text": "flexible-array-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wflexible-array-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFloatConversion", + "shortDescription": { + "text": "float-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wfloat-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFloatEqual", + "shortDescription": { + "text": "float-equal clang diagnostic" + }, + "fullDescription": { + "text": "-Wfloat-equal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFloatOverflowConversion", + "shortDescription": { + "text": "float-overflow-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wfloat-overflow-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFloatZeroConversion", + "shortDescription": { + "text": "float-zero-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wfloat-zero-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticForLoopAnalysis", + "shortDescription": { + "text": "for-loop-analysis clang diagnostic" + }, + "fullDescription": { + "text": "-Wfor-loop-analysis clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormat", + "shortDescription": { + "text": "format clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatExtraArgs", + "shortDescription": { + "text": "format-extra-args clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-extra-args clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatInsufficientArgs", + "shortDescription": { + "text": "format-insufficient-args clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-insufficient-args clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatInvalidSpecifier", + "shortDescription": { + "text": "format-invalid-specifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-invalid-specifier clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatNonIso", + "shortDescription": { + "text": "format-non-iso clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-non-iso clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatNonliteral", + "shortDescription": { + "text": "format-nonliteral clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-nonliteral clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatOverflow", + "shortDescription": { + "text": "format-overflow clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-overflow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatOverflowNonKprintf", + "shortDescription": { + "text": "format-overflow-non-kprintf clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-overflow-non-kprintf clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatPedantic", + "shortDescription": { + "text": "format-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatSecurity", + "shortDescription": { + "text": "format-security clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-security clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatSignedness", + "shortDescription": { + "text": "format-signedness clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-signedness clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatTruncation", + "shortDescription": { + "text": "format-truncation clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-truncation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatTruncationNonKprintf", + "shortDescription": { + "text": "format-truncation-non-kprintf clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-truncation-non-kprintf clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatTypeConfusion", + "shortDescription": { + "text": "format-type-confusion clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-type-confusion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatZeroLength", + "shortDescription": { + "text": "format-zero-length clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-zero-length clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFortifySource", + "shortDescription": { + "text": "fortify-source clang diagnostic" + }, + "fullDescription": { + "text": "-Wfortify-source clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFourCharConstants", + "shortDescription": { + "text": "four-char-constants clang diagnostic" + }, + "fullDescription": { + "text": "-Wfour-char-constants clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFrameAddress", + "shortDescription": { + "text": "frame-address clang diagnostic" + }, + "fullDescription": { + "text": "-Wframe-address clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFrameLargerThan", + "shortDescription": { + "text": "frame-larger-than clang diagnostic" + }, + "fullDescription": { + "text": "-Wframe-larger-than clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFrameworkIncludePrivateFromPublic", + "shortDescription": { + "text": "framework-include-private-from-public clang diagnostic" + }, + "fullDescription": { + "text": "-Wframework-include-private-from-public clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFreeNonheapObject", + "shortDescription": { + "text": "free-nonheap-object clang diagnostic" + }, + "fullDescription": { + "text": "-Wfree-nonheap-object clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFriendEnum", + "shortDescription": { + "text": "friend-enum clang diagnostic" + }, + "fullDescription": { + "text": "-Wfriend-enum clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFunctionDefInObjcContainer", + "shortDescription": { + "text": "function-def-in-objc-container clang diagnostic" + }, + "fullDescription": { + "text": "-Wfunction-def-in-objc-container clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFunctionEffectRedeclarations", + "shortDescription": { + "text": "function-effect-redeclarations clang diagnostic" + }, + "fullDescription": { + "text": "-Wfunction-effect-redeclarations clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFunctionEffects", + "shortDescription": { + "text": "function-effects clang diagnostic" + }, + "fullDescription": { + "text": "-Wfunction-effects clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFunctionMultiversion", + "shortDescription": { + "text": "function-multiversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wfunction-multiversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFutureAttributeExtensions", + "shortDescription": { + "text": "future-attribute-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wfuture-attribute-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGccCompat", + "shortDescription": { + "text": "gcc-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wgcc-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGlobalConstructors", + "shortDescription": { + "text": "global-constructors clang diagnostic" + }, + "fullDescription": { + "text": "-Wglobal-constructors clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGlobalIsel", + "shortDescription": { + "text": "global-isel clang diagnostic" + }, + "fullDescription": { + "text": "-Wglobal-isel clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuAlignofExpression", + "shortDescription": { + "text": "gnu-alignof-expression clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-alignof-expression clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuAnonymousStruct", + "shortDescription": { + "text": "gnu-anonymous-struct clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-anonymous-struct clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuArrayMemberParenInit", + "shortDescription": { + "text": "gnu-array-member-paren-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-array-member-paren-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuAutoType", + "shortDescription": { + "text": "gnu-auto-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-auto-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuBinaryLiteral", + "shortDescription": { + "text": "gnu-binary-literal clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-binary-literal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuCaseRange", + "shortDescription": { + "text": "gnu-case-range clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-case-range clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuComplexInteger", + "shortDescription": { + "text": "gnu-complex-integer clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-complex-integer clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuCompoundLiteralInitializer", + "shortDescription": { + "text": "gnu-compound-literal-initializer clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-compound-literal-initializer clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuConditionalOmittedOperand", + "shortDescription": { + "text": "gnu-conditional-omitted-operand clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-conditional-omitted-operand clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuDesignator", + "shortDescription": { + "text": "gnu-designator clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-designator clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuEmptyInitializer", + "shortDescription": { + "text": "gnu-empty-initializer clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-empty-initializer clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuEmptyStruct", + "shortDescription": { + "text": "gnu-empty-struct clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-empty-struct clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuFlexibleArrayInitializer", + "shortDescription": { + "text": "gnu-flexible-array-initializer clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-flexible-array-initializer clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuFlexibleArrayUnionMember", + "shortDescription": { + "text": "gnu-flexible-array-union-member clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-flexible-array-union-member clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuFoldingConstant", + "shortDescription": { + "text": "gnu-folding-constant clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-folding-constant clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuImaginaryConstant", + "shortDescription": { + "text": "gnu-imaginary-constant clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-imaginary-constant clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuIncludeNext", + "shortDescription": { + "text": "gnu-include-next clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-include-next clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuInlineCppWithoutExtern", + "shortDescription": { + "text": "gnu-inline-cpp-without-extern clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-inline-cpp-without-extern clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuLabelAsValue", + "shortDescription": { + "text": "gnu-label-as-value clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-label-as-value clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuLineMarker", + "shortDescription": { + "text": "gnu-line-marker clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-line-marker clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuNullPointerArithmetic", + "shortDescription": { + "text": "gnu-null-pointer-arithmetic clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-null-pointer-arithmetic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuOffsetofExtensions", + "shortDescription": { + "text": "gnu-offsetof-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-offsetof-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuPointerArith", + "shortDescription": { + "text": "gnu-pointer-arith clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-pointer-arith clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuRedeclaredEnum", + "shortDescription": { + "text": "gnu-redeclared-enum clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-redeclared-enum clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuStatementExpression", + "shortDescription": { + "text": "gnu-statement-expression clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-statement-expression clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuStatementExpressionFromMacroExpansion", + "shortDescription": { + "text": "gnu-statement-expression-from-macro-expansion clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-statement-expression-from-macro-expansion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuStaticFloatInit", + "shortDescription": { + "text": "gnu-static-float-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-static-float-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuStringLiteralOperatorTemplate", + "shortDescription": { + "text": "gnu-string-literal-operator-template clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-string-literal-operator-template clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuUnionCast", + "shortDescription": { + "text": "gnu-union-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-union-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuVariableSizedTypeNotAtEnd", + "shortDescription": { + "text": "gnu-variable-sized-type-not-at-end clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-variable-sized-type-not-at-end clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuZeroVariadicMacroArguments", + "shortDescription": { + "text": "gnu-zero-variadic-macro-arguments clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-zero-variadic-macro-arguments clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGpuMaybeWrongSide", + "shortDescription": { + "text": "gpu-maybe-wrong-side clang diagnostic" + }, + "fullDescription": { + "text": "-Wgpu-maybe-wrong-side clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHeaderGuard", + "shortDescription": { + "text": "header-guard clang diagnostic" + }, + "fullDescription": { + "text": "-Wheader-guard clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHeaderHygiene", + "shortDescription": { + "text": "header-hygiene clang diagnostic" + }, + "fullDescription": { + "text": "-Wheader-hygiene clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHigherPrecisionForComplexDivision", + "shortDescription": { + "text": "higher-precision-for-complex-division clang diagnostic" + }, + "fullDescription": { + "text": "-Whigher-precision-for-complex-division clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHipOmpTargetDirectives", + "shortDescription": { + "text": "hip-omp-target-directives clang diagnostic" + }, + "fullDescription": { + "text": "-Whip-omp-target-directives clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHipOnly", + "shortDescription": { + "text": "hip-only clang diagnostic" + }, + "fullDescription": { + "text": "-Whip-only clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHlsl202yExtensions", + "shortDescription": { + "text": "hlsl-202y-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Whlsl-202y-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHlslAvailability", + "shortDescription": { + "text": "hlsl-availability clang diagnostic" + }, + "fullDescription": { + "text": "-Whlsl-availability clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHlslDxcCompatability", + "shortDescription": { + "text": "hlsl-dxc-compatability clang diagnostic" + }, + "fullDescription": { + "text": "-Whlsl-dxc-compatability clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHlslExtensions", + "shortDescription": { + "text": "hlsl-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Whlsl-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticHlslImplicitBinding", + "shortDescription": { + "text": "hlsl-implicit-binding clang diagnostic" + }, + "fullDescription": { + "text": "-Whlsl-implicit-binding clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIdiomaticParentheses", + "shortDescription": { + "text": "idiomatic-parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Widiomatic-parentheses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredAttributes", + "shortDescription": { + "text": "ignored-attributes clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-attributes clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredAvailabilityWithoutSdkSettings", + "shortDescription": { + "text": "ignored-availability-without-sdk-settings clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-availability-without-sdk-settings clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredBaseClassQualifiers", + "shortDescription": { + "text": "ignored-base-class-qualifiers clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-base-class-qualifiers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredOptimizationArgument", + "shortDescription": { + "text": "ignored-optimization-argument clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-optimization-argument clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredPragmaIntrinsic", + "shortDescription": { + "text": "ignored-pragma-intrinsic clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-pragma-intrinsic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredPragmaOptimize", + "shortDescription": { + "text": "ignored-pragma-optimize clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-pragma-optimize clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredPragmas", + "shortDescription": { + "text": "ignored-pragmas clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-pragmas clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredQualifiers", + "shortDescription": { + "text": "ignored-qualifiers clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-qualifiers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredReferenceQualifiers", + "shortDescription": { + "text": "ignored-reference-qualifiers clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-reference-qualifiers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitAtomicProperties", + "shortDescription": { + "text": "implicit-atomic-properties clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-atomic-properties clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitConstIntFloatConversion", + "shortDescription": { + "text": "implicit-const-int-float-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-const-int-float-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitConversionFloatingPointToBool", + "shortDescription": { + "text": "implicit-conversion-floating-point-to-bool clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-conversion-floating-point-to-bool clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitEnumEnumCast", + "shortDescription": { + "text": "implicit-enum-enum-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-enum-enum-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitExceptionSpecMismatch", + "shortDescription": { + "text": "implicit-exception-spec-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-exception-spec-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitFallthrough", + "shortDescription": { + "text": "implicit-fallthrough clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-fallthrough clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitFallthroughPerFunction", + "shortDescription": { + "text": "implicit-fallthrough-per-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-fallthrough-per-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitFixedPointConversion", + "shortDescription": { + "text": "implicit-fixed-point-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-fixed-point-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitFloatConversion", + "shortDescription": { + "text": "implicit-float-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-float-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitFunctionDeclaration", + "shortDescription": { + "text": "implicit-function-declaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-function-declaration clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitInt", + "shortDescription": { + "text": "implicit-int clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-int clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitIntConversion", + "shortDescription": { + "text": "implicit-int-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-int-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitIntConversionOnNegation", + "shortDescription": { + "text": "implicit-int-conversion-on-negation clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-int-conversion-on-negation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitIntEnumCast", + "shortDescription": { + "text": "implicit-int-enum-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-int-enum-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitIntFloatConversion", + "shortDescription": { + "text": "implicit-int-float-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-int-float-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitRetainSelf", + "shortDescription": { + "text": "implicit-retain-self clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-retain-self clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitVoidPtrCast", + "shortDescription": { + "text": "implicit-void-ptr-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-void-ptr-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitlyUnsignedLiteral", + "shortDescription": { + "text": "implicitly-unsigned-literal clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicitly-unsigned-literal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImportImplementationPartitionUnitInInterfaceUnit", + "shortDescription": { + "text": "import-implementation-partition-unit-in-interface-unit clang diagnostic" + }, + "fullDescription": { + "text": "-Wimport-implementation-partition-unit-in-interface-unit clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImportPreprocessorDirectivePedantic", + "shortDescription": { + "text": "import-preprocessor-directive-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wimport-preprocessor-directive-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInaccessibleBase", + "shortDescription": { + "text": "inaccessible-base clang diagnostic" + }, + "fullDescription": { + "text": "-Winaccessible-base clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncludeAngledInModulePurview", + "shortDescription": { + "text": "include-angled-in-module-purview clang diagnostic" + }, + "fullDescription": { + "text": "-Winclude-angled-in-module-purview clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncludeNextAbsolutePath", + "shortDescription": { + "text": "include-next-absolute-path clang diagnostic" + }, + "fullDescription": { + "text": "-Winclude-next-absolute-path clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncludeNextOutsideHeader", + "shortDescription": { + "text": "include-next-outside-header clang diagnostic" + }, + "fullDescription": { + "text": "-Winclude-next-outside-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleExceptionSpec", + "shortDescription": { + "text": "incompatible-exception-spec clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-exception-spec clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleFunctionPointerTypes", + "shortDescription": { + "text": "incompatible-function-pointer-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-function-pointer-types clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleFunctionPointerTypesStrict", + "shortDescription": { + "text": "incompatible-function-pointer-types-strict clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-function-pointer-types-strict clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleLibraryRedeclaration", + "shortDescription": { + "text": "incompatible-library-redeclaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-library-redeclaration clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleMsPragmaSection", + "shortDescription": { + "text": "incompatible-ms-pragma-section clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-ms-pragma-section clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleMsStruct", + "shortDescription": { + "text": "incompatible-ms-struct clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-ms-struct clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatiblePointerTypes", + "shortDescription": { + "text": "incompatible-pointer-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-pointer-types clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatiblePointerTypesDiscardsQualifiers", + "shortDescription": { + "text": "incompatible-pointer-types-discards-qualifiers clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-pointer-types-discards-qualifiers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatiblePropertyType", + "shortDescription": { + "text": "incompatible-property-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-property-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleSysroot", + "shortDescription": { + "text": "incompatible-sysroot clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-sysroot clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompleteFrameworkModuleDeclaration", + "shortDescription": { + "text": "incomplete-framework-module-declaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wincomplete-framework-module-declaration clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompleteImplementation", + "shortDescription": { + "text": "incomplete-implementation clang diagnostic" + }, + "fullDescription": { + "text": "-Wincomplete-implementation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompleteModule", + "shortDescription": { + "text": "incomplete-module clang diagnostic" + }, + "fullDescription": { + "text": "-Wincomplete-module clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompleteSetjmpDeclaration", + "shortDescription": { + "text": "incomplete-setjmp-declaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wincomplete-setjmp-declaration clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompleteUmbrella", + "shortDescription": { + "text": "incomplete-umbrella clang diagnostic" + }, + "fullDescription": { + "text": "-Wincomplete-umbrella clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInconsistentDllimport", + "shortDescription": { + "text": "inconsistent-dllimport clang diagnostic" + }, + "fullDescription": { + "text": "-Winconsistent-dllimport clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInconsistentMissingDestructorOverride", + "shortDescription": { + "text": "inconsistent-missing-destructor-override clang diagnostic" + }, + "fullDescription": { + "text": "-Winconsistent-missing-destructor-override clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInconsistentMissingOverride", + "shortDescription": { + "text": "inconsistent-missing-override clang diagnostic" + }, + "fullDescription": { + "text": "-Winconsistent-missing-override clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncrementBool", + "shortDescription": { + "text": "increment-bool clang diagnostic" + }, + "fullDescription": { + "text": "-Wincrement-bool clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIndependentClassAttribute", + "shortDescription": { + "text": "IndependentClass-attribute clang diagnostic" + }, + "fullDescription": { + "text": "-WIndependentClass-attribute clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInfiniteRecursion", + "shortDescription": { + "text": "infinite-recursion clang diagnostic" + }, + "fullDescription": { + "text": "-Winfinite-recursion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInitPriorityReserved", + "shortDescription": { + "text": "init-priority-reserved clang diagnostic" + }, + "fullDescription": { + "text": "-Winit-priority-reserved clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInitializerOverrides", + "shortDescription": { + "text": "initializer-overrides clang diagnostic" + }, + "fullDescription": { + "text": "-Winitializer-overrides clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInjectedClassName", + "shortDescription": { + "text": "injected-class-name clang diagnostic" + }, + "fullDescription": { + "text": "-Winjected-class-name clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInlineAsm", + "shortDescription": { + "text": "inline-asm clang diagnostic" + }, + "fullDescription": { + "text": "-Winline-asm clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInlineNamespaceReopenedNoninline", + "shortDescription": { + "text": "inline-namespace-reopened-noninline clang diagnostic" + }, + "fullDescription": { + "text": "-Winline-namespace-reopened-noninline clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInlineNewDelete", + "shortDescription": { + "text": "inline-new-delete clang diagnostic" + }, + "fullDescription": { + "text": "-Winline-new-delete clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInstallapiViolation", + "shortDescription": { + "text": "installapi-violation clang diagnostic" + }, + "fullDescription": { + "text": "-Winstallapi-violation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInstantiationAfterSpecialization", + "shortDescription": { + "text": "instantiation-after-specialization clang diagnostic" + }, + "fullDescription": { + "text": "-Winstantiation-after-specialization clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIntConversion", + "shortDescription": { + "text": "int-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wint-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIntInBoolContext", + "shortDescription": { + "text": "int-in-bool-context clang diagnostic" + }, + "fullDescription": { + "text": "-Wint-in-bool-context clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIntToPointerCast", + "shortDescription": { + "text": "int-to-pointer-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wint-to-pointer-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIntToVoidPointerCast", + "shortDescription": { + "text": "int-to-void-pointer-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wint-to-void-pointer-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIntegerOverflow", + "shortDescription": { + "text": "integer-overflow clang diagnostic" + }, + "fullDescription": { + "text": "-Winteger-overflow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidConstexpr", + "shortDescription": { + "text": "invalid-constexpr clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-constexpr clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidGnuAsmCast", + "shortDescription": { + "text": "invalid-gnu-asm-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-gnu-asm-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidIboutlet", + "shortDescription": { + "text": "invalid-iboutlet clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-iboutlet clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidInitializerFromSystemHeader", + "shortDescription": { + "text": "invalid-initializer-from-system-header clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-initializer-from-system-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidIosDeploymentTarget", + "shortDescription": { + "text": "invalid-ios-deployment-target clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-ios-deployment-target clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidNoBuiltinNames", + "shortDescription": { + "text": "invalid-no-builtin-names clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-no-builtin-names clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidNoreturn", + "shortDescription": { + "text": "invalid-noreturn clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-noreturn clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidOffsetof", + "shortDescription": { + "text": "invalid-offsetof clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-offsetof clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidOrNonexistentDirectory", + "shortDescription": { + "text": "invalid-or-nonexistent-directory clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-or-nonexistent-directory clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidPartialSpecialization", + "shortDescription": { + "text": "invalid-partial-specialization clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-partial-specialization clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidPpToken", + "shortDescription": { + "text": "invalid-pp-token clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-pp-token clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidSourceEncoding", + "shortDescription": { + "text": "invalid-source-encoding clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-source-encoding clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidStaticAssertMessage", + "shortDescription": { + "text": "invalid-static-assert-message clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-static-assert-message clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidTokenPaste", + "shortDescription": { + "text": "invalid-token-paste clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-token-paste clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidUnevaluatedString", + "shortDescription": { + "text": "invalid-unevaluated-string clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-unevaluated-string clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidUtf8", + "shortDescription": { + "text": "invalid-utf8 clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-utf8 clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidVersionAvailability", + "shortDescription": { + "text": "invalid-version-availability clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-version-availability clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticJumpMissesInit", + "shortDescription": { + "text": "jump-misses-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wjump-misses-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticJumpSehFinally", + "shortDescription": { + "text": "jump-seh-finally clang diagnostic" + }, + "fullDescription": { + "text": "-Wjump-seh-finally clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticKeywordCompat", + "shortDescription": { + "text": "keyword-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wkeyword-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticKeywordMacro", + "shortDescription": { + "text": "keyword-macro clang diagnostic" + }, + "fullDescription": { + "text": "-Wkeyword-macro clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticKnrPromotedParameter", + "shortDescription": { + "text": "knr-promoted-parameter clang diagnostic" + }, + "fullDescription": { + "text": "-Wknr-promoted-parameter clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLanguageExtensionToken", + "shortDescription": { + "text": "language-extension-token clang diagnostic" + }, + "fullDescription": { + "text": "-Wlanguage-extension-token clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLargeByValueCopy", + "shortDescription": { + "text": "large-by-value-copy clang diagnostic" + }, + "fullDescription": { + "text": "-Wlarge-by-value-copy clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLegacyConstantRegisterBinding", + "shortDescription": { + "text": "legacy-constant-register-binding clang diagnostic" + }, + "fullDescription": { + "text": "-Wlegacy-constant-register-binding clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLinkerWarnings", + "shortDescription": { + "text": "linker-warnings clang diagnostic" + }, + "fullDescription": { + "text": "-Wlinker-warnings clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLiteralConversion", + "shortDescription": { + "text": "literal-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wliteral-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLiteralRange", + "shortDescription": { + "text": "literal-range clang diagnostic" + }, + "fullDescription": { + "text": "-Wliteral-range clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLocalTypeTemplateArgs", + "shortDescription": { + "text": "local-type-template-args clang diagnostic" + }, + "fullDescription": { + "text": "-Wlocal-type-template-args clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLogicalNotParentheses", + "shortDescription": { + "text": "logical-not-parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Wlogical-not-parentheses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLogicalOpParentheses", + "shortDescription": { + "text": "logical-op-parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Wlogical-op-parentheses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLongLong", + "shortDescription": { + "text": "long-long clang diagnostic" + }, + "fullDescription": { + "text": "-Wlong-long clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMacroRedefined", + "shortDescription": { + "text": "macro-redefined clang diagnostic" + }, + "fullDescription": { + "text": "-Wmacro-redefined clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMain", + "shortDescription": { + "text": "main clang diagnostic" + }, + "fullDescription": { + "text": "-Wmain clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMainAttachedToNamedModule", + "shortDescription": { + "text": "main-attached-to-named-module clang diagnostic" + }, + "fullDescription": { + "text": "-Wmain-attached-to-named-module clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMainReturnType", + "shortDescription": { + "text": "main-return-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wmain-return-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMalformedWarningCheck", + "shortDescription": { + "text": "malformed-warning-check clang diagnostic" + }, + "fullDescription": { + "text": "-Wmalformed-warning-check clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticManyBracesAroundScalarInit", + "shortDescription": { + "text": "many-braces-around-scalar-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wmany-braces-around-scalar-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMathErrnoEnabledWithVeclib", + "shortDescription": { + "text": "math-errno-enabled-with-veclib clang diagnostic" + }, + "fullDescription": { + "text": "-Wmath-errno-enabled-with-veclib clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMathematicalNotationIdentifierExtension", + "shortDescription": { + "text": "mathematical-notation-identifier-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wmathematical-notation-identifier-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMatrixConversion", + "shortDescription": { + "text": "matrix-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wmatrix-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMatrixConversions", + "shortDescription": { + "text": "matrix-conversions clang diagnostic" + }, + "fullDescription": { + "text": "-Wmatrix-conversions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMaxTokens", + "shortDescription": { + "text": "max-tokens clang diagnostic" + }, + "fullDescription": { + "text": "-Wmax-tokens clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMaxUnsignedZero", + "shortDescription": { + "text": "max-unsigned-zero clang diagnostic" + }, + "fullDescription": { + "text": "-Wmax-unsigned-zero clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMemsetTransposedArgs", + "shortDescription": { + "text": "memset-transposed-args clang diagnostic" + }, + "fullDescription": { + "text": "-Wmemset-transposed-args clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMemsizeComparison", + "shortDescription": { + "text": "memsize-comparison clang diagnostic" + }, + "fullDescription": { + "text": "-Wmemsize-comparison clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMethodSignatures", + "shortDescription": { + "text": "method-signatures clang diagnostic" + }, + "fullDescription": { + "text": "-Wmethod-signatures clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftAbstract", + "shortDescription": { + "text": "microsoft-abstract clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-abstract clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftAnonTag", + "shortDescription": { + "text": "microsoft-anon-tag clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-anon-tag clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftCast", + "shortDescription": { + "text": "microsoft-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftCharize", + "shortDescription": { + "text": "microsoft-charize clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-charize clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftCommentPaste", + "shortDescription": { + "text": "microsoft-comment-paste clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-comment-paste clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftConstInit", + "shortDescription": { + "text": "microsoft-const-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-const-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftCppMacro", + "shortDescription": { + "text": "microsoft-cpp-macro clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-cpp-macro clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftDefaultArgRedefinition", + "shortDescription": { + "text": "microsoft-default-arg-redefinition clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-default-arg-redefinition clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftDrectveSection", + "shortDescription": { + "text": "microsoft-drectve-section clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-drectve-section clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftEmptyEnum", + "shortDescription": { + "text": "microsoft-empty-enum clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-empty-enum clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftEndOfFile", + "shortDescription": { + "text": "microsoft-end-of-file clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-end-of-file clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftEnumForwardReference", + "shortDescription": { + "text": "microsoft-enum-forward-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-enum-forward-reference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftEnumValue", + "shortDescription": { + "text": "microsoft-enum-value clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-enum-value clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftExceptionSpec", + "shortDescription": { + "text": "microsoft-exception-spec clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-exception-spec clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftExists", + "shortDescription": { + "text": "microsoft-exists clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-exists clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftExplicitConstructorCall", + "shortDescription": { + "text": "microsoft-explicit-constructor-call clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-explicit-constructor-call clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftExtraQualification", + "shortDescription": { + "text": "microsoft-extra-qualification clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-extra-qualification clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftFixedEnum", + "shortDescription": { + "text": "microsoft-fixed-enum clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-fixed-enum clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftFlexibleArray", + "shortDescription": { + "text": "microsoft-flexible-array clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-flexible-array clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftGoto", + "shortDescription": { + "text": "microsoft-goto clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-goto clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftInaccessibleBase", + "shortDescription": { + "text": "microsoft-inaccessible-base clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-inaccessible-base clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftInclude", + "shortDescription": { + "text": "microsoft-include clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-include clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftInitFromPredefined", + "shortDescription": { + "text": "microsoft-init-from-predefined clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-init-from-predefined clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftInlineOnNonFunction", + "shortDescription": { + "text": "microsoft-inline-on-non-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-inline-on-non-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftMutableReference", + "shortDescription": { + "text": "microsoft-mutable-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-mutable-reference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftPureDefinition", + "shortDescription": { + "text": "microsoft-pure-definition clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-pure-definition clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftRedeclareStatic", + "shortDescription": { + "text": "microsoft-redeclare-static clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-redeclare-static clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftSealed", + "shortDescription": { + "text": "microsoft-sealed clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-sealed clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftStringLiteralFromPredefined", + "shortDescription": { + "text": "microsoft-string-literal-from-predefined clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-string-literal-from-predefined clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftTemplate", + "shortDescription": { + "text": "microsoft-template clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-template clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftTemplateShadow", + "shortDescription": { + "text": "microsoft-template-shadow clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-template-shadow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftUnionMemberReference", + "shortDescription": { + "text": "microsoft-union-member-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-union-member-reference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftUnqualifiedFriend", + "shortDescription": { + "text": "microsoft-unqualified-friend clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-unqualified-friend clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftUsingDecl", + "shortDescription": { + "text": "microsoft-using-decl clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-using-decl clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftVoidPseudoDtor", + "shortDescription": { + "text": "microsoft-void-pseudo-dtor clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-void-pseudo-dtor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMisexpect", + "shortDescription": { + "text": "misexpect clang diagnostic" + }, + "fullDescription": { + "text": "-Wmisexpect clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMisleadingIndentation", + "shortDescription": { + "text": "misleading-indentation clang diagnostic" + }, + "fullDescription": { + "text": "-Wmisleading-indentation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMismatchedNewDelete", + "shortDescription": { + "text": "mismatched-new-delete clang diagnostic" + }, + "fullDescription": { + "text": "-Wmismatched-new-delete clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMismatchedParameterTypes", + "shortDescription": { + "text": "mismatched-parameter-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wmismatched-parameter-types clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMismatchedReturnTypes", + "shortDescription": { + "text": "mismatched-return-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wmismatched-return-types clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMismatchedTags", + "shortDescription": { + "text": "mismatched-tags clang diagnostic" + }, + "fullDescription": { + "text": "-Wmismatched-tags clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingBraces", + "shortDescription": { + "text": "missing-braces clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-braces clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingConstinit", + "shortDescription": { + "text": "missing-constinit clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-constinit clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingDeclarations", + "shortDescription": { + "text": "missing-declarations clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-declarations clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingDesignatedFieldInitializers", + "shortDescription": { + "text": "missing-designated-field-initializers clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-designated-field-initializers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingExceptionSpec", + "shortDescription": { + "text": "missing-exception-spec clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-exception-spec clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingFieldInitializers", + "shortDescription": { + "text": "missing-field-initializers clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-field-initializers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingMethodReturnType", + "shortDescription": { + "text": "missing-method-return-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-method-return-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingMultilib", + "shortDescription": { + "text": "missing-multilib clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-multilib clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingNoescape", + "shortDescription": { + "text": "missing-noescape clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-noescape clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingNoreturn", + "shortDescription": { + "text": "missing-noreturn clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-noreturn clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingPrototypeForCc", + "shortDescription": { + "text": "missing-prototype-for-cc clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-prototype-for-cc clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingPrototypes", + "shortDescription": { + "text": "missing-prototypes clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-prototypes clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingSelectorName", + "shortDescription": { + "text": "missing-selector-name clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-selector-name clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingSysroot", + "shortDescription": { + "text": "missing-sysroot clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-sysroot clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingTemplateArgListAfterTemplateKw", + "shortDescription": { + "text": "missing-template-arg-list-after-template-kw clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-template-arg-list-after-template-kw clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingVariableDeclarations", + "shortDescription": { + "text": "missing-variable-declarations clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-variable-declarations clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMisspelledAssumption", + "shortDescription": { + "text": "misspelled-assumption clang diagnostic" + }, + "fullDescription": { + "text": "-Wmisspelled-assumption clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMixPackoffset", + "shortDescription": { + "text": "mix-packoffset clang diagnostic" + }, + "fullDescription": { + "text": "-Wmix-packoffset clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModuleConflict", + "shortDescription": { + "text": "module-conflict clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodule-conflict clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModuleFileConfigMismatch", + "shortDescription": { + "text": "module-file-config-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodule-file-config-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModuleFileExtension", + "shortDescription": { + "text": "module-file-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodule-file-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModuleFileMappingMismatch", + "shortDescription": { + "text": "module-file-mapping-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodule-file-mapping-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModuleImportInExternC", + "shortDescription": { + "text": "module-import-in-extern-c clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodule-import-in-extern-c clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModulesAmbiguousInternalLinkage", + "shortDescription": { + "text": "modules-ambiguous-internal-linkage clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodules-ambiguous-internal-linkage clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModulesImportNestedRedundant", + "shortDescription": { + "text": "modules-import-nested-redundant clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodules-import-nested-redundant clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMsBitfieldPadding", + "shortDescription": { + "text": "ms-bitfield-padding clang diagnostic" + }, + "fullDescription": { + "text": "-Wms-bitfield-padding clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMsvcNotFound", + "shortDescription": { + "text": "msvc-not-found clang diagnostic" + }, + "fullDescription": { + "text": "-Wmsvc-not-found clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMultiGpu", + "shortDescription": { + "text": "multi-gpu clang diagnostic" + }, + "fullDescription": { + "text": "-Wmulti-gpu clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMultichar", + "shortDescription": { + "text": "multichar clang diagnostic" + }, + "fullDescription": { + "text": "-Wmultichar clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMultilibNotFound", + "shortDescription": { + "text": "multilib-not-found clang diagnostic" + }, + "fullDescription": { + "text": "-Wmultilib-not-found clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMultipleMoveVbase", + "shortDescription": { + "text": "multiple-move-vbase clang diagnostic" + }, + "fullDescription": { + "text": "-Wmultiple-move-vbase clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNSObjectAttribute", + "shortDescription": { + "text": "NSObject-attribute clang diagnostic" + }, + "fullDescription": { + "text": "-WNSObject-attribute clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNanInfinityDisabled", + "shortDescription": { + "text": "nan-infinity-disabled clang diagnostic" + }, + "fullDescription": { + "text": "-Wnan-infinity-disabled clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNestedAnonTypes", + "shortDescription": { + "text": "nested-anon-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wnested-anon-types clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNewReturnsNull", + "shortDescription": { + "text": "new-returns-null clang diagnostic" + }, + "fullDescription": { + "text": "-Wnew-returns-null clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNewlineEof", + "shortDescription": { + "text": "newline-eof clang diagnostic" + }, + "fullDescription": { + "text": "-Wnewline-eof clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNoderef", + "shortDescription": { + "text": "noderef clang diagnostic" + }, + "fullDescription": { + "text": "-Wnoderef clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonCTypedefForLinkage", + "shortDescription": { + "text": "non-c-typedef-for-linkage clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-c-typedef-for-linkage clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonLiteralNullConversion", + "shortDescription": { + "text": "non-literal-null-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-literal-null-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonModularIncludeInFrameworkModule", + "shortDescription": { + "text": "non-modular-include-in-framework-module clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-modular-include-in-framework-module clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonModularIncludeInModule", + "shortDescription": { + "text": "non-modular-include-in-module clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-modular-include-in-module clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonPodVarargs", + "shortDescription": { + "text": "non-pod-varargs clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-pod-varargs clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonPowerOfTwoAlignment", + "shortDescription": { + "text": "non-power-of-two-alignment clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-power-of-two-alignment clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonVirtualDtor", + "shortDescription": { + "text": "non-virtual-dtor clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-virtual-dtor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonnull", + "shortDescription": { + "text": "nonnull clang diagnostic" + }, + "fullDescription": { + "text": "-Wnonnull clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonportableIncludePath", + "shortDescription": { + "text": "nonportable-include-path clang diagnostic" + }, + "fullDescription": { + "text": "-Wnonportable-include-path clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonportableSystemIncludePath", + "shortDescription": { + "text": "nonportable-system-include-path clang diagnostic" + }, + "fullDescription": { + "text": "-Wnonportable-system-include-path clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonportableVectorInitialization", + "shortDescription": { + "text": "nonportable-vector-initialization clang diagnostic" + }, + "fullDescription": { + "text": "-Wnonportable-vector-initialization clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNontrivialMemaccess", + "shortDescription": { + "text": "nontrivial-memaccess clang diagnostic" + }, + "fullDescription": { + "text": "-Wnontrivial-memaccess clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNontrivialMemcall", + "shortDescription": { + "text": "nontrivial-memcall clang diagnostic" + }, + "fullDescription": { + "text": "-Wnontrivial-memcall clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNrvo", + "shortDescription": { + "text": "nrvo clang diagnostic" + }, + "fullDescription": { + "text": "-Wnrvo clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNsconsumedMismatch", + "shortDescription": { + "text": "nsconsumed-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wnsconsumed-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNsreturnsMismatch", + "shortDescription": { + "text": "nsreturns-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wnsreturns-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullArithmetic", + "shortDescription": { + "text": "null-arithmetic clang diagnostic" + }, + "fullDescription": { + "text": "-Wnull-arithmetic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullCharacter", + "shortDescription": { + "text": "null-character clang diagnostic" + }, + "fullDescription": { + "text": "-Wnull-character clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullConversion", + "shortDescription": { + "text": "null-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wnull-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullDereference", + "shortDescription": { + "text": "null-dereference clang diagnostic" + }, + "fullDescription": { + "text": "-Wnull-dereference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullPointerArithmetic", + "shortDescription": { + "text": "null-pointer-arithmetic clang diagnostic" + }, + "fullDescription": { + "text": "-Wnull-pointer-arithmetic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullPointerSubtraction", + "shortDescription": { + "text": "null-pointer-subtraction clang diagnostic" + }, + "fullDescription": { + "text": "-Wnull-pointer-subtraction clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullability", + "shortDescription": { + "text": "nullability clang diagnostic" + }, + "fullDescription": { + "text": "-Wnullability clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullabilityCompleteness", + "shortDescription": { + "text": "nullability-completeness clang diagnostic" + }, + "fullDescription": { + "text": "-Wnullability-completeness clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullabilityCompletenessOnArrays", + "shortDescription": { + "text": "nullability-completeness-on-arrays clang diagnostic" + }, + "fullDescription": { + "text": "-Wnullability-completeness-on-arrays clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullabilityDeclspec", + "shortDescription": { + "text": "nullability-declspec clang diagnostic" + }, + "fullDescription": { + "text": "-Wnullability-declspec clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullabilityExtension", + "shortDescription": { + "text": "nullability-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wnullability-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullabilityInferredOnNestedType", + "shortDescription": { + "text": "nullability-inferred-on-nested-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wnullability-inferred-on-nested-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullableToNonnullConversion", + "shortDescription": { + "text": "nullable-to-nonnull-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wnullable-to-nonnull-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNvccCompat", + "shortDescription": { + "text": "nvcc-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wnvcc-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOctalPrefixExtension", + "shortDescription": { + "text": "octal-prefix-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Woctal-prefix-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOdr", + "shortDescription": { + "text": "odr clang diagnostic" + }, + "fullDescription": { + "text": "-Wodr clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOldStyleCast", + "shortDescription": { + "text": "old-style-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wold-style-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenaccCacheVarInsideLoop", + "shortDescription": { + "text": "openacc-cache-var-inside-loop clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenacc-cache-var-inside-loop clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenaccConfusingRoutineName", + "shortDescription": { + "text": "openacc-confusing-routine-name clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenacc-confusing-routine-name clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenaccDeprecatedClauseAlias", + "shortDescription": { + "text": "openacc-deprecated-clause-alias clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenacc-deprecated-clause-alias clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenaccExtension", + "shortDescription": { + "text": "openacc-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenacc-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenaccSelfIfPotentialConflict", + "shortDescription": { + "text": "openacc-self-if-potential-conflict clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenacc-self-if-potential-conflict clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenaccVarLacksOperation", + "shortDescription": { + "text": "openacc-var-lacks-operation clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenacc-var-lacks-operation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenaccVarNonConstArray", + "shortDescription": { + "text": "openacc-var-non-const-array clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenacc-var-non-const-array clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenclUnsupportedRgba", + "shortDescription": { + "text": "opencl-unsupported-rgba clang diagnostic" + }, + "fullDescription": { + "text": "-Wopencl-unsupported-rgba clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmp51Extensions", + "shortDescription": { + "text": "openmp-51-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-51-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmpClauses", + "shortDescription": { + "text": "openmp-clauses clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-clauses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmpExtensions", + "shortDescription": { + "text": "openmp-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-extensions clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmpFuture", + "shortDescription": { + "text": "openmp-future clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-future clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmpLoopForm", + "shortDescription": { + "text": "openmp-loop-form clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-loop-form clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmpMapping", + "shortDescription": { + "text": "openmp-mapping clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-mapping clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmpTarget", + "shortDescription": { + "text": "openmp-target clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-target clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmpTargetException", + "shortDescription": { + "text": "openmp-target-exception clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-target-exception clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOptionIgnored", + "shortDescription": { + "text": "option-ignored clang diagnostic" + }, + "fullDescription": { + "text": "-Woption-ignored clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOrderedCompareFunctionPointers", + "shortDescription": { + "text": "ordered-compare-function-pointers clang diagnostic" + }, + "fullDescription": { + "text": "-Wordered-compare-function-pointers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOutOfLineDeclaration", + "shortDescription": { + "text": "out-of-line-declaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wout-of-line-declaration clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOutOfScopeFunction", + "shortDescription": { + "text": "out-of-scope-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wout-of-scope-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverAligned", + "shortDescription": { + "text": "over-aligned clang diagnostic" + }, + "fullDescription": { + "text": "-Wover-aligned clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverlengthStrings", + "shortDescription": { + "text": "overlength-strings clang diagnostic" + }, + "fullDescription": { + "text": "-Woverlength-strings clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverloadedShiftOpParentheses", + "shortDescription": { + "text": "overloaded-shift-op-parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Woverloaded-shift-op-parentheses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverloadedVirtual", + "shortDescription": { + "text": "overloaded-virtual clang diagnostic" + }, + "fullDescription": { + "text": "-Woverloaded-virtual clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverrideInit", + "shortDescription": { + "text": "override-init clang diagnostic" + }, + "fullDescription": { + "text": "-Woverride-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverrideModule", + "shortDescription": { + "text": "override-module clang diagnostic" + }, + "fullDescription": { + "text": "-Woverride-module clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverridingComplexRange", + "shortDescription": { + "text": "overriding-complex-range clang diagnostic" + }, + "fullDescription": { + "text": "-Woverriding-complex-range clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverridingDeploymentVersion", + "shortDescription": { + "text": "overriding-deployment-version clang diagnostic" + }, + "fullDescription": { + "text": "-Woverriding-deployment-version clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverridingMethodMismatch", + "shortDescription": { + "text": "overriding-method-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Woverriding-method-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverridingOption", + "shortDescription": { + "text": "overriding-option clang diagnostic" + }, + "fullDescription": { + "text": "-Woverriding-option clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPacked", + "shortDescription": { + "text": "packed clang diagnostic" + }, + "fullDescription": { + "text": "-Wpacked clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPackedNonPod", + "shortDescription": { + "text": "packed-non-pod clang diagnostic" + }, + "fullDescription": { + "text": "-Wpacked-non-pod clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPadded", + "shortDescription": { + "text": "padded clang diagnostic" + }, + "fullDescription": { + "text": "-Wpadded clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPaddedBitfield", + "shortDescription": { + "text": "padded-bitfield clang diagnostic" + }, + "fullDescription": { + "text": "-Wpadded-bitfield clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticParentheses", + "shortDescription": { + "text": "parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Wparentheses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticParenthesesEquality", + "shortDescription": { + "text": "parentheses-equality clang diagnostic" + }, + "fullDescription": { + "text": "-Wparentheses-equality clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPassFailed", + "shortDescription": { + "text": "pass-failed clang diagnostic" + }, + "fullDescription": { + "text": "-Wpass-failed clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPchDateTime", + "shortDescription": { + "text": "pch-date-time clang diagnostic" + }, + "fullDescription": { + "text": "-Wpch-date-time clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPedantic", + "shortDescription": { + "text": "pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPedanticCoreFeatures", + "shortDescription": { + "text": "pedantic-core-features clang diagnostic" + }, + "fullDescription": { + "text": "-Wpedantic-core-features clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPedanticMacros", + "shortDescription": { + "text": "pedantic-macros clang diagnostic" + }, + "fullDescription": { + "text": "-Wpedantic-macros clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPerfConstraintImpliesNoexcept", + "shortDescription": { + "text": "perf-constraint-implies-noexcept clang diagnostic" + }, + "fullDescription": { + "text": "-Wperf-constraint-implies-noexcept clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPessimizingMove", + "shortDescription": { + "text": "pessimizing-move clang diagnostic" + }, + "fullDescription": { + "text": "-Wpessimizing-move clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerArith", + "shortDescription": { + "text": "pointer-arith clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-arith clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerBoolConversion", + "shortDescription": { + "text": "pointer-bool-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-bool-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerCompare", + "shortDescription": { + "text": "pointer-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerIntegerCompare", + "shortDescription": { + "text": "pointer-integer-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-integer-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerSign", + "shortDescription": { + "text": "pointer-sign clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-sign clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerToEnumCast", + "shortDescription": { + "text": "pointer-to-enum-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-to-enum-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerToIntCast", + "shortDescription": { + "text": "pointer-to-int-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-to-int-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerTypeMismatch", + "shortDescription": { + "text": "pointer-type-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-type-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPoisonSystemDirectories", + "shortDescription": { + "text": "poison-system-directories clang diagnostic" + }, + "fullDescription": { + "text": "-Wpoison-system-directories clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPotentiallyEvaluatedExpression", + "shortDescription": { + "text": "potentially-evaluated-expression clang diagnostic" + }, + "fullDescription": { + "text": "-Wpotentially-evaluated-expression clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaClangAttribute", + "shortDescription": { + "text": "pragma-clang-attribute clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragma-clang-attribute clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaMessages", + "shortDescription": { + "text": "#pragma-messages clang diagnostic" + }, + "fullDescription": { + "text": "-W#pragma-messages clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaOnceOutsideHeader", + "shortDescription": { + "text": "pragma-once-outside-header clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragma-once-outside-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaPack", + "shortDescription": { + "text": "pragma-pack clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragma-pack clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaPackSuspiciousInclude", + "shortDescription": { + "text": "pragma-pack-suspicious-include clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragma-pack-suspicious-include clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaSystemHeaderOutsideHeader", + "shortDescription": { + "text": "pragma-system-header-outside-header clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragma-system-header-outside-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmas", + "shortDescription": { + "text": "pragmas clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragmas clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreC11Compat", + "shortDescription": { + "text": "pre-c11-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c11-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreC11CompatPedantic", + "shortDescription": { + "text": "pre-c11-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c11-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreC23Compat", + "shortDescription": { + "text": "pre-c23-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c23-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreC23CompatPedantic", + "shortDescription": { + "text": "pre-c23-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c23-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreC2xCompat", + "shortDescription": { + "text": "pre-c2x-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c2x-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreC2xCompatPedantic", + "shortDescription": { + "text": "pre-c2x-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c2x-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreC2yCompat", + "shortDescription": { + "text": "pre-c2y-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c2y-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreC2yCompatPedantic", + "shortDescription": { + "text": "pre-c2y-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c2y-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp14Compat", + "shortDescription": { + "text": "pre-c++14-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++14-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp14CompatPedantic", + "shortDescription": { + "text": "pre-c++14-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++14-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp17Compat", + "shortDescription": { + "text": "pre-c++17-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++17-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp17CompatPedantic", + "shortDescription": { + "text": "pre-c++17-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++17-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp20Compat", + "shortDescription": { + "text": "pre-c++20-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++20-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp20CompatPedantic", + "shortDescription": { + "text": "pre-c++20-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++20-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp23Compat", + "shortDescription": { + "text": "pre-c++23-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++23-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp23CompatPedantic", + "shortDescription": { + "text": "pre-c++23-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++23-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp26Compat", + "shortDescription": { + "text": "pre-c++26-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++26-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp26CompatPedantic", + "shortDescription": { + "text": "pre-c++26-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++26-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp2cCompat", + "shortDescription": { + "text": "pre-c++2c-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++2c-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp2cCompatPedantic", + "shortDescription": { + "text": "pre-c++2c-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++2c-compat-pedantic clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreOpenmp51Compat", + "shortDescription": { + "text": "pre-openmp-51-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-openmp-51-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPredefinedIdentifierOutsideFunction", + "shortDescription": { + "text": "predefined-identifier-outside-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wpredefined-identifier-outside-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreferredTypeBitfieldEnumConversion", + "shortDescription": { + "text": "preferred-type-bitfield-enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wpreferred-type-bitfield-enum-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPrivateExtern", + "shortDescription": { + "text": "private-extern clang diagnostic" + }, + "fullDescription": { + "text": "-Wprivate-extern clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPrivateHeader", + "shortDescription": { + "text": "private-header clang diagnostic" + }, + "fullDescription": { + "text": "-Wprivate-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPrivateModule", + "shortDescription": { + "text": "private-module clang diagnostic" + }, + "fullDescription": { + "text": "-Wprivate-module clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticProfileInstrMissing", + "shortDescription": { + "text": "profile-instr-missing clang diagnostic" + }, + "fullDescription": { + "text": "-Wprofile-instr-missing clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticProfileInstrOutOfDate", + "shortDescription": { + "text": "profile-instr-out-of-date clang diagnostic" + }, + "fullDescription": { + "text": "-Wprofile-instr-out-of-date clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticProfileInstrUnprofiled", + "shortDescription": { + "text": "profile-instr-unprofiled clang diagnostic" + }, + "fullDescription": { + "text": "-Wprofile-instr-unprofiled clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPropertyAccessDotSyntax", + "shortDescription": { + "text": "property-access-dot-syntax clang diagnostic" + }, + "fullDescription": { + "text": "-Wproperty-access-dot-syntax clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPropertyAttributeMismatch", + "shortDescription": { + "text": "property-attribute-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wproperty-attribute-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticProtocol", + "shortDescription": { + "text": "protocol clang diagnostic" + }, + "fullDescription": { + "text": "-Wprotocol clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticProtocolPropertySynthesisAmbiguity", + "shortDescription": { + "text": "protocol-property-synthesis-ambiguity clang diagnostic" + }, + "fullDescription": { + "text": "-Wprotocol-property-synthesis-ambiguity clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPsabi", + "shortDescription": { + "text": "psabi clang diagnostic" + }, + "fullDescription": { + "text": "-Wpsabi clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPtrauthNullPointers", + "shortDescription": { + "text": "ptrauth-null-pointers clang diagnostic" + }, + "fullDescription": { + "text": "-Wptrauth-null-pointers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticQualifiedVoidReturnType", + "shortDescription": { + "text": "qualified-void-return-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wqualified-void-return-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticQuotedIncludeInFrameworkHeader", + "shortDescription": { + "text": "quoted-include-in-framework-header clang diagnostic" + }, + "fullDescription": { + "text": "-Wquoted-include-in-framework-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRangeLoopAnalysis", + "shortDescription": { + "text": "range-loop-analysis clang diagnostic" + }, + "fullDescription": { + "text": "-Wrange-loop-analysis clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRangeLoopBindReference", + "shortDescription": { + "text": "range-loop-bind-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wrange-loop-bind-reference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRangeLoopConstruct", + "shortDescription": { + "text": "range-loop-construct clang diagnostic" + }, + "fullDescription": { + "text": "-Wrange-loop-construct clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReadOnlyTypes", + "shortDescription": { + "text": "read-only-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wread-only-types clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReadonlyIboutletProperty", + "shortDescription": { + "text": "readonly-iboutlet-property clang diagnostic" + }, + "fullDescription": { + "text": "-Wreadonly-iboutlet-property clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReceiverExpr", + "shortDescription": { + "text": "receiver-expr clang diagnostic" + }, + "fullDescription": { + "text": "-Wreceiver-expr clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReceiverForwardClass", + "shortDescription": { + "text": "receiver-forward-class clang diagnostic" + }, + "fullDescription": { + "text": "-Wreceiver-forward-class clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRedeclaredClassMember", + "shortDescription": { + "text": "redeclared-class-member clang diagnostic" + }, + "fullDescription": { + "text": "-Wredeclared-class-member clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRedundantAttribute", + "shortDescription": { + "text": "redundant-attribute clang diagnostic" + }, + "fullDescription": { + "text": "-Wredundant-attribute clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRedundantConstevalIf", + "shortDescription": { + "text": "redundant-consteval-if clang diagnostic" + }, + "fullDescription": { + "text": "-Wredundant-consteval-if clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRedundantMove", + "shortDescription": { + "text": "redundant-move clang diagnostic" + }, + "fullDescription": { + "text": "-Wredundant-move clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRedundantParens", + "shortDescription": { + "text": "redundant-parens clang diagnostic" + }, + "fullDescription": { + "text": "-Wredundant-parens clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReferenceTuLocalEntityInOtherTu", + "shortDescription": { + "text": "reference-tu-local-entity-in-other-tu clang diagnostic" + }, + "fullDescription": { + "text": "-Wreference-tu-local-entity-in-other-tu clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRegister", + "shortDescription": { + "text": "register clang diagnostic" + }, + "fullDescription": { + "text": "-Wregister clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReinterpretBaseClass", + "shortDescription": { + "text": "reinterpret-base-class clang diagnostic" + }, + "fullDescription": { + "text": "-Wreinterpret-base-class clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReorder", + "shortDescription": { + "text": "reorder clang diagnostic" + }, + "fullDescription": { + "text": "-Wreorder clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReorderCtor", + "shortDescription": { + "text": "reorder-ctor clang diagnostic" + }, + "fullDescription": { + "text": "-Wreorder-ctor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReorderInitList", + "shortDescription": { + "text": "reorder-init-list clang diagnostic" + }, + "fullDescription": { + "text": "-Wreorder-init-list clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRequiresSuperAttribute", + "shortDescription": { + "text": "requires-super-attribute clang diagnostic" + }, + "fullDescription": { + "text": "-Wrequires-super-attribute clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReservedAttributeIdentifier", + "shortDescription": { + "text": "reserved-attribute-identifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wreserved-attribute-identifier clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReservedIdMacro", + "shortDescription": { + "text": "reserved-id-macro clang diagnostic" + }, + "fullDescription": { + "text": "-Wreserved-id-macro clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReservedIdentifier", + "shortDescription": { + "text": "reserved-identifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wreserved-identifier clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReservedMacroIdentifier", + "shortDescription": { + "text": "reserved-macro-identifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wreserved-macro-identifier clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReservedModuleIdentifier", + "shortDescription": { + "text": "reserved-module-identifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wreserved-module-identifier clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReservedUserDefinedLiteral", + "shortDescription": { + "text": "reserved-user-defined-literal clang diagnostic" + }, + "fullDescription": { + "text": "-Wreserved-user-defined-literal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRestrictExpansion", + "shortDescription": { + "text": "restrict-expansion clang diagnostic" + }, + "fullDescription": { + "text": "-Wrestrict-expansion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRetainedLanguageLinkage", + "shortDescription": { + "text": "retained-language-linkage clang diagnostic" + }, + "fullDescription": { + "text": "-Wretained-language-linkage clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReturnLocalAddr", + "shortDescription": { + "text": "return-local-addr clang diagnostic" + }, + "fullDescription": { + "text": "-Wreturn-local-addr clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReturnMismatch", + "shortDescription": { + "text": "return-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wreturn-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReturnStackAddress", + "shortDescription": { + "text": "return-stack-address clang diagnostic" + }, + "fullDescription": { + "text": "-Wreturn-stack-address clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReturnStdMove", + "shortDescription": { + "text": "return-std-move clang diagnostic" + }, + "fullDescription": { + "text": "-Wreturn-std-move clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReturnType", + "shortDescription": { + "text": "return-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wreturn-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReturnTypeCLinkage", + "shortDescription": { + "text": "return-type-c-linkage clang diagnostic" + }, + "fullDescription": { + "text": "-Wreturn-type-c-linkage clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRewriteNotBool", + "shortDescription": { + "text": "rewrite-not-bool clang diagnostic" + }, + "fullDescription": { + "text": "-Wrewrite-not-bool clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSarifFormatUnstable", + "shortDescription": { + "text": "sarif-format-unstable clang diagnostic" + }, + "fullDescription": { + "text": "-Wsarif-format-unstable clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSection", + "shortDescription": { + "text": "section clang diagnostic" + }, + "fullDescription": { + "text": "-Wsection clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSelector", + "shortDescription": { + "text": "selector clang diagnostic" + }, + "fullDescription": { + "text": "-Wselector clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSelectorTypeMismatch", + "shortDescription": { + "text": "selector-type-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wselector-type-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSelfAssign", + "shortDescription": { + "text": "self-assign clang diagnostic" + }, + "fullDescription": { + "text": "-Wself-assign clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSelfAssignField", + "shortDescription": { + "text": "self-assign-field clang diagnostic" + }, + "fullDescription": { + "text": "-Wself-assign-field clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSelfAssignOverloaded", + "shortDescription": { + "text": "self-assign-overloaded clang diagnostic" + }, + "fullDescription": { + "text": "-Wself-assign-overloaded clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSelfMove", + "shortDescription": { + "text": "self-move clang diagnostic" + }, + "fullDescription": { + "text": "-Wself-move clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSemicolonBeforeMethodBody", + "shortDescription": { + "text": "semicolon-before-method-body clang diagnostic" + }, + "fullDescription": { + "text": "-Wsemicolon-before-method-body clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSentinel", + "shortDescription": { + "text": "sentinel clang diagnostic" + }, + "fullDescription": { + "text": "-Wsentinel clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSerializedDiagnostics", + "shortDescription": { + "text": "serialized-diagnostics clang diagnostic" + }, + "fullDescription": { + "text": "-Wserialized-diagnostics clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadow", + "shortDescription": { + "text": "shadow clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowField", + "shortDescription": { + "text": "shadow-field clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-field clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowFieldInConstructor", + "shortDescription": { + "text": "shadow-field-in-constructor clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-field-in-constructor clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowFieldInConstructorModified", + "shortDescription": { + "text": "shadow-field-in-constructor-modified clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-field-in-constructor-modified clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowHeader", + "shortDescription": { + "text": "shadow-header clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-header clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowIvar", + "shortDescription": { + "text": "shadow-ivar clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-ivar clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowUncapturedLocal", + "shortDescription": { + "text": "shadow-uncaptured-local clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-uncaptured-local clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShiftBool", + "shortDescription": { + "text": "shift-bool clang diagnostic" + }, + "fullDescription": { + "text": "-Wshift-bool clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShiftCountNegative", + "shortDescription": { + "text": "shift-count-negative clang diagnostic" + }, + "fullDescription": { + "text": "-Wshift-count-negative clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShiftCountOverflow", + "shortDescription": { + "text": "shift-count-overflow clang diagnostic" + }, + "fullDescription": { + "text": "-Wshift-count-overflow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShiftNegativeValue", + "shortDescription": { + "text": "shift-negative-value clang diagnostic" + }, + "fullDescription": { + "text": "-Wshift-negative-value clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShiftOpParentheses", + "shortDescription": { + "text": "shift-op-parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Wshift-op-parentheses clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShiftOverflow", + "shortDescription": { + "text": "shift-overflow clang diagnostic" + }, + "fullDescription": { + "text": "-Wshift-overflow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShiftSignOverflow", + "shortDescription": { + "text": "shift-sign-overflow clang diagnostic" + }, + "fullDescription": { + "text": "-Wshift-sign-overflow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShorten64To32", + "shortDescription": { + "text": "shorten-64-to-32 clang diagnostic" + }, + "fullDescription": { + "text": "-Wshorten-64-to-32 clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSignCompare", + "shortDescription": { + "text": "sign-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wsign-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSignConversion", + "shortDescription": { + "text": "sign-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wsign-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSignedEnumBitfield", + "shortDescription": { + "text": "signed-enum-bitfield clang diagnostic" + }, + "fullDescription": { + "text": "-Wsigned-enum-bitfield clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSignedUnsignedWchar", + "shortDescription": { + "text": "signed-unsigned-wchar clang diagnostic" + }, + "fullDescription": { + "text": "-Wsigned-unsigned-wchar clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSimdlen", + "shortDescription": { + "text": "simdlen clang diagnostic" + }, + "fullDescription": { + "text": "-Wsimdlen clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSingleBitBitfieldConstantConversion", + "shortDescription": { + "text": "single-bit-bitfield-constant-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wsingle-bit-bitfield-constant-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSizeofArrayArgument", + "shortDescription": { + "text": "sizeof-array-argument clang diagnostic" + }, + "fullDescription": { + "text": "-Wsizeof-array-argument clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSizeofArrayDecay", + "shortDescription": { + "text": "sizeof-array-decay clang diagnostic" + }, + "fullDescription": { + "text": "-Wsizeof-array-decay clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSizeofArrayDiv", + "shortDescription": { + "text": "sizeof-array-div clang diagnostic" + }, + "fullDescription": { + "text": "-Wsizeof-array-div clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSizeofPointerDiv", + "shortDescription": { + "text": "sizeof-pointer-div clang diagnostic" + }, + "fullDescription": { + "text": "-Wsizeof-pointer-div clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSizeofPointerMemaccess", + "shortDescription": { + "text": "sizeof-pointer-memaccess clang diagnostic" + }, + "fullDescription": { + "text": "-Wsizeof-pointer-memaccess clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSlashUFilename", + "shortDescription": { + "text": "slash-u-filename clang diagnostic" + }, + "fullDescription": { + "text": "-Wslash-u-filename clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSlhAsmGoto", + "shortDescription": { + "text": "slh-asm-goto clang diagnostic" + }, + "fullDescription": { + "text": "-Wslh-asm-goto clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSometimesUninitialized", + "shortDescription": { + "text": "sometimes-uninitialized clang diagnostic" + }, + "fullDescription": { + "text": "-Wsometimes-uninitialized clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSourceUsesOpenacc", + "shortDescription": { + "text": "source-uses-openacc clang diagnostic" + }, + "fullDescription": { + "text": "-Wsource-uses-openacc clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSourceUsesOpenmp", + "shortDescription": { + "text": "source-uses-openmp clang diagnostic" + }, + "fullDescription": { + "text": "-Wsource-uses-openmp clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSpirCompat", + "shortDescription": { + "text": "spir-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wspir-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSpirvCompat", + "shortDescription": { + "text": "spirv-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wspirv-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStaticFloatInit", + "shortDescription": { + "text": "static-float-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wstatic-float-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStaticInInline", + "shortDescription": { + "text": "static-in-inline clang diagnostic" + }, + "fullDescription": { + "text": "-Wstatic-in-inline clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStaticInlineExplicitInstantiation", + "shortDescription": { + "text": "static-inline-explicit-instantiation clang diagnostic" + }, + "fullDescription": { + "text": "-Wstatic-inline-explicit-instantiation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStaticLocalInInline", + "shortDescription": { + "text": "static-local-in-inline clang diagnostic" + }, + "fullDescription": { + "text": "-Wstatic-local-in-inline clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStaticSelfInit", + "shortDescription": { + "text": "static-self-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wstatic-self-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStdlibcxxNotFound", + "shortDescription": { + "text": "stdlibcxx-not-found clang diagnostic" + }, + "fullDescription": { + "text": "-Wstdlibcxx-not-found clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStrictPrimaryTemplateShadow", + "shortDescription": { + "text": "strict-primary-template-shadow clang diagnostic" + }, + "fullDescription": { + "text": "-Wstrict-primary-template-shadow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStrictPrototypes", + "shortDescription": { + "text": "strict-prototypes clang diagnostic" + }, + "fullDescription": { + "text": "-Wstrict-prototypes clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStrictSelectorMatch", + "shortDescription": { + "text": "strict-selector-match clang diagnostic" + }, + "fullDescription": { + "text": "-Wstrict-selector-match clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStringCompare", + "shortDescription": { + "text": "string-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wstring-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStringConcatenation", + "shortDescription": { + "text": "string-concatenation clang diagnostic" + }, + "fullDescription": { + "text": "-Wstring-concatenation clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStringConversion", + "shortDescription": { + "text": "string-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wstring-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStringPlusChar", + "shortDescription": { + "text": "string-plus-char clang diagnostic" + }, + "fullDescription": { + "text": "-Wstring-plus-char clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStringPlusInt", + "shortDescription": { + "text": "string-plus-int clang diagnostic" + }, + "fullDescription": { + "text": "-Wstring-plus-int clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStrlcpyStrlcatSize", + "shortDescription": { + "text": "strlcpy-strlcat-size clang diagnostic" + }, + "fullDescription": { + "text": "-Wstrlcpy-strlcat-size clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStrncatSize", + "shortDescription": { + "text": "strncat-size clang diagnostic" + }, + "fullDescription": { + "text": "-Wstrncat-size clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSuggestDestructorOverride", + "shortDescription": { + "text": "suggest-destructor-override clang diagnostic" + }, + "fullDescription": { + "text": "-Wsuggest-destructor-override clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSuggestOverride", + "shortDescription": { + "text": "suggest-override clang diagnostic" + }, + "fullDescription": { + "text": "-Wsuggest-override clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSuperClassMethodMismatch", + "shortDescription": { + "text": "super-class-method-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wsuper-class-method-mismatch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSuspiciousBzero", + "shortDescription": { + "text": "suspicious-bzero clang diagnostic" + }, + "fullDescription": { + "text": "-Wsuspicious-bzero clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSwitch", + "shortDescription": { + "text": "switch clang diagnostic" + }, + "fullDescription": { + "text": "-Wswitch clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSwitchBool", + "shortDescription": { + "text": "switch-bool clang diagnostic" + }, + "fullDescription": { + "text": "-Wswitch-bool clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSwitchDefault", + "shortDescription": { + "text": "switch-default clang diagnostic" + }, + "fullDescription": { + "text": "-Wswitch-default clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSwitchEnum", + "shortDescription": { + "text": "switch-enum clang diagnostic" + }, + "fullDescription": { + "text": "-Wswitch-enum clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSyncAlignment", + "shortDescription": { + "text": "sync-alignment clang diagnostic" + }, + "fullDescription": { + "text": "-Wsync-alignment clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSyncFetchAndNandSemanticsChanged", + "shortDescription": { + "text": "sync-fetch-and-nand-semantics-changed clang diagnostic" + }, + "fullDescription": { + "text": "-Wsync-fetch-and-nand-semantics-changed clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTULocalEntityExposure", + "shortDescription": { + "text": "TU-local-entity-exposure clang diagnostic" + }, + "fullDescription": { + "text": "-WTU-local-entity-exposure clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTargetClonesMixedSpecifiers", + "shortDescription": { + "text": "target-clones-mixed-specifiers clang diagnostic" + }, + "fullDescription": { + "text": "-Wtarget-clones-mixed-specifiers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalBitwiseCompare", + "shortDescription": { + "text": "tautological-bitwise-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-bitwise-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalCompare", + "shortDescription": { + "text": "tautological-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalConstantCompare", + "shortDescription": { + "text": "tautological-constant-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-constant-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalConstantInRangeCompare", + "shortDescription": { + "text": "tautological-constant-in-range-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-constant-in-range-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalConstantOutOfRangeCompare", + "shortDescription": { + "text": "tautological-constant-out-of-range-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-constant-out-of-range-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalNegationCompare", + "shortDescription": { + "text": "tautological-negation-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-negation-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalObjcBoolCompare", + "shortDescription": { + "text": "tautological-objc-bool-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-objc-bool-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalOverlapCompare", + "shortDescription": { + "text": "tautological-overlap-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-overlap-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalPointerCompare", + "shortDescription": { + "text": "tautological-pointer-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-pointer-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalTypeLimitCompare", + "shortDescription": { + "text": "tautological-type-limit-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-type-limit-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalUndefinedCompare", + "shortDescription": { + "text": "tautological-undefined-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-undefined-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalUnsignedCharZeroCompare", + "shortDescription": { + "text": "tautological-unsigned-char-zero-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-unsigned-char-zero-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalUnsignedEnumZeroCompare", + "shortDescription": { + "text": "tautological-unsigned-enum-zero-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-unsigned-enum-zero-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalUnsignedZeroCompare", + "shortDescription": { + "text": "tautological-unsigned-zero-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-unsigned-zero-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalValueRangeCompare", + "shortDescription": { + "text": "tautological-value-range-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-value-range-compare clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTemplateInDeclarationName", + "shortDescription": { + "text": "template-in-declaration-name clang diagnostic" + }, + "fullDescription": { + "text": "-Wtemplate-in-declaration-name clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTentativeDefinitionArray", + "shortDescription": { + "text": "tentative-definition-array clang diagnostic" + }, + "fullDescription": { + "text": "-Wtentative-definition-array clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTentativeDefinitionCompat", + "shortDescription": { + "text": "tentative-definition-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wtentative-definition-compat clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTentativeDefinitionIncompleteType", + "shortDescription": { + "text": "tentative-definition-incomplete-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wtentative-definition-incomplete-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyAnalysis", + "shortDescription": { + "text": "thread-safety-analysis clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-analysis clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyAttributes", + "shortDescription": { + "text": "thread-safety-attributes clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-attributes clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyBeta", + "shortDescription": { + "text": "thread-safety-beta clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-beta clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyNegative", + "shortDescription": { + "text": "thread-safety-negative clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-negative clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyPointer", + "shortDescription": { + "text": "thread-safety-pointer clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-pointer clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyPrecise", + "shortDescription": { + "text": "thread-safety-precise clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-precise clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyReference", + "shortDescription": { + "text": "thread-safety-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-reference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyReferenceReturn", + "shortDescription": { + "text": "thread-safety-reference-return clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-reference-return clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyVerbose", + "shortDescription": { + "text": "thread-safety-verbose clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-verbose clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTrigraphs", + "shortDescription": { + "text": "trigraphs clang diagnostic" + }, + "fullDescription": { + "text": "-Wtrigraphs clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTypeSafety", + "shortDescription": { + "text": "type-safety clang diagnostic" + }, + "fullDescription": { + "text": "-Wtype-safety clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTypedefRedefinition", + "shortDescription": { + "text": "typedef-redefinition clang diagnostic" + }, + "fullDescription": { + "text": "-Wtypedef-redefinition clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTypenameMissing", + "shortDescription": { + "text": "typename-missing clang diagnostic" + }, + "fullDescription": { + "text": "-Wtypename-missing clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnableToOpenStatsFile", + "shortDescription": { + "text": "unable-to-open-stats-file clang diagnostic" + }, + "fullDescription": { + "text": "-Wunable-to-open-stats-file clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnalignedAccess", + "shortDescription": { + "text": "unaligned-access clang diagnostic" + }, + "fullDescription": { + "text": "-Wunaligned-access clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnalignedQualifierImplicitCast", + "shortDescription": { + "text": "unaligned-qualifier-implicit-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wunaligned-qualifier-implicit-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnavailableDeclarations", + "shortDescription": { + "text": "unavailable-declarations clang diagnostic" + }, + "fullDescription": { + "text": "-Wunavailable-declarations clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndeclaredSelector", + "shortDescription": { + "text": "undeclared-selector clang diagnostic" + }, + "fullDescription": { + "text": "-Wundeclared-selector clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndef", + "shortDescription": { + "text": "undef clang diagnostic" + }, + "fullDescription": { + "text": "-Wundef clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefPrefix", + "shortDescription": { + "text": "undef-prefix clang diagnostic" + }, + "fullDescription": { + "text": "-Wundef-prefix clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefTrue", + "shortDescription": { + "text": "undef-true clang diagnostic" + }, + "fullDescription": { + "text": "-Wundef-true clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedArmZa", + "shortDescription": { + "text": "undefined-arm-za clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-arm-za clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedArmZt0", + "shortDescription": { + "text": "undefined-arm-zt0 clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-arm-zt0 clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedBoolConversion", + "shortDescription": { + "text": "undefined-bool-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-bool-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedFuncTemplate", + "shortDescription": { + "text": "undefined-func-template clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-func-template clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedInline", + "shortDescription": { + "text": "undefined-inline clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-inline clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedInternal", + "shortDescription": { + "text": "undefined-internal clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-internal clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedInternalType", + "shortDescription": { + "text": "undefined-internal-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-internal-type clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedReinterpretCast", + "shortDescription": { + "text": "undefined-reinterpret-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-reinterpret-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefinedVarTemplate", + "shortDescription": { + "text": "undefined-var-template clang diagnostic" + }, + "fullDescription": { + "text": "-Wundefined-var-template clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnderalignedExceptionObject", + "shortDescription": { + "text": "underaligned-exception-object clang diagnostic" + }, + "fullDescription": { + "text": "-Wunderaligned-exception-object clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnderlyingAtomicQualifierIgnored", + "shortDescription": { + "text": "underlying-atomic-qualifier-ignored clang diagnostic" + }, + "fullDescription": { + "text": "-Wunderlying-atomic-qualifier-ignored clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnderlyingCvQualifierIgnored", + "shortDescription": { + "text": "underlying-cv-qualifier-ignored clang diagnostic" + }, + "fullDescription": { + "text": "-Wunderlying-cv-qualifier-ignored clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnevaluatedExpression", + "shortDescription": { + "text": "unevaluated-expression clang diagnostic" + }, + "fullDescription": { + "text": "-Wunevaluated-expression clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnguardedAvailability", + "shortDescription": { + "text": "unguarded-availability clang diagnostic" + }, + "fullDescription": { + "text": "-Wunguarded-availability clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnguardedAvailabilityNew", + "shortDescription": { + "text": "unguarded-availability-new clang diagnostic" + }, + "fullDescription": { + "text": "-Wunguarded-availability-new clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnicode", + "shortDescription": { + "text": "unicode clang diagnostic" + }, + "fullDescription": { + "text": "-Wunicode clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnicodeHomoglyph", + "shortDescription": { + "text": "unicode-homoglyph clang diagnostic" + }, + "fullDescription": { + "text": "-Wunicode-homoglyph clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnicodeWhitespace", + "shortDescription": { + "text": "unicode-whitespace clang diagnostic" + }, + "fullDescription": { + "text": "-Wunicode-whitespace clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnicodeZeroWidth", + "shortDescription": { + "text": "unicode-zero-width clang diagnostic" + }, + "fullDescription": { + "text": "-Wunicode-zero-width clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUninitialized", + "shortDescription": { + "text": "uninitialized clang diagnostic" + }, + "fullDescription": { + "text": "-Wuninitialized clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUninitializedConstPointer", + "shortDescription": { + "text": "uninitialized-const-pointer clang diagnostic" + }, + "fullDescription": { + "text": "-Wuninitialized-const-pointer clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUninitializedConstReference", + "shortDescription": { + "text": "uninitialized-const-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wuninitialized-const-reference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUninitializedExplicitInit", + "shortDescription": { + "text": "uninitialized-explicit-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wuninitialized-explicit-init clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUniqueObjectDuplication", + "shortDescription": { + "text": "unique-object-duplication clang diagnostic" + }, + "fullDescription": { + "text": "-Wunique-object-duplication clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownAccExtensionClause", + "shortDescription": { + "text": "unknown-acc-extension-clause clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-acc-extension-clause clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownArgument", + "shortDescription": { + "text": "unknown-argument clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-argument clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownAttributes", + "shortDescription": { + "text": "unknown-attributes clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-attributes clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownCudaVersion", + "shortDescription": { + "text": "unknown-cuda-version clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-cuda-version clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownDirectives", + "shortDescription": { + "text": "unknown-directives clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-directives clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownEscapeSequence", + "shortDescription": { + "text": "unknown-escape-sequence clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-escape-sequence clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownPragmas", + "shortDescription": { + "text": "unknown-pragmas clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-pragmas clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownSanitizers", + "shortDescription": { + "text": "unknown-sanitizers clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-sanitizers clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownWarningOption", + "shortDescription": { + "text": "unknown-warning-option clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-warning-option clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnnamedTypeTemplateArgs", + "shortDescription": { + "text": "unnamed-type-template-args clang diagnostic" + }, + "fullDescription": { + "text": "-Wunnamed-type-template-args clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnnecessaryVirtualSpecifier", + "shortDescription": { + "text": "unnecessary-virtual-specifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wunnecessary-virtual-specifier clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnneededInternalDeclaration", + "shortDescription": { + "text": "unneeded-internal-declaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wunneeded-internal-declaration clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnneededMemberFunction", + "shortDescription": { + "text": "unneeded-member-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wunneeded-member-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnqualifiedStdCastCall", + "shortDescription": { + "text": "unqualified-std-cast-call clang diagnostic" + }, + "fullDescription": { + "text": "-Wunqualified-std-cast-call clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnreachableCode", + "shortDescription": { + "text": "unreachable-code clang diagnostic" + }, + "fullDescription": { + "text": "-Wunreachable-code clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnreachableCodeBreak", + "shortDescription": { + "text": "unreachable-code-break clang diagnostic" + }, + "fullDescription": { + "text": "-Wunreachable-code-break clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnreachableCodeFallthrough", + "shortDescription": { + "text": "unreachable-code-fallthrough clang diagnostic" + }, + "fullDescription": { + "text": "-Wunreachable-code-fallthrough clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnreachableCodeGenericAssoc", + "shortDescription": { + "text": "unreachable-code-generic-assoc clang diagnostic" + }, + "fullDescription": { + "text": "-Wunreachable-code-generic-assoc clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnreachableCodeLoopIncrement", + "shortDescription": { + "text": "unreachable-code-loop-increment clang diagnostic" + }, + "fullDescription": { + "text": "-Wunreachable-code-loop-increment clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnreachableCodeReturn", + "shortDescription": { + "text": "unreachable-code-return clang diagnostic" + }, + "fullDescription": { + "text": "-Wunreachable-code-return clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsafeBufferUsage", + "shortDescription": { + "text": "unsafe-buffer-usage clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsafe-buffer-usage clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsafeBufferUsageInContainer", + "shortDescription": { + "text": "unsafe-buffer-usage-in-container clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsafe-buffer-usage-in-container clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsafeBufferUsageInFormatAttrCall", + "shortDescription": { + "text": "unsafe-buffer-usage-in-format-attr-call clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsafe-buffer-usage-in-format-attr-call clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsafeBufferUsageInLibcCall", + "shortDescription": { + "text": "unsafe-buffer-usage-in-libc-call clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsafe-buffer-usage-in-libc-call clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsafeBufferUsageInUniquePtrArrayAccess", + "shortDescription": { + "text": "unsafe-buffer-usage-in-unique-ptr-array-access clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsafe-buffer-usage-in-unique-ptr-array-access clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsequenced", + "shortDescription": { + "text": "unsequenced clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsequenced clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedAbi", + "shortDescription": { + "text": "unsupported-abi clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-abi clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedAbs", + "shortDescription": { + "text": "unsupported-abs clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-abs clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedAvailabilityGuard", + "shortDescription": { + "text": "unsupported-availability-guard clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-availability-guard clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedCb", + "shortDescription": { + "text": "unsupported-cb clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-cb clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedDllBaseClassTemplate", + "shortDescription": { + "text": "unsupported-dll-base-class-template clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-dll-base-class-template clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedFriend", + "shortDescription": { + "text": "unsupported-friend clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-friend clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedGpopt", + "shortDescription": { + "text": "unsupported-gpopt clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-gpopt clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedNan", + "shortDescription": { + "text": "unsupported-nan clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-nan clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedTargetOpt", + "shortDescription": { + "text": "unsupported-target-opt clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-target-opt clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedVisibility", + "shortDescription": { + "text": "unsupported-visibility clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-visibility clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnterminatedStringInitialization", + "shortDescription": { + "text": "unterminated-string-initialization clang diagnostic" + }, + "fullDescription": { + "text": "-Wunterminated-string-initialization clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusablePartialSpecialization", + "shortDescription": { + "text": "unusable-partial-specialization clang diagnostic" + }, + "fullDescription": { + "text": "-Wunusable-partial-specialization clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedButSetParameter", + "shortDescription": { + "text": "unused-but-set-parameter clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-but-set-parameter clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedButSetVariable", + "shortDescription": { + "text": "unused-but-set-variable clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-but-set-variable clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedComparison", + "shortDescription": { + "text": "unused-comparison clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-comparison clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedConstVariable", + "shortDescription": { + "text": "unused-const-variable clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-const-variable clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedExceptionParameter", + "shortDescription": { + "text": "unused-exception-parameter clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-exception-parameter clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedFunction", + "shortDescription": { + "text": "unused-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedGetterReturnValue", + "shortDescription": { + "text": "unused-getter-return-value clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-getter-return-value clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedLabel", + "shortDescription": { + "text": "unused-label clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-label clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedLambdaCapture", + "shortDescription": { + "text": "unused-lambda-capture clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-lambda-capture clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedLocalTypedef", + "shortDescription": { + "text": "unused-local-typedef clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-local-typedef clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedMacros", + "shortDescription": { + "text": "unused-macros clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-macros clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedMemberFunction", + "shortDescription": { + "text": "unused-member-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-member-function clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedParameter", + "shortDescription": { + "text": "unused-parameter clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-parameter clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedPrivateField", + "shortDescription": { + "text": "unused-private-field clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-private-field clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedPropertyIvar", + "shortDescription": { + "text": "unused-property-ivar clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-property-ivar clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedResult", + "shortDescription": { + "text": "unused-result clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-result clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedTemplate", + "shortDescription": { + "text": "unused-template clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-template clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedValue", + "shortDescription": { + "text": "unused-value clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-value clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedVariable", + "shortDescription": { + "text": "unused-variable clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-variable clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedVolatileLvalue", + "shortDescription": { + "text": "unused-volatile-lvalue clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-volatile-lvalue clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUsedButMarkedUnused", + "shortDescription": { + "text": "used-but-marked-unused clang diagnostic" + }, + "fullDescription": { + "text": "-Wused-but-marked-unused clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUserDefinedLiterals", + "shortDescription": { + "text": "user-defined-literals clang diagnostic" + }, + "fullDescription": { + "text": "-Wuser-defined-literals clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUserDefinedWarnings", + "shortDescription": { + "text": "user-defined-warnings clang diagnostic" + }, + "fullDescription": { + "text": "-Wuser-defined-warnings clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVarargs", + "shortDescription": { + "text": "varargs clang diagnostic" + }, + "fullDescription": { + "text": "-Wvarargs clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVariadicMacroArgumentsOmitted", + "shortDescription": { + "text": "variadic-macro-arguments-omitted clang diagnostic" + }, + "fullDescription": { + "text": "-Wvariadic-macro-arguments-omitted clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVariadicMacros", + "shortDescription": { + "text": "variadic-macros clang diagnostic" + }, + "fullDescription": { + "text": "-Wvariadic-macros clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVecElemSize", + "shortDescription": { + "text": "vec-elem-size clang diagnostic" + }, + "fullDescription": { + "text": "-Wvec-elem-size clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVectorConversion", + "shortDescription": { + "text": "vector-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wvector-conversion clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVexingParse", + "shortDescription": { + "text": "vexing-parse clang diagnostic" + }, + "fullDescription": { + "text": "-Wvexing-parse clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVisibility", + "shortDescription": { + "text": "visibility clang diagnostic" + }, + "fullDescription": { + "text": "-Wvisibility clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVla", + "shortDescription": { + "text": "vla clang diagnostic" + }, + "fullDescription": { + "text": "-Wvla clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVlaCxxExtension", + "shortDescription": { + "text": "vla-cxx-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wvla-cxx-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVlaExtension", + "shortDescription": { + "text": "vla-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wvla-extension clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVlaExtensionStaticAssert", + "shortDescription": { + "text": "vla-extension-static-assert clang diagnostic" + }, + "fullDescription": { + "text": "-Wvla-extension-static-assert clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVoidPointerToEnumCast", + "shortDescription": { + "text": "void-pointer-to-enum-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wvoid-pointer-to-enum-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVoidPointerToIntCast", + "shortDescription": { + "text": "void-pointer-to-int-cast clang diagnostic" + }, + "fullDescription": { + "text": "-Wvoid-pointer-to-int-cast clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVoidPtrDereference", + "shortDescription": { + "text": "void-ptr-dereference clang diagnostic" + }, + "fullDescription": { + "text": "-Wvoid-ptr-dereference clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticWarning", + "shortDescription": { + "text": "warning clang diagnostic" + }, + "fullDescription": { + "text": "Clang warning" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticWarnings", + "shortDescription": { + "text": "#warnings clang diagnostic" + }, + "fullDescription": { + "text": "-W#warnings clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticWasmExceptionSpec", + "shortDescription": { + "text": "wasm-exception-spec clang diagnostic" + }, + "fullDescription": { + "text": "-Wwasm-exception-spec clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticWeakTemplateVtables", + "shortDescription": { + "text": "weak-template-vtables clang diagnostic" + }, + "fullDescription": { + "text": "-Wweak-template-vtables clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticWeakVtables", + "shortDescription": { + "text": "weak-vtables clang diagnostic" + }, + "fullDescription": { + "text": "-Wweak-vtables clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticWritableStrings", + "shortDescription": { + "text": "writable-strings clang diagnostic" + }, + "fullDescription": { + "text": "-Wwritable-strings clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticXorUsedAsPow", + "shortDescription": { + "text": "xor-used-as-pow clang diagnostic" + }, + "fullDescription": { + "text": "-Wxor-used-as-pow clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticZeroAsNullPointerConstant", + "shortDescription": { + "text": "zero-as-null-pointer-constant clang diagnostic" + }, + "fullDescription": { + "text": "-Wzero-as-null-pointer-constant clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticZeroLengthArray", + "shortDescription": { + "text": "zero-length-array clang diagnostic" + }, + "fullDescription": { + "text": "-Wzero-length-array clang diagnostic · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Clang" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyConcurrencyMtUnsafe", + "shortDescription": { + "text": "concurrency: concurrency-mt-unsafe clang-tidy check" + }, + "fullDescription": { + "text": "concurrency-mt-unsafe clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyConcurrencyThreadCanceltypeAsynchronous", + "shortDescription": { + "text": "concurrency: concurrency-thread-canceltype-asynchronous clang-tidy check" + }, + "fullDescription": { + "text": "concurrency-thread-canceltype-asynchronous clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidCArrays", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-avoid-c-arrays clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-c-arrays clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidCapturingLambdaCoroutines", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-avoid-capturing-lambda-coroutines clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-capturing-lambda-coroutines clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidConstOrRefDataMembers", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-avoid-const-or-ref-data-members clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-const-or-ref-data-members clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidDoWhile", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-avoid-do-while clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-do-while clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidGoto", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-avoid-goto clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-goto clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidMagicNumbers", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-avoid-magic-numbers clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-magic-numbers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidNonConstGlobalVariables", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-avoid-non-const-global-variables clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-non-const-global-variables clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidReferenceCoroutineParameters", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-avoid-reference-coroutine-parameters clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-reference-coroutine-parameters clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesCCopyAssignmentSignature", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-c-copy-assignment-signature clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-c-copy-assignment-signature clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesExplicitVirtualFunctions", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-explicit-virtual-functions clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-explicit-virtual-functions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesInitVariables", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-init-variables clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-init-variables clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesInterfacesGlobalInit", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-interfaces-global-init clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-interfaces-global-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesMacroToEnum", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-macro-to-enum clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-macro-to-enum clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesMacroUsage", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-macro-usage clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-macro-usage clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesMisleadingCaptureDefaultByValue", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-misleading-capture-default-by-value clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-misleading-capture-default-by-value clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesMissingStdForward", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-missing-std-forward clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-missing-std-forward clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNarrowingConversions", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-narrowing-conversions clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-narrowing-conversions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNoMalloc", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-no-malloc clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-no-malloc clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNoSuspendWithLock", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-no-suspend-with-lock clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-no-suspend-with-lock clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNoexceptDestructor", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-noexcept-destructor clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-noexcept-destructor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNoexceptMoveOperations", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-noexcept-move-operations clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-noexcept-move-operations clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNoexceptSwap", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-noexcept-swap clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-noexcept-swap clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNonPrivateMemberVariablesInClasses", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-non-private-member-variables-in-classes clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-non-private-member-variables-in-classes clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesOwningMemory", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-owning-memory clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-owning-memory clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesPreferMemberInitializer", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-prefer-member-initializer clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-prefer-member-initializer clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProBoundsArrayToPointerDecay", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-bounds-array-to-pointer-decay clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-bounds-array-to-pointer-decay clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProBoundsAvoidUncheckedContainerAccess", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-bounds-avoid-unchecked-container-access clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-bounds-avoid-unchecked-container-access clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProBoundsConstantArrayIndex", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-bounds-constant-array-index clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-bounds-constant-array-index clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProBoundsPointerArithmetic", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-bounds-pointer-arithmetic clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-bounds-pointer-arithmetic clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProTypeConstCast", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-type-const-cast clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-type-const-cast clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProTypeCstyleCast", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-type-cstyle-cast clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-type-cstyle-cast clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProTypeMemberInit", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-type-member-init clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-type-member-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProTypeReinterpretCast", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-type-reinterpret-cast clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-type-reinterpret-cast clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProTypeStaticCastDowncast", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-type-static-cast-downcast clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-type-static-cast-downcast clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProTypeUnionAccess", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-type-union-access clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-type-union-access clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProTypeVararg", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-pro-type-vararg clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-type-vararg clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesRvalueReferenceParamNotMoved", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-rvalue-reference-param-not-moved clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-rvalue-reference-param-not-moved clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesSlicing", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-slicing clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-slicing clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesSpecialMemberFunctions", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-special-member-functions clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-special-member-functions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesUseDefaultMemberInit", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-use-default-member-init clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-use-default-member-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesUseEnumClass", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-use-enum-class clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-use-enum-class clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesVirtualClassDestructor", + "shortDescription": { + "text": "cppcoreguidelines: cppcoreguidelines-virtual-class-destructor clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-virtual-class-destructor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyDarwinAvoidSpinlock", + "shortDescription": { + "text": "darwin: darwin-avoid-spinlock clang-tidy check" + }, + "fullDescription": { + "text": "darwin-avoid-spinlock clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyDarwinDispatchOnceNonstatic", + "shortDescription": { + "text": "darwin: darwin-dispatch-once-nonstatic clang-tidy check" + }, + "fullDescription": { + "text": "darwin-dispatch-once-nonstatic clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaDefaultArgumentsCalls", + "shortDescription": { + "text": "fuchsia: fuchsia-default-arguments-calls clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-default-arguments-calls clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaDefaultArgumentsDeclarations", + "shortDescription": { + "text": "fuchsia: fuchsia-default-arguments-declarations clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-default-arguments-declarations clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaHeaderAnonNamespaces", + "shortDescription": { + "text": "fuchsia: fuchsia-header-anon-namespaces clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-header-anon-namespaces clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaMultipleInheritance", + "shortDescription": { + "text": "fuchsia: fuchsia-multiple-inheritance clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-multiple-inheritance clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaOverloadedOperator", + "shortDescription": { + "text": "fuchsia: fuchsia-overloaded-operator clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-overloaded-operator clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaStaticallyConstructedObjects", + "shortDescription": { + "text": "fuchsia: fuchsia-statically-constructed-objects clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-statically-constructed-objects clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaTemporaryObjects", + "shortDescription": { + "text": "fuchsia: fuchsia-temporary-objects clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-temporary-objects clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaTrailingReturn", + "shortDescription": { + "text": "fuchsia: fuchsia-trailing-return clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-trailing-return clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaVirtualInheritance", + "shortDescription": { + "text": "fuchsia: fuchsia-virtual-inheritance clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-virtual-inheritance clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleBuildExplicitMakePair", + "shortDescription": { + "text": "google: google-build-explicit-make-pair clang-tidy check" + }, + "fullDescription": { + "text": "google-build-explicit-make-pair clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleBuildNamespaces", + "shortDescription": { + "text": "google: google-build-namespaces clang-tidy check" + }, + "fullDescription": { + "text": "google-build-namespaces clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleBuildUsingNamespace", + "shortDescription": { + "text": "google: google-build-using-namespace clang-tidy check" + }, + "fullDescription": { + "text": "google-build-using-namespace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleDefaultArguments", + "shortDescription": { + "text": "google: google-default-arguments clang-tidy check" + }, + "fullDescription": { + "text": "google-default-arguments clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleExplicitConstructor", + "shortDescription": { + "text": "google: google-explicit-constructor clang-tidy check" + }, + "fullDescription": { + "text": "google-explicit-constructor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleGlobalNamesInHeaders", + "shortDescription": { + "text": "google: google-global-names-in-headers clang-tidy check" + }, + "fullDescription": { + "text": "google-global-names-in-headers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleObjcAvoidNsobjectNew", + "shortDescription": { + "text": "google: google-objc-avoid-nsobject-new clang-tidy check" + }, + "fullDescription": { + "text": "google-objc-avoid-nsobject-new clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleObjcAvoidThrowingException", + "shortDescription": { + "text": "google: google-objc-avoid-throwing-exception clang-tidy check" + }, + "fullDescription": { + "text": "google-objc-avoid-throwing-exception clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleObjcFunctionNaming", + "shortDescription": { + "text": "google: google-objc-function-naming clang-tidy check" + }, + "fullDescription": { + "text": "google-objc-function-naming clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleObjcGlobalVariableDeclaration", + "shortDescription": { + "text": "google: google-objc-global-variable-declaration clang-tidy check" + }, + "fullDescription": { + "text": "google-objc-global-variable-declaration clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleReadabilityAvoidUnderscoreInGoogletestName", + "shortDescription": { + "text": "google: google-readability-avoid-underscore-in-googletest-name clang-tidy check" + }, + "fullDescription": { + "text": "google-readability-avoid-underscore-in-googletest-name clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleReadabilityBracesAroundStatements", + "shortDescription": { + "text": "google: google-readability-braces-around-statements clang-tidy check" + }, + "fullDescription": { + "text": "google-readability-braces-around-statements clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleReadabilityCasting", + "shortDescription": { + "text": "google: google-readability-casting clang-tidy check" + }, + "fullDescription": { + "text": "google-readability-casting clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleReadabilityFunctionSize", + "shortDescription": { + "text": "google: google-readability-function-size clang-tidy check" + }, + "fullDescription": { + "text": "google-readability-function-size clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleReadabilityNamespaceComments", + "shortDescription": { + "text": "google: google-readability-namespace-comments clang-tidy check" + }, + "fullDescription": { + "text": "google-readability-namespace-comments clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleReadabilityTodo", + "shortDescription": { + "text": "google: google-readability-todo clang-tidy check" + }, + "fullDescription": { + "text": "google-readability-todo clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleRuntimeFloat", + "shortDescription": { + "text": "google: google-runtime-float clang-tidy check" + }, + "fullDescription": { + "text": "google-runtime-float clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleRuntimeInt", + "shortDescription": { + "text": "google: google-runtime-int clang-tidy check" + }, + "fullDescription": { + "text": "google-runtime-int clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleRuntimeOperator", + "shortDescription": { + "text": "google: google-runtime-operator clang-tidy check" + }, + "fullDescription": { + "text": "google-runtime-operator clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleUpgradeGoogletestCase", + "shortDescription": { + "text": "google: google-upgrade-googletest-case clang-tidy check" + }, + "fullDescription": { + "text": "google-upgrade-googletest-case clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppAvoidCArrays", + "shortDescription": { + "text": "hicpp: hicpp-avoid-c-arrays clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-avoid-c-arrays clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppAvoidGoto", + "shortDescription": { + "text": "hicpp: hicpp-avoid-goto clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-avoid-goto clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppBracesAroundStatements", + "shortDescription": { + "text": "hicpp: hicpp-braces-around-statements clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-braces-around-statements clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppDeprecatedHeaders", + "shortDescription": { + "text": "hicpp: hicpp-deprecated-headers clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-deprecated-headers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppExceptionBaseclass", + "shortDescription": { + "text": "hicpp: hicpp-exception-baseclass clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-exception-baseclass clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppExplicitConversions", + "shortDescription": { + "text": "hicpp: hicpp-explicit-conversions clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-explicit-conversions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppFunctionSize", + "shortDescription": { + "text": "hicpp: hicpp-function-size clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-function-size clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppIgnoredRemoveResult", + "shortDescription": { + "text": "hicpp: hicpp-ignored-remove-result clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-ignored-remove-result clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppInvalidAccessMoved", + "shortDescription": { + "text": "hicpp: hicpp-invalid-access-moved clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-invalid-access-moved clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppMemberInit", + "shortDescription": { + "text": "hicpp: hicpp-member-init clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-member-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppMoveConstArg", + "shortDescription": { + "text": "hicpp: hicpp-move-const-arg clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-move-const-arg clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppMultiwayPathsCovered", + "shortDescription": { + "text": "hicpp: hicpp-multiway-paths-covered clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-multiway-paths-covered clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNamedParameter", + "shortDescription": { + "text": "hicpp: hicpp-named-parameter clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-named-parameter clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNewDeleteOperators", + "shortDescription": { + "text": "hicpp: hicpp-new-delete-operators clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-new-delete-operators clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNoArrayDecay", + "shortDescription": { + "text": "hicpp: hicpp-no-array-decay clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-no-array-decay clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNoAssembler", + "shortDescription": { + "text": "hicpp: hicpp-no-assembler clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-no-assembler clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNoMalloc", + "shortDescription": { + "text": "hicpp: hicpp-no-malloc clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-no-malloc clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNoexceptMove", + "shortDescription": { + "text": "hicpp: hicpp-noexcept-move clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-noexcept-move clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppSignedBitwise", + "shortDescription": { + "text": "hicpp: hicpp-signed-bitwise clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-signed-bitwise clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppSpecialMemberFunctions", + "shortDescription": { + "text": "hicpp: hicpp-special-member-functions clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-special-member-functions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppStaticAssert", + "shortDescription": { + "text": "hicpp: hicpp-static-assert clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-static-assert clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUndelegatedConstructor", + "shortDescription": { + "text": "hicpp: hicpp-undelegated-constructor clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-undelegated-constructor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUppercaseLiteralSuffix", + "shortDescription": { + "text": "hicpp: hicpp-uppercase-literal-suffix clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-uppercase-literal-suffix clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseAuto", + "shortDescription": { + "text": "hicpp: hicpp-use-auto clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-auto clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseEmplace", + "shortDescription": { + "text": "hicpp: hicpp-use-emplace clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-emplace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseEqualsDefault", + "shortDescription": { + "text": "hicpp: hicpp-use-equals-default clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-equals-default clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseEqualsDelete", + "shortDescription": { + "text": "hicpp: hicpp-use-equals-delete clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-equals-delete clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseNoexcept", + "shortDescription": { + "text": "hicpp: hicpp-use-noexcept clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-noexcept clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseNullptr", + "shortDescription": { + "text": "hicpp: hicpp-use-nullptr clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-nullptr clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseOverride", + "shortDescription": { + "text": "hicpp: hicpp-use-override clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-override clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppVararg", + "shortDescription": { + "text": "hicpp: hicpp-vararg clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-vararg clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHighlighting", + "shortDescription": { + "text": "Unknown clang-tidy checks" + }, + "fullDescription": { + "text": "Unknown clang-tidy checks." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLinuxkernelMustCheckErrs", + "shortDescription": { + "text": "linuxkernel: linuxkernel-must-check-errs clang-tidy check" + }, + "fullDescription": { + "text": "linuxkernel-must-check-errs clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmElseAfterReturn", + "shortDescription": { + "text": "llvm: llvm-else-after-return clang-tidy check" + }, + "fullDescription": { + "text": "llvm-else-after-return clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmHeaderGuard", + "shortDescription": { + "text": "llvm: llvm-header-guard clang-tidy check" + }, + "fullDescription": { + "text": "llvm-header-guard clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmIncludeOrder", + "shortDescription": { + "text": "llvm: llvm-include-order clang-tidy check" + }, + "fullDescription": { + "text": "llvm-include-order clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmNamespaceComment", + "shortDescription": { + "text": "llvm: llvm-namespace-comment clang-tidy check" + }, + "fullDescription": { + "text": "llvm-namespace-comment clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmPreferIsaOrDynCastInConditionals", + "shortDescription": { + "text": "llvm: llvm-prefer-isa-or-dyn-cast-in-conditionals clang-tidy check" + }, + "fullDescription": { + "text": "llvm-prefer-isa-or-dyn-cast-in-conditionals clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmPreferRegisterOverUnsigned", + "shortDescription": { + "text": "llvm: llvm-prefer-register-over-unsigned clang-tidy check" + }, + "fullDescription": { + "text": "llvm-prefer-register-over-unsigned clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmPreferStaticOverAnonymousNamespace", + "shortDescription": { + "text": "llvm: llvm-prefer-static-over-anonymous-namespace clang-tidy check" + }, + "fullDescription": { + "text": "llvm-prefer-static-over-anonymous-namespace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmQualifiedAuto", + "shortDescription": { + "text": "llvm: llvm-qualified-auto clang-tidy check" + }, + "fullDescription": { + "text": "llvm-qualified-auto clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmTwineLocal", + "shortDescription": { + "text": "llvm: llvm-twine-local clang-tidy check" + }, + "fullDescription": { + "text": "llvm-twine-local clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmUseNewMlirOpBuilder", + "shortDescription": { + "text": "llvm: llvm-use-new-mlir-op-builder clang-tidy check" + }, + "fullDescription": { + "text": "llvm-use-new-mlir-op-builder clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmUseRanges", + "shortDescription": { + "text": "llvm: llvm-use-ranges clang-tidy check" + }, + "fullDescription": { + "text": "llvm-use-ranges clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmlibcCalleeNamespace", + "shortDescription": { + "text": "llvmlibc: llvmlibc-callee-namespace clang-tidy check" + }, + "fullDescription": { + "text": "llvmlibc-callee-namespace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmlibcImplementationInNamespace", + "shortDescription": { + "text": "llvmlibc: llvmlibc-implementation-in-namespace clang-tidy check" + }, + "fullDescription": { + "text": "llvmlibc-implementation-in-namespace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmlibcInlineFunctionDecl", + "shortDescription": { + "text": "llvmlibc: llvmlibc-inline-function-decl clang-tidy check" + }, + "fullDescription": { + "text": "llvmlibc-inline-function-decl clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmlibcRestrictSystemLibcHeaders", + "shortDescription": { + "text": "llvmlibc: llvmlibc-restrict-system-libc-headers clang-tidy check" + }, + "fullDescription": { + "text": "llvmlibc-restrict-system-libc-headers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscAnonymousNamespaceInHeader", + "shortDescription": { + "text": "misc: misc-anonymous-namespace-in-header clang-tidy check" + }, + "fullDescription": { + "text": "misc-anonymous-namespace-in-header clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscConfusableIdentifiers", + "shortDescription": { + "text": "misc: misc-confusable-identifiers clang-tidy check" + }, + "fullDescription": { + "text": "misc-confusable-identifiers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscConstCorrectness", + "shortDescription": { + "text": "misc: misc-const-correctness clang-tidy check" + }, + "fullDescription": { + "text": "misc-const-correctness clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscCoroutineHostileRaii", + "shortDescription": { + "text": "misc: misc-coroutine-hostile-raii clang-tidy check" + }, + "fullDescription": { + "text": "misc-coroutine-hostile-raii clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscDefinitionsInHeaders", + "shortDescription": { + "text": "misc: misc-definitions-in-headers clang-tidy check" + }, + "fullDescription": { + "text": "misc-definitions-in-headers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscHeaderIncludeCycle", + "shortDescription": { + "text": "misc: misc-header-include-cycle clang-tidy check" + }, + "fullDescription": { + "text": "misc-header-include-cycle clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscIncludeCleaner", + "shortDescription": { + "text": "misc: misc-include-cleaner clang-tidy check" + }, + "fullDescription": { + "text": "misc-include-cleaner clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscMisleadingBidirectional", + "shortDescription": { + "text": "misc: misc-misleading-bidirectional clang-tidy check" + }, + "fullDescription": { + "text": "misc-misleading-bidirectional clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscMisleadingIdentifier", + "shortDescription": { + "text": "misc: misc-misleading-identifier clang-tidy check" + }, + "fullDescription": { + "text": "misc-misleading-identifier clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscMisplacedConst", + "shortDescription": { + "text": "misc: misc-misplaced-const clang-tidy check" + }, + "fullDescription": { + "text": "misc-misplaced-const clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscMultipleInheritance", + "shortDescription": { + "text": "misc: misc-multiple-inheritance clang-tidy check" + }, + "fullDescription": { + "text": "misc-multiple-inheritance clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscNewDeleteOverloads", + "shortDescription": { + "text": "misc: misc-new-delete-overloads clang-tidy check" + }, + "fullDescription": { + "text": "misc-new-delete-overloads clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscNoRecursion", + "shortDescription": { + "text": "misc: misc-no-recursion clang-tidy check" + }, + "fullDescription": { + "text": "misc-no-recursion clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscNonCopyableObjects", + "shortDescription": { + "text": "misc: misc-non-copyable-objects clang-tidy check" + }, + "fullDescription": { + "text": "misc-non-copyable-objects clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscNonPrivateMemberVariablesInClasses", + "shortDescription": { + "text": "misc: misc-non-private-member-variables-in-classes clang-tidy check" + }, + "fullDescription": { + "text": "misc-non-private-member-variables-in-classes clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscOverrideWithDifferentVisibility", + "shortDescription": { + "text": "misc: misc-override-with-different-visibility clang-tidy check" + }, + "fullDescription": { + "text": "misc-override-with-different-visibility clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscPredictableRand", + "shortDescription": { + "text": "misc: misc-predictable-rand clang-tidy check" + }, + "fullDescription": { + "text": "misc-predictable-rand clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscRedundantExpression", + "shortDescription": { + "text": "misc: misc-redundant-expression clang-tidy check" + }, + "fullDescription": { + "text": "misc-redundant-expression clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscStaticAssert", + "shortDescription": { + "text": "misc: misc-static-assert clang-tidy check" + }, + "fullDescription": { + "text": "misc-static-assert clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscThrowByValueCatchByReference", + "shortDescription": { + "text": "misc: misc-throw-by-value-catch-by-reference clang-tidy check" + }, + "fullDescription": { + "text": "misc-throw-by-value-catch-by-reference clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscUnconventionalAssignOperator", + "shortDescription": { + "text": "misc: misc-unconventional-assign-operator clang-tidy check" + }, + "fullDescription": { + "text": "misc-unconventional-assign-operator clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscUniqueptrResetRelease", + "shortDescription": { + "text": "misc: misc-uniqueptr-reset-release clang-tidy check" + }, + "fullDescription": { + "text": "misc-uniqueptr-reset-release clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscUnusedAliasDecls", + "shortDescription": { + "text": "misc: misc-unused-alias-decls clang-tidy check" + }, + "fullDescription": { + "text": "misc-unused-alias-decls clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscUnusedParameters", + "shortDescription": { + "text": "misc: misc-unused-parameters clang-tidy check" + }, + "fullDescription": { + "text": "misc-unused-parameters clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscUnusedUsingDecls", + "shortDescription": { + "text": "misc: misc-unused-using-decls clang-tidy check" + }, + "fullDescription": { + "text": "misc-unused-using-decls clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscUseAnonymousNamespace", + "shortDescription": { + "text": "misc: misc-use-anonymous-namespace clang-tidy check" + }, + "fullDescription": { + "text": "misc-use-anonymous-namespace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscUseInternalLinkage", + "shortDescription": { + "text": "misc: misc-use-internal-linkage clang-tidy check" + }, + "fullDescription": { + "text": "misc-use-internal-linkage clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeAvoidBind", + "shortDescription": { + "text": "modernize: modernize-avoid-bind clang-tidy check" + }, + "fullDescription": { + "text": "modernize-avoid-bind clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeAvoidCArrays", + "shortDescription": { + "text": "modernize: modernize-avoid-c-arrays clang-tidy check" + }, + "fullDescription": { + "text": "modernize-avoid-c-arrays clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeAvoidCStyleCast", + "shortDescription": { + "text": "modernize: modernize-avoid-c-style-cast clang-tidy check" + }, + "fullDescription": { + "text": "modernize-avoid-c-style-cast clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeAvoidSetjmpLongjmp", + "shortDescription": { + "text": "modernize: modernize-avoid-setjmp-longjmp clang-tidy check" + }, + "fullDescription": { + "text": "modernize-avoid-setjmp-longjmp clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeAvoidVariadicFunctions", + "shortDescription": { + "text": "modernize: modernize-avoid-variadic-functions clang-tidy check" + }, + "fullDescription": { + "text": "modernize-avoid-variadic-functions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeConcatNestedNamespaces", + "shortDescription": { + "text": "modernize: modernize-concat-nested-namespaces clang-tidy check" + }, + "fullDescription": { + "text": "modernize-concat-nested-namespaces clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeDeprecatedHeaders", + "shortDescription": { + "text": "modernize: modernize-deprecated-headers clang-tidy check" + }, + "fullDescription": { + "text": "modernize-deprecated-headers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeDeprecatedIosBaseAliases", + "shortDescription": { + "text": "modernize: modernize-deprecated-ios-base-aliases clang-tidy check" + }, + "fullDescription": { + "text": "modernize-deprecated-ios-base-aliases clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeLoopConvert", + "shortDescription": { + "text": "modernize: modernize-loop-convert clang-tidy check" + }, + "fullDescription": { + "text": "modernize-loop-convert clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeMacroToEnum", + "shortDescription": { + "text": "modernize: modernize-macro-to-enum clang-tidy check" + }, + "fullDescription": { + "text": "modernize-macro-to-enum clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeMakeShared", + "shortDescription": { + "text": "modernize: modernize-make-shared clang-tidy check" + }, + "fullDescription": { + "text": "modernize-make-shared clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeMakeUnique", + "shortDescription": { + "text": "modernize: modernize-make-unique clang-tidy check" + }, + "fullDescription": { + "text": "modernize-make-unique clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeMinMaxUseInitializerList", + "shortDescription": { + "text": "modernize: modernize-min-max-use-initializer-list clang-tidy check" + }, + "fullDescription": { + "text": "modernize-min-max-use-initializer-list clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizePassByValue", + "shortDescription": { + "text": "modernize: modernize-pass-by-value clang-tidy check" + }, + "fullDescription": { + "text": "modernize-pass-by-value clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeRawStringLiteral", + "shortDescription": { + "text": "modernize: modernize-raw-string-literal clang-tidy check" + }, + "fullDescription": { + "text": "modernize-raw-string-literal clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeRedundantVoidArg", + "shortDescription": { + "text": "modernize: modernize-redundant-void-arg clang-tidy check" + }, + "fullDescription": { + "text": "modernize-redundant-void-arg clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeReplaceAutoPtr", + "shortDescription": { + "text": "modernize: modernize-replace-auto-ptr clang-tidy check" + }, + "fullDescription": { + "text": "modernize-replace-auto-ptr clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeReplaceDisallowCopyAndAssignMacro", + "shortDescription": { + "text": "modernize: modernize-replace-disallow-copy-and-assign-macro clang-tidy check" + }, + "fullDescription": { + "text": "modernize-replace-disallow-copy-and-assign-macro clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeReplaceRandomShuffle", + "shortDescription": { + "text": "modernize: modernize-replace-random-shuffle clang-tidy check" + }, + "fullDescription": { + "text": "modernize-replace-random-shuffle clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeReturnBracedInitList", + "shortDescription": { + "text": "modernize: modernize-return-braced-init-list clang-tidy check" + }, + "fullDescription": { + "text": "modernize-return-braced-init-list clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeShrinkToFit", + "shortDescription": { + "text": "modernize: modernize-shrink-to-fit clang-tidy check" + }, + "fullDescription": { + "text": "modernize-shrink-to-fit clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeTypeTraits", + "shortDescription": { + "text": "modernize: modernize-type-traits clang-tidy check" + }, + "fullDescription": { + "text": "modernize-type-traits clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUnaryStaticAssert", + "shortDescription": { + "text": "modernize: modernize-unary-static-assert clang-tidy check" + }, + "fullDescription": { + "text": "modernize-unary-static-assert clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseAuto", + "shortDescription": { + "text": "modernize: modernize-use-auto clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-auto clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseBoolLiterals", + "shortDescription": { + "text": "modernize: modernize-use-bool-literals clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-bool-literals clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseConstraints", + "shortDescription": { + "text": "modernize: modernize-use-constraints clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-constraints clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseDefaultMemberInit", + "shortDescription": { + "text": "modernize: modernize-use-default-member-init clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-default-member-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseDesignatedInitializers", + "shortDescription": { + "text": "modernize: modernize-use-designated-initializers clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-designated-initializers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseEmplace", + "shortDescription": { + "text": "modernize: modernize-use-emplace clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-emplace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseEqualsDefault", + "shortDescription": { + "text": "modernize: modernize-use-equals-default clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-equals-default clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseEqualsDelete", + "shortDescription": { + "text": "modernize: modernize-use-equals-delete clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-equals-delete clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseIntegerSignComparison", + "shortDescription": { + "text": "modernize: modernize-use-integer-sign-comparison clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-integer-sign-comparison clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseNodiscard", + "shortDescription": { + "text": "modernize: modernize-use-nodiscard clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-nodiscard clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseNoexcept", + "shortDescription": { + "text": "modernize: modernize-use-noexcept clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-noexcept clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseNullptr", + "shortDescription": { + "text": "modernize: modernize-use-nullptr clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-nullptr clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseOverride", + "shortDescription": { + "text": "modernize: modernize-use-override clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-override clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseRanges", + "shortDescription": { + "text": "modernize: modernize-use-ranges clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-ranges clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseScopedLock", + "shortDescription": { + "text": "modernize: modernize-use-scoped-lock clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-scoped-lock clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseStartsEndsWith", + "shortDescription": { + "text": "modernize: modernize-use-starts-ends-with clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-starts-ends-with clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseStdFormat", + "shortDescription": { + "text": "modernize: modernize-use-std-format clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-std-format clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseStdNumbers", + "shortDescription": { + "text": "modernize: modernize-use-std-numbers clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-std-numbers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseStdPrint", + "shortDescription": { + "text": "modernize: modernize-use-std-print clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-std-print clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseTrailingReturnType", + "shortDescription": { + "text": "modernize: modernize-use-trailing-return-type clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-trailing-return-type clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseTransparentFunctors", + "shortDescription": { + "text": "modernize: modernize-use-transparent-functors clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-transparent-functors clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseUncaughtExceptions", + "shortDescription": { + "text": "modernize: modernize-use-uncaught-exceptions clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-uncaught-exceptions clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseUsing", + "shortDescription": { + "text": "modernize: modernize-use-using clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-using clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMpiBufferDeref", + "shortDescription": { + "text": "mpi: mpi-buffer-deref clang-tidy check" + }, + "fullDescription": { + "text": "mpi-buffer-deref clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMpiTypeMismatch", + "shortDescription": { + "text": "mpi: mpi-type-mismatch clang-tidy check" + }, + "fullDescription": { + "text": "mpi-type-mismatch clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcAssertEquals", + "shortDescription": { + "text": "objc: objc-assert-equals clang-tidy check" + }, + "fullDescription": { + "text": "objc-assert-equals clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcAvoidNserrorInit", + "shortDescription": { + "text": "objc: objc-avoid-nserror-init clang-tidy check" + }, + "fullDescription": { + "text": "objc-avoid-nserror-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcDeallocInCategory", + "shortDescription": { + "text": "objc: objc-dealloc-in-category clang-tidy check" + }, + "fullDescription": { + "text": "objc-dealloc-in-category clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcForbiddenSubclassing", + "shortDescription": { + "text": "objc: objc-forbidden-subclassing clang-tidy check" + }, + "fullDescription": { + "text": "objc-forbidden-subclassing clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcMissingHash", + "shortDescription": { + "text": "objc: objc-missing-hash clang-tidy check" + }, + "fullDescription": { + "text": "objc-missing-hash clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcNsdateFormatter", + "shortDescription": { + "text": "objc: objc-nsdate-formatter clang-tidy check" + }, + "fullDescription": { + "text": "objc-nsdate-formatter clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcNsinvocationArgumentLifetime", + "shortDescription": { + "text": "objc: objc-nsinvocation-argument-lifetime clang-tidy check" + }, + "fullDescription": { + "text": "objc-nsinvocation-argument-lifetime clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcPropertyDeclaration", + "shortDescription": { + "text": "objc: objc-property-declaration clang-tidy check" + }, + "fullDescription": { + "text": "objc-property-declaration clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcSuperSelf", + "shortDescription": { + "text": "objc: objc-super-self clang-tidy check" + }, + "fullDescription": { + "text": "objc-super-self clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyOpenmpExceptionEscape", + "shortDescription": { + "text": "openmp: openmp-exception-escape clang-tidy check" + }, + "fullDescription": { + "text": "openmp-exception-escape clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyOpenmpUseDefaultNone", + "shortDescription": { + "text": "openmp: openmp-use-default-none clang-tidy check" + }, + "fullDescription": { + "text": "openmp-use-default-none clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceAvoidEndl", + "shortDescription": { + "text": "performance: performance-avoid-endl clang-tidy check" + }, + "fullDescription": { + "text": "performance-avoid-endl clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceEnumSize", + "shortDescription": { + "text": "performance: performance-enum-size clang-tidy check" + }, + "fullDescription": { + "text": "performance-enum-size clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceFasterStringFind", + "shortDescription": { + "text": "performance: performance-faster-string-find clang-tidy check" + }, + "fullDescription": { + "text": "performance-faster-string-find clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceForRangeCopy", + "shortDescription": { + "text": "performance: performance-for-range-copy clang-tidy check" + }, + "fullDescription": { + "text": "performance-for-range-copy clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceImplicitConversionInLoop", + "shortDescription": { + "text": "performance: performance-implicit-conversion-in-loop clang-tidy check" + }, + "fullDescription": { + "text": "performance-implicit-conversion-in-loop clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceInefficientAlgorithm", + "shortDescription": { + "text": "performance: performance-inefficient-algorithm clang-tidy check" + }, + "fullDescription": { + "text": "performance-inefficient-algorithm clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceInefficientStringConcatenation", + "shortDescription": { + "text": "performance: performance-inefficient-string-concatenation clang-tidy check" + }, + "fullDescription": { + "text": "performance-inefficient-string-concatenation clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceInefficientVectorOperation", + "shortDescription": { + "text": "performance: performance-inefficient-vector-operation clang-tidy check" + }, + "fullDescription": { + "text": "performance-inefficient-vector-operation clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceMoveConstArg", + "shortDescription": { + "text": "performance: performance-move-const-arg clang-tidy check" + }, + "fullDescription": { + "text": "performance-move-const-arg clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceMoveConstructorInit", + "shortDescription": { + "text": "performance: performance-move-constructor-init clang-tidy check" + }, + "fullDescription": { + "text": "performance-move-constructor-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceNoAutomaticMove", + "shortDescription": { + "text": "performance: performance-no-automatic-move clang-tidy check" + }, + "fullDescription": { + "text": "performance-no-automatic-move clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceNoIntToPtr", + "shortDescription": { + "text": "performance: performance-no-int-to-ptr clang-tidy check" + }, + "fullDescription": { + "text": "performance-no-int-to-ptr clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceNoexceptDestructor", + "shortDescription": { + "text": "performance: performance-noexcept-destructor clang-tidy check" + }, + "fullDescription": { + "text": "performance-noexcept-destructor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceNoexceptMoveConstructor", + "shortDescription": { + "text": "performance: performance-noexcept-move-constructor clang-tidy check" + }, + "fullDescription": { + "text": "performance-noexcept-move-constructor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceNoexceptSwap", + "shortDescription": { + "text": "performance: performance-noexcept-swap clang-tidy check" + }, + "fullDescription": { + "text": "performance-noexcept-swap clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceTriviallyDestructible", + "shortDescription": { + "text": "performance: performance-trivially-destructible clang-tidy check" + }, + "fullDescription": { + "text": "performance-trivially-destructible clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceTypePromotionInMathFn", + "shortDescription": { + "text": "performance: performance-type-promotion-in-math-fn clang-tidy check" + }, + "fullDescription": { + "text": "performance-type-promotion-in-math-fn clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceUnnecessaryCopyInitialization", + "shortDescription": { + "text": "performance: performance-unnecessary-copy-initialization clang-tidy check" + }, + "fullDescription": { + "text": "performance-unnecessary-copy-initialization clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceUnnecessaryValueParam", + "shortDescription": { + "text": "performance: performance-unnecessary-value-param clang-tidy check" + }, + "fullDescription": { + "text": "performance-unnecessary-value-param clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPortabilityAvoidPragmaOnce", + "shortDescription": { + "text": "portability: portability-avoid-pragma-once clang-tidy check" + }, + "fullDescription": { + "text": "portability-avoid-pragma-once clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPortabilityRestrictSystemIncludes", + "shortDescription": { + "text": "portability: portability-restrict-system-includes clang-tidy check" + }, + "fullDescription": { + "text": "portability-restrict-system-includes clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPortabilitySimdIntrinsics", + "shortDescription": { + "text": "portability: portability-simd-intrinsics clang-tidy check" + }, + "fullDescription": { + "text": "portability-simd-intrinsics clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPortabilityStdAllocatorConst", + "shortDescription": { + "text": "portability: portability-std-allocator-const clang-tidy check" + }, + "fullDescription": { + "text": "portability-std-allocator-const clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPortabilityTemplateVirtualMemberFunction", + "shortDescription": { + "text": "portability: portability-template-virtual-member-function clang-tidy check" + }, + "fullDescription": { + "text": "portability-template-virtual-member-function clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityAmbiguousSmartptrResetCall", + "shortDescription": { + "text": "readability: readability-ambiguous-smartptr-reset-call clang-tidy check" + }, + "fullDescription": { + "text": "readability-ambiguous-smartptr-reset-call clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityAvoidConstParamsInDecls", + "shortDescription": { + "text": "readability: readability-avoid-const-params-in-decls clang-tidy check" + }, + "fullDescription": { + "text": "readability-avoid-const-params-in-decls clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityAvoidNestedConditionalOperator", + "shortDescription": { + "text": "readability: readability-avoid-nested-conditional-operator clang-tidy check" + }, + "fullDescription": { + "text": "readability-avoid-nested-conditional-operator clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityAvoidReturnWithVoidValue", + "shortDescription": { + "text": "readability: readability-avoid-return-with-void-value clang-tidy check" + }, + "fullDescription": { + "text": "readability-avoid-return-with-void-value clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityAvoidUnconditionalPreprocessorIf", + "shortDescription": { + "text": "readability: readability-avoid-unconditional-preprocessor-if clang-tidy check" + }, + "fullDescription": { + "text": "readability-avoid-unconditional-preprocessor-if clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityBracesAroundStatements", + "shortDescription": { + "text": "readability: readability-braces-around-statements clang-tidy check" + }, + "fullDescription": { + "text": "readability-braces-around-statements clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityConstReturnType", + "shortDescription": { + "text": "readability: readability-const-return-type clang-tidy check" + }, + "fullDescription": { + "text": "readability-const-return-type clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityContainerContains", + "shortDescription": { + "text": "readability: readability-container-contains clang-tidy check" + }, + "fullDescription": { + "text": "readability-container-contains clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityContainerDataPointer", + "shortDescription": { + "text": "readability: readability-container-data-pointer clang-tidy check" + }, + "fullDescription": { + "text": "readability-container-data-pointer clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityContainerSizeEmpty", + "shortDescription": { + "text": "readability: readability-container-size-empty clang-tidy check" + }, + "fullDescription": { + "text": "readability-container-size-empty clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityConvertMemberFunctionsToStatic", + "shortDescription": { + "text": "readability: readability-convert-member-functions-to-static clang-tidy check" + }, + "fullDescription": { + "text": "readability-convert-member-functions-to-static clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityDeleteNullPointer", + "shortDescription": { + "text": "readability: readability-delete-null-pointer clang-tidy check" + }, + "fullDescription": { + "text": "readability-delete-null-pointer clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityDuplicateInclude", + "shortDescription": { + "text": "readability: readability-duplicate-include clang-tidy check" + }, + "fullDescription": { + "text": "readability-duplicate-include clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityElseAfterReturn", + "shortDescription": { + "text": "readability: readability-else-after-return clang-tidy check" + }, + "fullDescription": { + "text": "readability-else-after-return clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityEnumInitialValue", + "shortDescription": { + "text": "readability: readability-enum-initial-value clang-tidy check" + }, + "fullDescription": { + "text": "readability-enum-initial-value clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityFunctionCognitiveComplexity", + "shortDescription": { + "text": "readability: readability-function-cognitive-complexity clang-tidy check" + }, + "fullDescription": { + "text": "readability-function-cognitive-complexity clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityFunctionSize", + "shortDescription": { + "text": "readability: readability-function-size clang-tidy check" + }, + "fullDescription": { + "text": "readability-function-size clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityIdentifierLength", + "shortDescription": { + "text": "readability: readability-identifier-length clang-tidy check" + }, + "fullDescription": { + "text": "readability-identifier-length clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityIdentifierNaming", + "shortDescription": { + "text": "readability: readability-identifier-naming clang-tidy check" + }, + "fullDescription": { + "text": "readability-identifier-naming clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityImplicitBoolConversion", + "shortDescription": { + "text": "readability: readability-implicit-bool-conversion clang-tidy check" + }, + "fullDescription": { + "text": "readability-implicit-bool-conversion clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityInconsistentDeclarationParameterName", + "shortDescription": { + "text": "readability: readability-inconsistent-declaration-parameter-name clang-tidy check" + }, + "fullDescription": { + "text": "readability-inconsistent-declaration-parameter-name clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityInconsistentIfelseBraces", + "shortDescription": { + "text": "readability: readability-inconsistent-ifelse-braces clang-tidy check" + }, + "fullDescription": { + "text": "readability-inconsistent-ifelse-braces clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityIsolateDeclaration", + "shortDescription": { + "text": "readability: readability-isolate-declaration clang-tidy check" + }, + "fullDescription": { + "text": "readability-isolate-declaration clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityMagicNumbers", + "shortDescription": { + "text": "readability: readability-magic-numbers clang-tidy check" + }, + "fullDescription": { + "text": "readability-magic-numbers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityMakeMemberFunctionConst", + "shortDescription": { + "text": "readability: readability-make-member-function-const clang-tidy check" + }, + "fullDescription": { + "text": "readability-make-member-function-const clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityMathMissingParentheses", + "shortDescription": { + "text": "readability: readability-math-missing-parentheses clang-tidy check" + }, + "fullDescription": { + "text": "readability-math-missing-parentheses clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityMisleadingIndentation", + "shortDescription": { + "text": "readability: readability-misleading-indentation clang-tidy check" + }, + "fullDescription": { + "text": "readability-misleading-indentation clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityMisplacedArrayIndex", + "shortDescription": { + "text": "readability: readability-misplaced-array-index clang-tidy check" + }, + "fullDescription": { + "text": "readability-misplaced-array-index clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityNamedParameter", + "shortDescription": { + "text": "readability: readability-named-parameter clang-tidy check" + }, + "fullDescription": { + "text": "readability-named-parameter clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityNonConstParameter", + "shortDescription": { + "text": "readability: readability-non-const-parameter clang-tidy check" + }, + "fullDescription": { + "text": "readability-non-const-parameter clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityOperatorsRepresentation", + "shortDescription": { + "text": "readability: readability-operators-representation clang-tidy check" + }, + "fullDescription": { + "text": "readability-operators-representation clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityQualifiedAuto", + "shortDescription": { + "text": "readability: readability-qualified-auto clang-tidy check" + }, + "fullDescription": { + "text": "readability-qualified-auto clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantAccessSpecifiers", + "shortDescription": { + "text": "readability: readability-redundant-access-specifiers clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-access-specifiers clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantCasting", + "shortDescription": { + "text": "readability: readability-redundant-casting clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-casting clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantControlFlow", + "shortDescription": { + "text": "readability: readability-redundant-control-flow clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-control-flow clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantDeclaration", + "shortDescription": { + "text": "readability: readability-redundant-declaration clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-declaration clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantFunctionPtrDereference", + "shortDescription": { + "text": "readability: readability-redundant-function-ptr-dereference clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-function-ptr-dereference clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantInlineSpecifier", + "shortDescription": { + "text": "readability: readability-redundant-inline-specifier clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-inline-specifier clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantMemberInit", + "shortDescription": { + "text": "readability: readability-redundant-member-init clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-member-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantParentheses", + "shortDescription": { + "text": "readability: readability-redundant-parentheses clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-parentheses clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantPreprocessor", + "shortDescription": { + "text": "readability: readability-redundant-preprocessor clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-preprocessor clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantSmartptrGet", + "shortDescription": { + "text": "readability: readability-redundant-smartptr-get clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-smartptr-get clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantStringCstr", + "shortDescription": { + "text": "readability: readability-redundant-string-cstr clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-string-cstr clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantStringInit", + "shortDescription": { + "text": "readability: readability-redundant-string-init clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-string-init clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantTypename", + "shortDescription": { + "text": "readability: readability-redundant-typename clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-typename clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityReferenceToConstructedTemporary", + "shortDescription": { + "text": "readability: readability-reference-to-constructed-temporary clang-tidy check" + }, + "fullDescription": { + "text": "readability-reference-to-constructed-temporary clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilitySimplifyBooleanExpr", + "shortDescription": { + "text": "readability: readability-simplify-boolean-expr clang-tidy check" + }, + "fullDescription": { + "text": "readability-simplify-boolean-expr clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilitySimplifySubscriptExpr", + "shortDescription": { + "text": "readability: readability-simplify-subscript-expr clang-tidy check" + }, + "fullDescription": { + "text": "readability-simplify-subscript-expr clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityStaticAccessedThroughInstance", + "shortDescription": { + "text": "readability: readability-static-accessed-through-instance clang-tidy check" + }, + "fullDescription": { + "text": "readability-static-accessed-through-instance clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityStaticDefinitionInAnonymousNamespace", + "shortDescription": { + "text": "readability: readability-static-definition-in-anonymous-namespace clang-tidy check" + }, + "fullDescription": { + "text": "readability-static-definition-in-anonymous-namespace clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityStringCompare", + "shortDescription": { + "text": "readability: readability-string-compare clang-tidy check" + }, + "fullDescription": { + "text": "readability-string-compare clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilitySuspiciousCallArgument", + "shortDescription": { + "text": "readability: readability-suspicious-call-argument clang-tidy check" + }, + "fullDescription": { + "text": "readability-suspicious-call-argument clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityUniqueptrDeleteRelease", + "shortDescription": { + "text": "readability: readability-uniqueptr-delete-release clang-tidy check" + }, + "fullDescription": { + "text": "readability-uniqueptr-delete-release clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityUppercaseLiteralSuffix", + "shortDescription": { + "text": "readability: readability-uppercase-literal-suffix clang-tidy check" + }, + "fullDescription": { + "text": "readability-uppercase-literal-suffix clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityUseAnyofallof", + "shortDescription": { + "text": "readability: readability-use-anyofallof clang-tidy check" + }, + "fullDescription": { + "text": "readability-use-anyofallof clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityUseConcisePreprocessorDirectives", + "shortDescription": { + "text": "readability: readability-use-concise-preprocessor-directives clang-tidy check" + }, + "fullDescription": { + "text": "readability-use-concise-preprocessor-directives clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityUseStdMinMax", + "shortDescription": { + "text": "readability: readability-use-std-min-max clang-tidy check" + }, + "fullDescription": { + "text": "readability-use-std-min-max clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyZirconTemporaryObjects", + "shortDescription": { + "text": "zircon: zircon-temporary-objects clang-tidy check" + }, + "fullDescription": { + "text": "zircon-temporary-objects clang-tidy check · Learn more" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ClangTidy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClassCanBeFinal", + "shortDescription": { + "text": "Class can be made final" + }, + "fullDescription": { + "text": "A class definition can be marked as final so it cannot be inherited from" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClassIsIncomplete", + "shortDescription": { + "text": "Use of an incomplete type inside a template" + }, + "fullDescription": { + "text": "An incomplete type is used inside a template declaration or definition" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClassNeedsConstructorBecauseOfUninitializedMember", + "shortDescription": { + "text": "Class should have a user-defined constructor because of an uninitialized data member" + }, + "fullDescription": { + "text": "Class should have a user-defined constructor because of an uninitialized data member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClassNeverUsed", + "shortDescription": { + "text": "Class is never used" + }, + "fullDescription": { + "text": "A class is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCompileTimeConstantCanBeReplacedWithBooleanConstant", + "shortDescription": { + "text": "Compile-time constant expression can be replaced with either 'true' or 'false'" + }, + "fullDescription": { + "text": "Compile-time integral constant expression or nullptr is converted to bool and can be replaced with 'true' or 'false'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConceptNeverUsed", + "shortDescription": { + "text": "Concept is never used" + }, + "fullDescription": { + "text": "Concept is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConditionalExpressionCanBeSimplified", + "shortDescription": { + "text": "Conditional expression can be simplified" + }, + "fullDescription": { + "text": "Conditional expression can be simplified" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConstParameterInDeclaration", + "shortDescription": { + "text": "Const-qualified parameter in a function declaration" + }, + "fullDescription": { + "text": "Const-qualification of parameters has an effect only in function definitions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConstValueFunctionReturnType", + "shortDescription": { + "text": "Function returns by const value" + }, + "fullDescription": { + "text": "Returning from a function by const value is usually not beneficial. Consider returning values as non-const to \r\n take advantage of move semantics." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-return-const", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-return-const" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCoroutineCallResolveError", + "shortDescription": { + "text": "Cannot resolve a required coroutine function" + }, + "fullDescription": { + "text": "A coroutine-related function which is required by the C++20 standard cannot be resolved" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclarationHidesLocal", + "shortDescription": { + "text": "Hiding local declaration" + }, + "fullDescription": { + "text": "A local declaration hides another local declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-reuse", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-reuse" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclarationHidesUncapturedLocal", + "shortDescription": { + "text": "Hiding an uncaptured local declaration" + }, + "fullDescription": { + "text": "A local declaration inside a lambda hides an uncaptured local declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-reuse", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-reuse" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclarationSpecifierWithoutDeclarators", + "shortDescription": { + "text": "Declaration specifier with no declarators" + }, + "fullDescription": { + "text": "A declaration specifier is ignored when there are no declarators" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclaratorDisambiguatedAsFunction", + "shortDescription": { + "text": "Declarator disambiguated as a function declaration" + }, + "fullDescription": { + "text": "Declarator is disambiguated as a function declaration. Make sure a variable definition is not intended instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclaratorNeverUsed", + "shortDescription": { + "text": "Declarator is never used" + }, + "fullDescription": { + "text": "A declarator is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclaratorUsedBeforeInitialization", + "shortDescription": { + "text": "Local variable is used without being initialized" + }, + "fullDescription": { + "text": "Local variable is used without being initialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefaultCaseNotHandledInSwitchStatement", + "shortDescription": { + "text": "Default case is not handled in a switch statement" + }, + "fullDescription": { + "text": "Default case is not handled in a switch statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefaultInitializationWithNoUserConstructor", + "shortDescription": { + "text": "Default initialization of a const-qualified object of a type without a user-provided default constructor" + }, + "fullDescription": { + "text": "Default initialization of a const-qualified object of a type without a user-provided default constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefaultIsUsedAsIdentifier", + "shortDescription": { + "text": "Keyword 'default' is used as identifier" + }, + "fullDescription": { + "text": "'default' is a keyword in the C++ standard and cannot be used as an identifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefaultedSpecialMemberFunctionIsImplicitlyDeleted", + "shortDescription": { + "text": "Defaulted special member function is implicitly deleted" + }, + "fullDescription": { + "text": "Explicitly defaulted special member function is implicitly deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDefinitionsOrder", + "shortDescription": { + "text": "Use preferred declaration style: Order of definitions does not match the order of declaration" + }, + "fullDescription": { + "text": "Order of definitions does not match the order of declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeletingVoidPointer", + "shortDescription": { + "text": "Deleting a void pointer" + }, + "fullDescription": { + "text": "Deleting a void pointer is undefined behavior" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDependentTemplateWithoutTemplateKeyword", + "shortDescription": { + "text": "Dependent template without 'template' keyword" + }, + "fullDescription": { + "text": "Dependent template without 'template' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDependentTypeWithoutTypenameKeyword", + "shortDescription": { + "text": "Dependent type without 'typename' keyword" + }, + "fullDescription": { + "text": "Dependent type without 'typename' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeprecatedEntity", + "shortDescription": { + "text": "Entity is deprecated" + }, + "fullDescription": { + "text": "Entity is deprecated" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeprecatedOverridenMethod", + "shortDescription": { + "text": "Overridden method is deprecated" + }, + "fullDescription": { + "text": "Overridden method is deprecated" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeprecatedRegisterStorageClassSpecifier", + "shortDescription": { + "text": "Deprecated 'register' storage class specifier" + }, + "fullDescription": { + "text": "The 'register' storage class specifier is deprecated in C++11 and removed in C++17" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDereferenceOperatorLimitExceeded", + "shortDescription": { + "text": "Dereference operator limit is exceeded" + }, + "fullDescription": { + "text": "Dereference operator limit is exceeded" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDiscardedPostfixOperatorResult", + "shortDescription": { + "text": "Result of a postfix operator is discarded" + }, + "fullDescription": { + "text": "Result of a postfix operator is discarded. It might be more efficient to use a prefix form of the operator." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDoxygenSyntaxError", + "shortDescription": { + "text": "Syntax error in doxygen comment" + }, + "fullDescription": { + "text": "Syntax error in a doxygen comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDoxygenUndocumentedParameter", + "shortDescription": { + "text": "Missing function parameter description in a documentation comment" + }, + "fullDescription": { + "text": "Missing function parameter description in a documentation comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDoxygenUnresolvedReference", + "shortDescription": { + "text": "Unresolved reference in doxygen comment" + }, + "fullDescription": { + "text": "Unresolved reference in a doxygen comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEmptyDeclaration", + "shortDescription": { + "text": "Declaration does not declare anything" + }, + "fullDescription": { + "text": "A declaration does not declare anything" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceCVQualifiersOrder", + "shortDescription": { + "text": "Use preferred cv-qualifiers style: Enforce the order of cv-qualifiers" + }, + "fullDescription": { + "text": "Enforce the order of cv-qualifiers" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceCVQualifiersPlacement", + "shortDescription": { + "text": "Use preferred cv-qualifiers style: Enforce the placement of cv-qualifiers" + }, + "fullDescription": { + "text": "Enforce the placement of cv-qualifiers" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceDoStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'do-while' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'do-while' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceForStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'for' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'for' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceFunctionDeclarationStyle", + "shortDescription": { + "text": "Use preferred declaration style: Enforce function declaration style" + }, + "fullDescription": { + "text": "Enforce usage of the trailing return type or the regular return type syntax" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceIfStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'if' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'if' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceNestedNamespacesStyle", + "shortDescription": { + "text": "Use preferred declaration style: Enforce nested namespaces style" + }, + "fullDescription": { + "text": "Enforce the syntax used to define nested namespaces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceOverridingDestructorStyle", + "shortDescription": { + "text": "Use preferred overriding function style: Enforce overriding destructor style" + }, + "fullDescription": { + "text": "Enforce the 'virtual' and 'override' specifiers on overriding destructors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceOverridingFunctionStyle", + "shortDescription": { + "text": "Use preferred overriding function style: Enforce overriding function style" + }, + "fullDescription": { + "text": "Enforce the 'virtual' and 'override' specifiers on overriding functions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceTypeAliasCodeStyle", + "shortDescription": { + "text": "Use preferred declaration style: Enforce type alias code style" + }, + "fullDescription": { + "text": "Enforce usage of typedefs or type aliases depending on the syntax style setting" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnforceWhileStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'while' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'while' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEntityAssignedButNoRead", + "shortDescription": { + "text": "Declarator is only assigned but never accessed" + }, + "fullDescription": { + "text": "A declarator is only assigned but never accessed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEntityUsedOnlyInUnevaluatedContext", + "shortDescription": { + "text": "Declarator is used only in unevaluated context" + }, + "fullDescription": { + "text": "A declarator is used only in unevaluated context" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEnumeratorNeverUsed", + "shortDescription": { + "text": "Enumerator is never used" + }, + "fullDescription": { + "text": "An enumerator is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEqualOperandsInBinaryExpression", + "shortDescription": { + "text": "Binary operator acts on equal operands" + }, + "fullDescription": { + "text": "Binary operator acts on equal operands" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEvaluationFailure", + "shortDescription": { + "text": "Compile-time evaluation failure" + }, + "fullDescription": { + "text": "Expression or declarator value did not evaluate to a constant due to the error during 'constexpr' calculations." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + } + }, + { + "id": "CppEvaluationInternalFailure", + "shortDescription": { + "text": "[INTERNAL] Compile-time evaluation failure" + }, + "fullDescription": { + "text": "Expression or declarator value did not evaluate to a constant due to the error during 'constexpr' calculations." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + } + }, + { + "id": "CppExplicitSpecializationInNonNamespaceScope", + "shortDescription": { + "text": "Explicit specialization in non-namespace scope" + }, + "fullDescription": { + "text": "Explicit specializations of a template in non-namespace scope" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppExpressionWithoutSideEffects", + "shortDescription": { + "text": "Possibly erroneous expression without side-effects" + }, + "fullDescription": { + "text": "Possibly erroneous expression without side-effects" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFinalFunctionInFinalClass", + "shortDescription": { + "text": "Final function in a final class" + }, + "fullDescription": { + "text": "Redundant 'final' specifier on a function in a final class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFinalNonOverridingVirtualFunction", + "shortDescription": { + "text": "Final non-overriding virtual function" + }, + "fullDescription": { + "text": "A virtual function is marked 'final' and does not override a base function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppForLoopCanBeReplacedWithWhile", + "shortDescription": { + "text": "For-loop can be replaced with while-loop" + }, + "fullDescription": { + "text": "For-loop without init-statement and update expression is equivalent to a while-loop" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppForwardEnumDeclarationWithoutUnderlyingType", + "shortDescription": { + "text": "Forward enum declaration without underlying type" + }, + "fullDescription": { + "text": "ISO C++ forbids forward declarations of an enum without an underlying type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFunctionDoesntReturnValue", + "shortDescription": { + "text": "No return statement in a function or a lambda returning non-void" + }, + "fullDescription": { + "text": "No return statement in a function or a lambda with non-void return type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFunctionIsNotImplemented", + "shortDescription": { + "text": "Function is not implemented" + }, + "fullDescription": { + "text": "A function is not implemented" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFunctionResultShouldBeUsed", + "shortDescription": { + "text": "Function result should be used" + }, + "fullDescription": { + "text": "Function returns a value of a type that should be handled at the call site" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppFunctionalStyleCast", + "shortDescription": { + "text": "Functional-style cast is used instead of a C++ cast" + }, + "fullDescription": { + "text": "Functional-style cast is used instead of a C++ cast" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-casts-named", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-casts-named" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppHeaderHasBeenAlreadyIncluded", + "shortDescription": { + "text": "Guarded header has already been included" + }, + "fullDescription": { + "text": "Guarded header has already been included" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppHiddenFunction", + "shortDescription": { + "text": "Non-virtual class member function hidden in a derived class" + }, + "fullDescription": { + "text": "Non-virtual class member function is hidden in a derived class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-reuse", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-reuse" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppHidingFunction", + "shortDescription": { + "text": "Class member function hiding a non-virtual function from a base class" + }, + "fullDescription": { + "text": "Class member function hides a non-virtual function from a base class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-reuse", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-reuse" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIdenticalOperandsInBinaryExpression", + "shortDescription": { + "text": "Binary operator acts on identical operands" + }, + "fullDescription": { + "text": "Binary operator acts on identical operands" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIfCanBeReplacedByConstexprIf", + "shortDescription": { + "text": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "fullDescription": { + "text": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppImplicitDefaultConstructorNotAvailable", + "shortDescription": { + "text": "Implicit default constructor is not available" + }, + "fullDescription": { + "text": "Implicit default constructor is not available because a base class or a class member does not have an accessible default constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIncompatiblePointerConversion", + "shortDescription": { + "text": "Implicit conversion to incompatible pointer type" + }, + "fullDescription": { + "text": "Implicit conversion to incompatible pointer type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIncompleteSwitchStatement", + "shortDescription": { + "text": "Possibly erroneous incomplete switch-statement" + }, + "fullDescription": { + "text": "The switch statement doesn't cover the whole range of the enumeration used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppInconsistentNaming", + "shortDescription": { + "text": "Inconsistent Naming" + }, + "fullDescription": { + "text": "Name doesn't match naming style defined for this kind of symbol" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIncorrectBlankLinesNearBraces", + "shortDescription": { + "text": "Incorrect blank lines: Incorrect number of blank lines near braces" + }, + "fullDescription": { + "text": "Incorrect blank lines: Incorrect number of blank lines near braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppInitializedValueIsAlwaysRewritten", + "shortDescription": { + "text": "Declarator is reassigned in all paths before being read" + }, + "fullDescription": { + "text": "A declarator is reassigned in all paths before being read" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIntegralToPointerConversion", + "shortDescription": { + "text": "Implicit integer to pointer conversion" + }, + "fullDescription": { + "text": "Implicit integer to pointer conversion" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppInvalidLineContinuation", + "shortDescription": { + "text": "Backslash and newline are separated by space" + }, + "fullDescription": { + "text": "Backslash is not a line continuator because there is a space between it and the end of the line" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppJoinDeclarationAndAssignment", + "shortDescription": { + "text": "Declaration and assignment can be joined" + }, + "fullDescription": { + "text": "Declaration of a variable and assignment to it can be joined" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-init", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-init" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLambdaCaptureNeverUsed", + "shortDescription": { + "text": "Lambda capture is never used" + }, + "fullDescription": { + "text": "A lambda capture is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLocalVariableMayBeConst", + "shortDescription": { + "text": "Local variable can be made const" + }, + "fullDescription": { + "text": "Local variable can be made const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-const", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-const" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLocalVariableMightNotBeInitialized", + "shortDescription": { + "text": "Local variable might not be initialized" + }, + "fullDescription": { + "text": "A local variable might not be initialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLocalVariableWithNonTrivialDtorIsNeverUsed", + "shortDescription": { + "text": "Local variable is never used, but may have side-effects in its destructor" + }, + "fullDescription": { + "text": "Local variable is never used, but may have side-effects in its destructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppLongFloat", + "shortDescription": { + "text": "'long' floats are not allowed by the C++ standard" + }, + "fullDescription": { + "text": "Declaration specifier 'long' cannot be combined with 'float'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMemberFunctionMayBeConst", + "shortDescription": { + "text": "Member function can be made const" + }, + "fullDescription": { + "text": "Member function can be made const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-fct", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-fct" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMemberFunctionMayBeStatic", + "shortDescription": { + "text": "Member function can be made static" + }, + "fullDescription": { + "text": "Member function can be made static" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMemberInitializersOrder", + "shortDescription": { + "text": "Use preferred initialization style: Order of member initializers does not match the initialization order" + }, + "fullDescription": { + "text": "Order of member initializers does not match the initialization order" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-order", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-order" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMismatchedClassTags", + "shortDescription": { + "text": "Mismatched class tags" + }, + "fullDescription": { + "text": "Tags of the declared class do not match previous declarations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingBlankLines", + "shortDescription": { + "text": "Incorrect blank lines: Blank lines are missing elsewhere" + }, + "fullDescription": { + "text": "Incorrect blank lines: Blank lines are missing elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingIncludeGuard", + "shortDescription": { + "text": "Missing include guard" + }, + "fullDescription": { + "text": "Include guard is not found at the beginning of a header file" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-guards", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-guards" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingIndent", + "shortDescription": { + "text": "Incorrect indent: Missing indent/outdent elsewhere" + }, + "fullDescription": { + "text": "Incorrect indent: Missing indent/outdent elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingKeywordThrow", + "shortDescription": { + "text": "May be missing keyword 'throw'" + }, + "fullDescription": { + "text": "Object of exception type is created, but is not thrown" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingLinebreak", + "shortDescription": { + "text": "Incorrect line breaks: Line break is missing elsewhere" + }, + "fullDescription": { + "text": "Incorrect line breaks: Line break is missing elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingSpace", + "shortDescription": { + "text": "Incorrect spacing: Space is missing elsewhere" + }, + "fullDescription": { + "text": "Incorrect spacing: Space is missing elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppModulePartitionWithSeveralPartitionUnits", + "shortDescription": { + "text": "Module partition with several partition units" + }, + "fullDescription": { + "text": "A module partition cannot have several partition units according to the C++ standard" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtAddressOfClassRValue", + "shortDescription": { + "text": "Taking an address of class r-value is non-standard Microsoft C++ extension" + }, + "fullDescription": { + "text": "Taking an address of class r-value is non-standard Microsoft C++ extension" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtBindingRValueToLvalueReference", + "shortDescription": { + "text": "Binding r-value to l-value reference is non-standard Microsoft C++ extension" + }, + "fullDescription": { + "text": "Binding r-value to l-value reference is non-standard Microsoft C++ extension" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtCopyElisionInCopyInitDeclarator", + "shortDescription": { + "text": "Call of deleted copy constructor elided during copy-initialization. This is non-standard Microsoft C++ extension." + }, + "fullDescription": { + "text": "Call of deleted copy constructor elided during copy-initialization. This is non-standard Microsoft C++ extension." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtDoubleUserConversionInCopyInit", + "shortDescription": { + "text": "More than one implicit conversion applied during copy-initialization. This is non-standard Microsoft C++ extension." + }, + "fullDescription": { + "text": "More than one implicit conversion applied during copy-initialization. This is non-standard Microsoft C++ extension." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtNotInitializedStaticConstLocalVar", + "shortDescription": { + "text": "Not initialized static const local variable of scalar type. This is non-standard Microsoft C++ extension." + }, + "fullDescription": { + "text": "Not initialized static const local variable of scalar type. This is non-standard Microsoft C++ extension." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMsExtReinterpretCastFromNullptr", + "shortDescription": { + "text": "Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension" + }, + "fullDescription": { + "text": "Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMultiCharacterLiteral", + "shortDescription": { + "text": "Multi-character character literal" + }, + "fullDescription": { + "text": "Multi-character character literal" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMultiCharacterWideLiteral", + "shortDescription": { + "text": "Multi-character wide character literal" + }, + "fullDescription": { + "text": "Multi-character wide character literal" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMultipleSpaces", + "shortDescription": { + "text": "Incorrect spacing: Multiple spaces are prohibited" + }, + "fullDescription": { + "text": "Incorrect spacing: Multiple spaces are prohibited" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMustBePublicVirtualToImplementInterface", + "shortDescription": { + "text": "Method must be public and virtual to implement a C++/CLI interface member" + }, + "fullDescription": { + "text": "Method must be public and virtual to implement a C++/CLI interface member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMutableSpecifierOnReferenceMember", + "shortDescription": { + "text": "Reference class member with 'mutable' specifier" + }, + "fullDescription": { + "text": "Reference class members cannot have 'mutable' specifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNoDiscardExpression", + "shortDescription": { + "text": "Result of nodiscard function is not used" + }, + "fullDescription": { + "text": "Result of nodiscard function is not used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNodiscardFunctionWithoutReturnValue", + "shortDescription": { + "text": "[[nodiscard]] cannot be applied to functions without a return value" + }, + "fullDescription": { + "text": "The [[nodiscard]] attribute cannot be applied to functions without a return value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonExceptionSafeResourceAcquisition", + "shortDescription": { + "text": "Non-safe resource acquisition" + }, + "fullDescription": { + "text": "Detects leak-prone resource acquisition/freeing constructs" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonExplicitConversionOperator", + "shortDescription": { + "text": "Non-explicit conversion operator" + }, + "fullDescription": { + "text": "Non-explicit conversion operator" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Ro-conversion", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Ro-conversion" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonExplicitConvertingConstructor", + "shortDescription": { + "text": "Non-explicit converting constructor" + }, + "fullDescription": { + "text": "Non-explicit converting constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-explicit", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-explicit" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonInlineFunctionDefinitionInHeaderFile", + "shortDescription": { + "text": "Non-inline function definition in a header file" + }, + "fullDescription": { + "text": "A function definition in a header file that will lead to a multiple definition linkage error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-inline", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-inline" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonInlineVariableDefinitionInHeaderFile", + "shortDescription": { + "text": "Non-inline variable definition in a header file" + }, + "fullDescription": { + "text": "A variable definition in a header file that will lead to a multiple definition linkage error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-inline", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-inline" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNotAllPathsReturnValue", + "shortDescription": { + "text": "Not all control paths return a value" + }, + "fullDescription": { + "text": "Not all control paths inside a function or a lambda return a value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppObjectMemberMightNotBeInitialized", + "shortDescription": { + "text": "Object member might not be initialized" + }, + "fullDescription": { + "text": "An object member might not be initialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppOutParameterMustBeWritten", + "shortDescription": { + "text": "The 'out' parameter must be assigned" + }, + "fullDescription": { + "text": "In HLSL 'out' parameters must be assigned before exiting the function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppOutdentIsOffPrevLevel", + "shortDescription": { + "text": "Incorrect indent: Indent level is not restored" + }, + "fullDescription": { + "text": "Incorrect indent: Indent level is not restored" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppOverrideWithDifferentVisibility", + "shortDescription": { + "text": "Overriding function visibility differs from the base function" + }, + "fullDescription": { + "text": "Overriding function has different visibility than the base function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterMayBeConst", + "shortDescription": { + "text": "Parameter can be made const" + }, + "fullDescription": { + "text": "Parameter can be made const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-immutable", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-immutable" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterMayBeConstPtrOrRef", + "shortDescription": { + "text": "Parameter can be made pointer/reference to const" + }, + "fullDescription": { + "text": "Parameter can be made pointer/reference to const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-ref", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-ref" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterNamesMismatch", + "shortDescription": { + "text": "Parameter names do not match" + }, + "fullDescription": { + "text": "Parameter names differ in different declarations of the same function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterNeverUsed", + "shortDescription": { + "text": "Parameter is never used" + }, + "fullDescription": { + "text": "Function parameter is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-unused", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-unused" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterValueIsReassigned", + "shortDescription": { + "text": "Parameter is always rewritten in function body before being read" + }, + "fullDescription": { + "text": "A parameter is always rewritten in function body before being read" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPassValueParameterByConstReference", + "shortDescription": { + "text": "Pass value parameters by const reference" + }, + "fullDescription": { + "text": "Parameter of a type that is expensive to copy is passed by value, but it can be passed by const reference instead" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-in", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-in" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPointerConversionDropsQualifiers", + "shortDescription": { + "text": "Implicit conversion to pointer type with loss of qualifiers" + }, + "fullDescription": { + "text": "Implicit conversion to pointer type with loss of qualifiers" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPointerToIntegralConversion", + "shortDescription": { + "text": "Implicit pointer to integer conversion" + }, + "fullDescription": { + "text": "Implicit pointer to integer conversion" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPolymorphicClassWithNonVirtualPublicDestructor", + "shortDescription": { + "text": "Polymorphic class with non-virtual public destructor" + }, + "fullDescription": { + "text": "A polymorphic class with a non-virtual public destructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-dtor-virtual", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-dtor-virtual" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPossiblyErroneousEmptyStatements", + "shortDescription": { + "text": "Possibly erroneous empty statement" + }, + "fullDescription": { + "text": "Possibly erroneous empty statement used in a control statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPossiblyUninitializedMember", + "shortDescription": { + "text": "Possibly uninitialized class member" + }, + "fullDescription": { + "text": "Class constructor does not initialize a field explicitly or implicitly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPossiblyUnintendedObjectSlicing", + "shortDescription": { + "text": "Possibly unintended object slicing" + }, + "fullDescription": { + "text": "Possibly unintended object slicing" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrecompiledHeaderIsNotIncluded", + "shortDescription": { + "text": "Precompiled header is not included" + }, + "fullDescription": { + "text": "Precompiled header must be included at the top of source file" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrecompiledHeaderNotFound", + "shortDescription": { + "text": "Precompiled header is not found" + }, + "fullDescription": { + "text": "No corresponding file with the 'Precompiled Header' property set to 'Create' (/Yc) is found" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfBadFormat", + "shortDescription": { + "text": "Invalid printf format specifier" + }, + "fullDescription": { + "text": "Format string contains an invalid printf format specifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfExtraArg", + "shortDescription": { + "text": "Too many arguments in a call to printf" + }, + "fullDescription": { + "text": "Too many arguments in a call to printf. Some of the arguments are not used." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfMissedArg", + "shortDescription": { + "text": "Not enough arguments in a call to printf" + }, + "fullDescription": { + "text": "Not enough arguments in a call to printf. Some format directives do not have matching arguments." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfRiskyFormat", + "shortDescription": { + "text": "Possibly invalid printf format specifier" + }, + "fullDescription": { + "text": "Format string contains a potential error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrivateSpecialMemberFunctionIsNotImplemented", + "shortDescription": { + "text": "Private special member function is not implemented" + }, + "fullDescription": { + "text": "A private special member function must be defined or deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRangeBasedForIncompatibleReference", + "shortDescription": { + "text": "Possibly unintended incompatible reference type in range declaration" + }, + "fullDescription": { + "text": "Using an incompatible reference type in the range declaration is likely to cause unwanted object copying" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedefinitionOfDefaultArgumentInOverrideFunction", + "shortDescription": { + "text": "Override function redefines a default parameter argument" + }, + "fullDescription": { + "text": "An override function redefines a default parameter argument, previously defined in a base function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rh-virtual-default-arg", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rh-virtual-default-arg" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantAccessSpecifier", + "shortDescription": { + "text": "Access specifier does not change accessibility level" + }, + "fullDescription": { + "text": "An access specifier does not change the accessibility level and is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/CppRedundantAccessSpecifier.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/CppRedundantAccessSpecifier.html" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantBaseClassAccessSpecifier", + "shortDescription": { + "text": "Redundant base class access specifier" + }, + "fullDescription": { + "text": "Redundant base class access specifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantBaseClassInitializer", + "shortDescription": { + "text": "Redundant base class initializer" + }, + "fullDescription": { + "text": "Redundant base class initializer in a member initializer list" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantBlankLines", + "shortDescription": { + "text": "Incorrect blank lines: Blank lines are redundant elsewhere" + }, + "fullDescription": { + "text": "Incorrect blank lines: Blank lines are redundant elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantBooleanExpressionArgument", + "shortDescription": { + "text": "Redundant argument in conditional expression" + }, + "fullDescription": { + "text": "Redundant argument in conditional expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantCastExpression", + "shortDescription": { + "text": "Redundant cast expression" + }, + "fullDescription": { + "text": "Cast is redundant and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantComplexityInComparison", + "shortDescription": { + "text": "Expression can be simplified" + }, + "fullDescription": { + "text": "Expression can be simplified" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantConditionalExpression", + "shortDescription": { + "text": "Redundant conditional expression" + }, + "fullDescription": { + "text": "Redundant conditional expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantConstSpecifier", + "shortDescription": { + "text": "Redundant 'const' specifier" + }, + "fullDescription": { + "text": "The 'const' specifier on a variable definition is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantControlFlowJump", + "shortDescription": { + "text": "Redundant control flow jump statement" + }, + "fullDescription": { + "text": "Redundant control flow jump statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantDereferencingAndTakingAddress", + "shortDescription": { + "text": "Redundant dereferencing and taking address" + }, + "fullDescription": { + "text": "Redundant dereferencing and taking address" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantElaboratedTypeSpecifier", + "shortDescription": { + "text": "Redundant elaborated type specifier" + }, + "fullDescription": { + "text": "Elaborated type specifier is redundant and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantElseKeyword", + "shortDescription": { + "text": "Redundant 'else' keyword" + }, + "fullDescription": { + "text": "Redundant 'else' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantElseKeywordInsideCompoundStatement", + "shortDescription": { + "text": "Redundant 'else' keyword inside compound statement" + }, + "fullDescription": { + "text": "Redundant 'else' keyword inside compound statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantEmptyDeclaration", + "shortDescription": { + "text": "Redundant empty declaration" + }, + "fullDescription": { + "text": "Redundant empty declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantEmptyStatement", + "shortDescription": { + "text": "Redundant empty statement" + }, + "fullDescription": { + "text": "Redundant empty statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantExportKeyword", + "shortDescription": { + "text": "Keyword 'export' is redundant, because there is enclosing export declaration" + }, + "fullDescription": { + "text": "Keyword 'export' is redundant, because there is enclosing export declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantFwdClassOrEnumSpecifier", + "shortDescription": { + "text": "Redundant forward declaration" + }, + "fullDescription": { + "text": "Redundant forward declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantInlineSpecifier", + "shortDescription": { + "text": "Redundant 'inline' specifier" + }, + "fullDescription": { + "text": "The 'inline' specifier on a function definition is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantLambdaParameterList", + "shortDescription": { + "text": "Redundant parameter list in lambda declarator" + }, + "fullDescription": { + "text": "Empty parameter list in lambda declarator can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantLinebreak", + "shortDescription": { + "text": "Incorrect line breaks: Line break is redundant elsewhere" + }, + "fullDescription": { + "text": "Incorrect line breaks: Line break is redundant elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantMemberInitializer", + "shortDescription": { + "text": "Redundant member initializer in constructor initialization list" + }, + "fullDescription": { + "text": "Redundant member initializer in constructor initialization list" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantNamespaceDefinition", + "shortDescription": { + "text": "Namespace definition containing single class specialization" + }, + "fullDescription": { + "text": "Don't introduce a namespace definition only for class specialization, specialization can be defined using qualified class name" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantParentheses", + "shortDescription": { + "text": "Redundant parentheses" + }, + "fullDescription": { + "text": "Parentheses do not change the order of operations and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantQualifier", + "shortDescription": { + "text": "Redundant qualifier" + }, + "fullDescription": { + "text": "Qualifier is redundant and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantQualifierADL", + "shortDescription": { + "text": "Redundant qualifier (ADL)" + }, + "fullDescription": { + "text": "Qualifier is redundant (because of ADL) and can be deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantSpace", + "shortDescription": { + "text": "Incorrect spacing: Space is redundant elsewhere" + }, + "fullDescription": { + "text": "Incorrect spacing: Space is redundant elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantStaticSpecifierOnMemberAllocationFunction", + "shortDescription": { + "text": "Redundant 'static' specifier on a member allocation/deallocation function" + }, + "fullDescription": { + "text": "The 'static' specifier is optional for member allocation/deallocation functions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantStaticSpecifierOnThreadLocalLocalVariable", + "shortDescription": { + "text": "Redundant 'static' specifier on a 'thread_local' local variable" + }, + "fullDescription": { + "text": "Redundant 'static' specifier on a 'thread_local' local variable" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantTemplateArguments", + "shortDescription": { + "text": "Redundant template arguments" + }, + "fullDescription": { + "text": "Redundant template arguments" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantTemplateKeyword", + "shortDescription": { + "text": "Redundant 'template' keyword" + }, + "fullDescription": { + "text": "Redundant 'template' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantTypenameKeyword", + "shortDescription": { + "text": "Redundant 'typename' keyword" + }, + "fullDescription": { + "text": "Redundant 'typename' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantVoidArgumentList", + "shortDescription": { + "text": "Redundant void argument list" + }, + "fullDescription": { + "text": "Redundant void argument list" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantZeroInitializerInAggregateInitialization", + "shortDescription": { + "text": "Redundant zero initializer in aggregate initialization" + }, + "fullDescription": { + "text": "Redundant zero initializer in aggregate initialization" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppReinterpretCastFromVoidPtr", + "shortDescription": { + "text": "reinterpret_cast is used instead of static_cast" + }, + "fullDescription": { + "text": "reinterpret_cast is used instead of static_cast" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRemoveRedundantBraces", + "shortDescription": { + "text": "Use preferred braces style: Remove redundant braces" + }, + "fullDescription": { + "text": "Braces can be safely removed without changing code semantics" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppReplaceMemsetWithZeroInitialization", + "shortDescription": { + "text": "Zero initialization can be used instead of memset" + }, + "fullDescription": { + "text": "Zero initialization can be used instead of memset" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-memset", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-memset" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppReplaceTieWithStructuredBinding", + "shortDescription": { + "text": "Structured bindings can be used instead of tie(..)" + }, + "fullDescription": { + "text": "Structured bindings can be used instead of tie(..)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppReturnNoValueInNonVoidFunction", + "shortDescription": { + "text": "A function or a lambda with non-void return type should return a value" + }, + "fullDescription": { + "text": "A function or a lambda with non-void return type should return a value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppSmartPointerVsMakeFunction", + "shortDescription": { + "text": "Constructor of smart pointer is used instead of its make function" + }, + "fullDescription": { + "text": "Constructor of a smart pointer (boost/std::shared_ptr/unique_ptr) is used instead of the corresponding make_shared/make_unique.\r\n Make functions are exception-safe and more efficient." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppSomeObjectMembersMightNotBeInitialized", + "shortDescription": { + "text": "Some object members might not be initialized" + }, + "fullDescription": { + "text": "Some object members might not be initialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppSpecialFunctionWithoutNoexceptSpecification", + "shortDescription": { + "text": "Special function without noexcept specification" + }, + "fullDescription": { + "text": "Special function does not have any noexcept specification" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-noexcept", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rf-noexcept" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppStaticAssertFailure", + "shortDescription": { + "text": "static_assert failed" + }, + "fullDescription": { + "text": "static_assert failed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppStaticDataMemberInUnnamedStruct", + "shortDescription": { + "text": "Static data member in an anonymous class is not allowed by the C++ standard" + }, + "fullDescription": { + "text": "Static data members are not allowed in anonymous classes" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppStaticSpecifierOnAnonymousNamespaceMember", + "shortDescription": { + "text": "Redundant 'static' specifier on an anonymous namespace member" + }, + "fullDescription": { + "text": "Redundant 'static' specifier on an anonymous namespace member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppStringLiteralToCharPointerConversion", + "shortDescription": { + "text": "String literal to char pointer conversion" + }, + "fullDescription": { + "text": "String literal to char pointer conversion" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTabsAndSpacesMismatch", + "shortDescription": { + "text": "Incorrect indent: Tabs/spaces mismatch" + }, + "fullDescription": { + "text": "Incorrect indent: Tabs/spaces mismatch" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTabsAreDisallowed", + "shortDescription": { + "text": "Incorrect spacing: Tabs are prohibited" + }, + "fullDescription": { + "text": "Prohibits the use of tabulation character everywhere in file" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTabsOutsideIndent", + "shortDescription": { + "text": "Incorrect spacing: Tabs are prohibited except for indentation" + }, + "fullDescription": { + "text": "Incorrect spacing: Tabs are prohibited except for indentation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTemplateArgumentsCanBeDeduced", + "shortDescription": { + "text": "Template arguments can be deduced" + }, + "fullDescription": { + "text": "Template arguments can be deduced" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTemplateParameterNeverUsed", + "shortDescription": { + "text": "Template parameter is never used" + }, + "fullDescription": { + "text": "A template parameter is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTemplateParameterShadowing", + "shortDescription": { + "text": "Redeclaration of a template parameter from an outer scope" + }, + "fullDescription": { + "text": "A template parameter from an outer scope is shadowed by a declaration with the same name" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppThisArgMemberFuncDelegateCtorIsUnsuportedByDotNetCore", + "shortDescription": { + "text": "Delegate constructors with a member pointer parameter are unsupported by .NET Core" + }, + "fullDescription": { + "text": "Delegate constructors with a member pointer parameter are unsupported by .NET Core. Use a pointer to e.g. static function instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP..NET Core" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppThrowExpressionCanBeReplacedWithRethrow", + "shortDescription": { + "text": "Throw expression can be replaced with a rethrow expression" + }, + "fullDescription": { + "text": "Throw expression can be replaced with a rethrow expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTooWideScope", + "shortDescription": { + "text": "Variable can be moved to inner scope" + }, + "fullDescription": { + "text": "Don't introduce a variable before you need to use it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-introduce", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-introduce" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTooWideScopeInitStatement", + "shortDescription": { + "text": "Variable can be moved to init statement" + }, + "fullDescription": { + "text": "Don't introduce a variable before you need to use it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-introduce", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-introduce" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTypeAliasNeverUsed", + "shortDescription": { + "text": "Type alias is never used" + }, + "fullDescription": { + "text": "A type alias is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUE4BlueprintCallableFunctionMayBeConst", + "shortDescription": { + "text": "BlueprintCallable function can be made const" + }, + "fullDescription": { + "text": "BlueprintCallable function can be made const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUE4BlueprintCallableFunctionMayBeStatic", + "shortDescription": { + "text": "BlueprintCallable function can be made static" + }, + "fullDescription": { + "text": "BlueprintCallable function can be made static" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUE4CodingStandardNamingViolationWarning", + "shortDescription": { + "text": "Inconsistent Unreal Engine Naming" + }, + "fullDescription": { + "text": "Name doesn't match the Unreal Engine's coding standard naming style. Learn more…" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUE4CodingStandardUClassNamingViolationError", + "shortDescription": { + "text": "Inconsistent Unreal Engine UCLASS Naming" + }, + "fullDescription": { + "text": "Class is declared with UCLASS or USTRUCT macro but its name doesn't match the Unreal Engine's coding standard naming style; this will lead to a build error. This inspection includes three rules: classes inherited from AActor must be prefixed by 'A', classes inherited from UObject must be prefixed by 'U', and USTRUCTS must be prefixed by 'F'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUE4ProbableMemoryIssuesWithUObject", + "shortDescription": { + "text": "Non-UProperty object member can be destroyed during garbage collection, resulting in a stale pointer" + }, + "fullDescription": { + "text": "Non-UProperty object member can be destroyed during garbage collection, resulting in a stale pointer" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUE4ProbableMemoryIssuesWithUObjectsInContainer", + "shortDescription": { + "text": "Objects stored in non-uproperty member can be destroyed during garbage collection, resulting in stale pointers" + }, + "fullDescription": { + "text": "Objects stored in non-uproperty member can be destroyed during garbage collection, resulting in stale pointers" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUEBlueprintCallableFunctionUnused", + "shortDescription": { + "text": "BlueprintCallable function is never used in Blueprint or C++ code" + }, + "fullDescription": { + "text": "BlueprintCallable function is never used in Blueprint or C++ code" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUEBlueprintImplementableEventNotImplemented", + "shortDescription": { + "text": "BlueprintImplementableEvent function is not implemented in any blueprint" + }, + "fullDescription": { + "text": "BlueprintImplementableEvent function is not implemented in any blueprint" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUEIncorrectEngineDirectory", + "shortDescription": { + "text": "Specified version of the engine project is not found" + }, + "fullDescription": { + "text": "Location of engine project does not correspond to the version of engine targeted by uproject. You might need to regenerate the project files." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUEMissingStructMember", + "shortDescription": { + "text": "Struct is missing a member required by TStructOpsTypeTraits" + }, + "fullDescription": { + "text": "Struct is missing a member required by TStructOpsTypeTraits" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUEMissingSuperCall", + "shortDescription": { + "text": "Missing call to a function from the Super class" + }, + "fullDescription": { + "text": "Missing call to a function from the Super class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUENonExistentInputAction", + "shortDescription": { + "text": "Action with this name does not exist" + }, + "fullDescription": { + "text": "Action with this name does not exist" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUENonExistentInputAxis", + "shortDescription": { + "text": "Axis with this name does not exist" + }, + "fullDescription": { + "text": "Axis with this name does not exist" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUESourceFileWithoutPredefinedMacros", + "shortDescription": { + "text": "Unreal Engine source file without predefined Unreal macros" + }, + "fullDescription": { + "text": "There are no Unreal Engine predefined macros in the project model for the current source file. You might need to regenerate the project files." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUESourceFileWithoutStandardLibrary", + "shortDescription": { + "text": "C/C++ standard library headers not found" + }, + "fullDescription": { + "text": "C++ standard library headers cannot be resolved in an Unreal Engine source file. You might need to regenerate the project files." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUEVersionFileDoesntExist", + "shortDescription": { + "text": "Unreal Engine version file does not exist" + }, + "fullDescription": { + "text": "Unreal Engine version file specified in UE4.vcxproj does not exist. You might need to regenerate the project files." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUFunctionMacroCallHasNoEffect", + "shortDescription": { + "text": "UFUNCTION macro call has no effect" + }, + "fullDescription": { + "text": "UFUNCTION macro call has no effect outside of UCLASS, USTRUCT or IInterface" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUPropertyMacroCallHasNoEffect", + "shortDescription": { + "text": "UPROPERTY macro call has no effect" + }, + "fullDescription": { + "text": "UPROPERTY macro call has no effect outside of UCLASS or USTRUCT" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUninitializedDependentBaseClass", + "shortDescription": { + "text": "Uninitialized dependent base class" + }, + "fullDescription": { + "text": "Possibly uninitialized dependent base class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUninitializedNonStaticDataMember", + "shortDescription": { + "text": "Non-static data member is uninitialized" + }, + "fullDescription": { + "text": "Non-static data member is uninitialized" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnionMemberOfReferenceType", + "shortDescription": { + "text": "Union member of reference type" + }, + "fullDescription": { + "text": "Unions cannot contain non-static data members of reference types" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnmatchedPragmaEndRegionDirective", + "shortDescription": { + "text": "Missing a matching '#pragma region' directive" + }, + "fullDescription": { + "text": "A '#pragma endregion' directive is missing a matching '#pragma region' directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnmatchedPragmaRegionDirective", + "shortDescription": { + "text": "Missing a matching '#pragma endregion' directive" + }, + "fullDescription": { + "text": "A '#pragma region' directive is missing a matching '#pragma endregion' directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnnamedNamespaceInHeaderFile", + "shortDescription": { + "text": "Unnamed namespace in a header file" + }, + "fullDescription": { + "text": "Unnamed namespaces should not be used in header files" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-unnamed", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rs-unnamed" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnnecessaryWhitespace", + "shortDescription": { + "text": "Incorrect spacing: Redundant whitespaces at the end of a line" + }, + "fullDescription": { + "text": "Redundant whitespace characters at the end of a line" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnreachableCode", + "shortDescription": { + "text": "Unreachable code" + }, + "fullDescription": { + "text": "Unreachable code" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnsignedZeroComparison", + "shortDescription": { + "text": "Comparison of unsigned expression with 0" + }, + "fullDescription": { + "text": "Comparison of unsigned expression with 0" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUnusedIncludeDirective", + "shortDescription": { + "text": "Possibly unused #include directive" + }, + "fullDescription": { + "text": "Possibly unused #include directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAlgorithmWithCount", + "shortDescription": { + "text": "Algorithm accepting an iterator and a count can be used" + }, + "fullDescription": { + "text": "A standard algorithm accepting range iterators is used instead of the variant accepting an iterator and a count" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAssociativeContains", + "shortDescription": { + "text": "'contains' member function can be used" + }, + "fullDescription": { + "text": "'contains' member function can be used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAuto", + "shortDescription": { + "text": "Use preferred 'auto' style: Type can be replaced with auto" + }, + "fullDescription": { + "text": "Type can be replaced with 'auto'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAutoForNumeric", + "shortDescription": { + "text": "Use preferred 'auto' style: Numeric type can be replaced with auto" + }, + "fullDescription": { + "text": "A numeric type can be replaced with 'auto'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseElementsView", + "shortDescription": { + "text": "std::views::keys/values can be used" + }, + "fullDescription": { + "text": "For example, when iterating on key-value pairs, std::views::keys\r\n allows ignoring the values." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseEraseAlgorithm", + "shortDescription": { + "text": "'std::erase'/'std::erase_if' can be used instead of the remove-erase idiom" + }, + "fullDescription": { + "text": "'std::erase'/'std::erase_if' can be used instead of the remove-erase idiom" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseFamiliarTemplateSyntaxForGenericLambdas", + "shortDescription": { + "text": "Lambda can be rewritten to use explicit template parameters" + }, + "fullDescription": { + "text": "Lambda can be rewritten to use explicit template parameters" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseOfUndeclaredClass", + "shortDescription": { + "text": "Use of a class that has not been declared previously" + }, + "fullDescription": { + "text": "Use of a class that has not been declared previously" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.Unreal Engine" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseRangeAlgorithm", + "shortDescription": { + "text": "Algorithm operating on ranges can be used" + }, + "fullDescription": { + "text": "Algorithm accepting iterators is used instead of the corresponding algorithm from std::ranges" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseStdSize", + "shortDescription": { + "text": "std::size can be used" + }, + "fullDescription": { + "text": "std::size is a type safe alternative to C idiom for array size calculation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseStructuredBinding", + "shortDescription": { + "text": "Structured bindings can be used" + }, + "fullDescription": { + "text": "Structured bindings can be used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseTypeTraitAlias", + "shortDescription": { + "text": "Type trait can be simplified using a template alias or a variable template" + }, + "fullDescription": { + "text": "A type trait can be simplified using a template alias or a variable template" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUserDefinedLiteralSuffixDoesNotStartWithUnderscore", + "shortDescription": { + "text": "User-defined literal suffixes must start with an underscore" + }, + "fullDescription": { + "text": "User-defined literal suffixes must start with an underscore. The suffixes that do not begin with an underscore are reserved for the literal operators provided by the standard library." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUsingResultOfAssignmentAsCondition", + "shortDescription": { + "text": "Result of assignment is used as condition" + }, + "fullDescription": { + "text": "Result of assignment is used as condition" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppVariableCanBeMadeConstexpr", + "shortDescription": { + "text": "Variable can be made constexpr" + }, + "fullDescription": { + "text": "Variable can be made constexpr" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-constexpr", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rconst-constexpr" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppVirtualFunctionCallInsideCtor", + "shortDescription": { + "text": "Call to a virtual function inside a constructor/destructor is resolved at compile time" + }, + "fullDescription": { + "text": "Call to a virtual function inside a constructor/destructor is resolved at compile time" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-ctor-virtual", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Rc-ctor-virtual" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppVirtualFunctionInFinalClass", + "shortDescription": { + "text": "Declaration of a non-overriding virtual function in a final or sealed class" + }, + "fullDescription": { + "text": "A non-overriding virtual function in a final or sealed class cannot be overridden, so the 'virtual' specifier is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppVolatileParameterInDeclaration", + "shortDescription": { + "text": "Volatile-qualified parameter in a function declaration" + }, + "fullDescription": { + "text": "Volatile-qualification of parameters has an effect only in function definitions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWarningDirective", + "shortDescription": { + "text": "#warning directive" + }, + "fullDescription": { + "text": "#warning preprocessor directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWrongIncludesOrder", + "shortDescription": { + "text": "Use preferred include directive style: Order of #include directives does not match code style settings" + }, + "fullDescription": { + "text": "Order of #include directives does not match code style settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWrongIndentSize", + "shortDescription": { + "text": "Incorrect indent: Incorrect indent size" + }, + "fullDescription": { + "text": "Incorrect indent: Incorrect indent size" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWrongSlashesInIncludeDirective", + "shortDescription": { + "text": "Use preferred include directive style: Slash symbol used in #include directive does not match code style settings" + }, + "fullDescription": { + "text": "Slash symbol used in #include directive does not match code style settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppZeroConstantCanBeReplacedWithNullptr", + "shortDescription": { + "text": "Zero constant can be replaced with nullptr" + }, + "fullDescription": { + "text": "Zero constant can be replaced with nullptr" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-nullptr", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-nullptr" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppZeroValuedExpressionUsedAsNullPointer", + "shortDescription": { + "text": "Expression that evaluates to zero is used as a null pointer constant" + }, + "fullDescription": { + "text": "Expression that evaluates to zero is used as a null pointer constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-nullptr", + "help": { + "text": "https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Res-nullptr" + }, + "relationships": [ + { + "target": { + "id": "CPP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CqrsDebug", + "shortDescription": { + "text": "CqrsDebug" + }, + "fullDescription": { + "text": "CqrsDebug" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + } + }, + { + "id": "CqrsNamingRecommendation", + "shortDescription": { + "text": "Inconsistent naming of CQRS entity" + }, + "fullDescription": { + "text": "CQRS entities that follow the naming convention can be identified without relying on attributes" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + } + }, + { + "id": "DefaultStructEqualityIsUsed.Global", + "shortDescription": { + "text": "Struct with default equality members is used for comparison: Non-private accessibility" + }, + "fullDescription": { + "text": "Default implementations of the 'Equals' and 'GetHashCode' methods of a struct are based on reflection and perform poorly. To prevent boxing and improve performance, overriding the equality members is recommended. This inspection only triggers if the struct or its containing type (such as record) is actually used for equality comparisons in the solution." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DefaultStructEqualityIsUsed.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DefaultStructEqualityIsUsed.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DefaultStructEqualityIsUsed.Local", + "shortDescription": { + "text": "Struct with default equality members is used for comparison: Private accessibility" + }, + "fullDescription": { + "text": "Default implementations of the 'Equals' and 'GetHashCode' methods of a struct are based on reflection and perform poorly. To prevent boxing and improve performance, overriding the equality members is recommended. This inspection only triggers if the struct or its containing type (such as record) is actually used for equality comparisons in the solution." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DefaultStructEqualityIsUsed.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DefaultStructEqualityIsUsed.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DefaultValueAttributeForOptionalParameter", + "shortDescription": { + "text": "Possibly misleading 'DefaultValueAttribute' usage to define optional parameter value" + }, + "fullDescription": { + "text": "Possibly misleading 'DefaultValueAttribute' usage to define optional parameter value. 'DefaultParameterValueAttribute' must be used instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DisposeOnUsingVariable", + "shortDescription": { + "text": "Disposal of a variable already captured by the 'using' statement" + }, + "fullDescription": { + "text": "Do not dispose a variable captured by the 'using' statement because its disposed state may not be obvious elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DisposeOnUsingVariable.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DisposeOnUsingVariable.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DoubleNegationInPattern", + "shortDescription": { + "text": "Simplify negated pattern" + }, + "fullDescription": { + "text": "Suggest to replace\r\n `x is not not T` to `x is T`\r\n `!(x is not T)` to `x is T`" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DoubleNegationOperator", + "shortDescription": { + "text": "Double negation operator" + }, + "fullDescription": { + "text": "Double negation is meaningless
bool b = !!condition;
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DoubleNegationOperator.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DoubleNegationOperator.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicateItemInLoggerTemplate", + "shortDescription": { + "text": "Structured log message items are duplicated or differ only in case" + }, + "fullDescription": { + "text": "Items in a structured log message should not be duplicated or differ only in case, because this can cause issues during processing. For example, items might be lost, automatically renamed, excluded from search indexes, or incorrectly grouped." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DuplicateItemInLoggerTemplate.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DuplicateItemInLoggerTemplate.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicateKeyCollectionInitialization", + "shortDescription": { + "text": "Duplicate keys in dictionary/set initialization" + }, + "fullDescription": { + "text": "A dictionary or a set may only contain one element with a given key. Using the same key more than once during collection initialization is likely a bug, and can result in a runtime exception." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DuplicateKeyCollectionInitialization.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DuplicateKeyCollectionInitialization.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicateResource", + "shortDescription": { + "text": "Duplicate resource name" + }, + "fullDescription": { + "text": "Resource file contains two or more items with identical names" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DuplicateResource.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DuplicateResource.html" + }, + "relationships": [ + { + "target": { + "id": "RESX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicatedChainedIfBodies", + "shortDescription": { + "text": "Duplicated chained 'if' branches" + }, + "fullDescription": { + "text": "Consider merging duplicated chained 'if' branches to reduce redundancy" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DuplicatedChainedIfBodies.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DuplicatedChainedIfBodies.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicatedSequentialIfBodies", + "shortDescription": { + "text": "Duplicated sequential 'if' branches" + }, + "fullDescription": { + "text": "Consider merging duplicated sequential 'if' branches to reduce redundancy" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DuplicatedSequentialIfBodies.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DuplicatedSequentialIfBodies.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicatedStatements", + "shortDescription": { + "text": "Duplicated statements" + }, + "fullDescription": { + "text": "Remove statements from conditional branches or 'switch' cases if an identical sequence is executed afterward" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DuplicatedStatements.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DuplicatedStatements.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicatedSwitchExpressionArms", + "shortDescription": { + "text": "Duplicated 'switch' arms" + }, + "fullDescription": { + "text": "Duplicated 'switch' arms. Consider merging them into a single arm to improve readability and reduce code duplication." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DuplicatedSwitchExpressionArms.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DuplicatedSwitchExpressionArms.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicatedSwitchSectionBodies", + "shortDescription": { + "text": "Duplicated 'switch' branches" + }, + "fullDescription": { + "text": "Duplicated 'switch' branches. Consider merging them into a single branch to improve readability and reduce code duplication." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/DuplicatedSwitchSectionBodies.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/DuplicatedSwitchSectionBodies.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyConstructor", + "shortDescription": { + "text": "Empty constructor" + }, + "fullDescription": { + "text": "Empty public constructor declaration with no parameters is redundant. The compiler generates the same by default." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EmptyConstructor.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EmptyConstructor.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyDestructor", + "shortDescription": { + "text": "Empty destructor" + }, + "fullDescription": { + "text": "Empty finalizer declaration is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EmptyDestructor.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EmptyDestructor.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyExtensionBlock", + "shortDescription": { + "text": "Empty extension block" + }, + "fullDescription": { + "text": "The extension block is empty and can be safely removed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EmptyExtensionBlock.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EmptyExtensionBlock.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyForStatement", + "shortDescription": { + "text": "Empty 'for' loop is redundant" + }, + "fullDescription": { + "text": "Empty 'for' loop is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EmptyForStatement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EmptyForStatement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyGeneralCatchClause", + "shortDescription": { + "text": "Empty general catch clause" + }, + "fullDescription": { + "text": "A catch clause that catches System.Exception and has an empty body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EmptyGeneralCatchClause.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EmptyGeneralCatchClause.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyNamespace", + "shortDescription": { + "text": "Empty namespace declaration" + }, + "fullDescription": { + "text": "Empty namespace declaration is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EmptyNamespace.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EmptyNamespace.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyRegion", + "shortDescription": { + "text": "Empty region" + }, + "fullDescription": { + "text": "Region doesn't contain any code and can be removed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyStatement", + "shortDescription": { + "text": "Empty statement is redundant" + }, + "fullDescription": { + "text": "Empty statement is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EmptyStatement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EmptyStatement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyTitleTag", + "shortDescription": { + "text": "Important tags or attributes missing: Empty " + }, + "fullDescription": { + "text": "<title ...>" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnforceDoWhileStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'do-while' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'do-while' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnforceDoWhileStatementBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnforceDoWhileStatementBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnforceFixedStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'fixed' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'fixed' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnforceFixedStatementBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnforceFixedStatementBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnforceForStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'for' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'for' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnforceForStatementBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnforceForStatementBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnforceForeachStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'foreach' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'foreach' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnforceForeachStatementBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnforceForeachStatementBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnforceIfStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'if' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'if' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnforceIfStatementBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnforceIfStatementBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnforceLockStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'lock' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'lock' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnforceLockStatementBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnforceLockStatementBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnforceUsingStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'using' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'using' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnforceUsingStatementBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnforceUsingStatementBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnforceWhileStatementBraces", + "shortDescription": { + "text": "Use preferred braces style: Enforce braces in 'while' statement" + }, + "fullDescription": { + "text": "Use braces to separate 'while' statement body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnforceWhileStatementBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnforceWhileStatementBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EntityNameCapturedOnly.Global", + "shortDescription": { + "text": "Entity is only used to capture its name: Non-private accessibility" + }, + "fullDescription": { + "text": "Local variable/parameter is only used to capture its name via 'nameof' expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EntityNameCapturedOnly.Local", + "shortDescription": { + "text": "Entity is only used to capture its name: Private accessibility" + }, + "fullDescription": { + "text": "Local variable/parameter is only used to capture its name via 'nameof' expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnumUnderlyingTypeIsInt", + "shortDescription": { + "text": "Underlying type of enum is 'int'" + }, + "fullDescription": { + "text": "'int' is default underlying type of enum, so it is not necessary to specify it explicitly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EnumUnderlyingTypeIsInt.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EnumUnderlyingTypeIsInt.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EnumerableSumInExplicitUncheckedContext", + "shortDescription": { + "text": "'Enumerable.Sum' invocation in explicit unchecked context" + }, + "fullDescription": { + "text": "'Enumerable.Sum' invocation in explicit unchecked context" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EqualExpressionComparison", + "shortDescription": { + "text": "Similar expressions comparison" + }, + "fullDescription": { + "text": "Comparing similar expressions for equality is usually redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EventNeverInvoked", + "shortDescription": { + "text": "Event never invoked" + }, + "fullDescription": { + "text": "Event never invoked. Note that in C# this warning is the compiler warning CS0067 and is not configured here." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EventNeverInvoked.Global", + "shortDescription": { + "text": "Abstract or virtual (overridable) event is never invoked" + }, + "fullDescription": { + "text": "An abstract or virtual (overridable) event is never invoked in its class or its inheritors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EventNeverSubscribedTo.Global", + "shortDescription": { + "text": "Event is never subscribed to: Non-private accessibility" + }, + "fullDescription": { + "text": "Event is never subscribed to" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EventNeverSubscribedTo.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EventNeverSubscribedTo.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EventNeverSubscribedTo.Local", + "shortDescription": { + "text": "Event is never subscribed to: Private accessibility" + }, + "fullDescription": { + "text": "Event is never subscribed to" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/EventNeverSubscribedTo.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/EventNeverSubscribedTo.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EventUnsubscriptionViaAnonymousDelegate", + "shortDescription": { + "text": "Event unsubscription via anonymous delegate" + }, + "fullDescription": { + "text": "Event unsubscription via anonymous delegate is meaningless" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ExplicitCallerInfoArgument", + "shortDescription": { + "text": "Explicit argument passed to parameter with caller info attribute" + }, + "fullDescription": { + "text": "Compiler generates correct value for parameters marked with [CallerMemberName], [CallerFilePath], [CallerLineNumber], or [CallerArgumentExpression] attributes" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ExpressionIsAlwaysNull", + "shortDescription": { + "text": "Expression is always 'null'" + }, + "fullDescription": { + "text": "The expression is always evaluated to 'null' at this point" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ExpressionIsAlwaysNull.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ExpressionIsAlwaysNull.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ExtractCommonBranchingCode", + "shortDescription": { + "text": "Extract common code" + }, + "fullDescription": { + "text": "Extract common code out of branching statements such as 'if' or 'switch' to streamline and consolidate it, ensuring that shared logic is executed regardless of the branching path taken" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ExtractCommonBranchingCode.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ExtractCommonBranchingCode.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ExtractCommonPropertyPattern", + "shortDescription": { + "text": "Extract common property pattern" + }, + "fullDescription": { + "text": "Simplify recursive pattern by extracting common property pattern" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FieldCanBeMadeReadOnly.Global", + "shortDescription": { + "text": "Field can be made readonly: Non-private accessibility" + }, + "fullDescription": { + "text": "Field has no write usages after initialization and can be made readonly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/FieldCanBeMadeReadOnly.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/FieldCanBeMadeReadOnly.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FieldCanBeMadeReadOnly.Local", + "shortDescription": { + "text": "Field can be made readonly: Private accessibility" + }, + "fullDescription": { + "text": "Field has no write usages after initialization and can be made readonly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/FieldCanBeMadeReadOnly.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/FieldCanBeMadeReadOnly.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FieldHidesInterfacePropertyWithDefaultImplementation", + "shortDescription": { + "text": "Field hides property with default implementation in interface" + }, + "fullDescription": { + "text": "Property with the same name and default implementation exists in an implemented interface" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ForCanBeConvertedToForeach", + "shortDescription": { + "text": "For-loop can be converted into foreach-loop" + }, + "fullDescription": { + "text": "For-loop can be converted into foreach-loop" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ForCanBeConvertedToForeach.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ForCanBeConvertedToForeach.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ForStatementConditionIsTrue", + "shortDescription": { + "text": "'true' is redundant as 'for'-statement condition" + }, + "fullDescription": { + "text": "'true' is redundant as 'for'-statement condition, and it can be safely omitted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ForeachCanBeConvertedToQueryUsingAnotherGetEnumerator", + "shortDescription": { + "text": "Foreach loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used" + }, + "fullDescription": { + "text": "A 'foreach' can be converted into a LINQ-expression but another 'GetEnumerator' method will be used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ForeachCanBePartlyConvertedToQueryUsingAnotherGetEnumerator", + "shortDescription": { + "text": "Part of foreach loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used" + }, + "fullDescription": { + "text": "Part of 'foreach' statement's body can be converted into a LINQ-expression but another 'GetEnumerator' method will be used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FormatSpecifierCapturesRightBraces", + "shortDescription": { + "text": "Do not use right brace after a format specifier in format strings" + }, + "fullDescription": { + "text": "In .NET Framework, a format specifier captures closing braces '}' greedily, even when they are escaped using double braces '}}'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/FormatSpecifierCapturesRightBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/FormatSpecifierCapturesRightBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FormatStringPlaceholdersMismatch", + "shortDescription": { + "text": "Format string placeholders mismatch" + }, + "fullDescription": { + "text": "Format string placeholders do not match between cultures" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "RESX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FormatStringProblem", + "shortDescription": { + "text": "String formatting method problems" + }, + "fullDescription": { + "text": "Format string syntax errors (unescaped braces, invalid indices/alignments, unused arguments etc.) and other formatting method invocation problems" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/FormatStringProblem.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/FormatStringProblem.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionComplexityOverflow", + "shortDescription": { + "text": "Function body is too complex to analyze" + }, + "fullDescription": { + "text": "Function body is too complex to analyze, consider decomposing it or reducing number of variables" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionNeverReturns", + "shortDescription": { + "text": "Function never returns" + }, + "fullDescription": { + "text": "Function does not reach its end or a 'return' statement by any of possible execution paths" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/FunctionNeverReturns.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/FunctionNeverReturns.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionRecursiveOnAllPaths", + "shortDescription": { + "text": "Function is recursive on all execution paths" + }, + "fullDescription": { + "text": "Function or type initialization is recursive on all execution paths" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "GCSuppressFinalizeForTypeWithoutDestructor", + "shortDescription": { + "text": "'GC.SuppressFinalize' is invoked for type without destructor" + }, + "fullDescription": { + "text": "'GC.SuppressFinalize' is invoked for type without destructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/GCSuppressFinalizeForTypeWithoutDestructor.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/GCSuppressFinalizeForTypeWithoutDestructor.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "GenericEnumeratorNotDisposed", + "shortDescription": { + "text": "Return value of 'GetEnumerator' method call is never disposed" + }, + "fullDescription": { + "text": "To avoid resource leaks, when calling 'GetEnumerator' method manually, dispose of the resulting enumerator after usage. This maintains a similar behaviour to the 'foreach' loop which automatically handles disposal. Disposal is not required if the enumerator is a struct or a sealed class, and it doesn't implement the Dispose pattern or interface." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HeuristicUnreachableCode", + "shortDescription": { + "text": "Heuristically unreachable code" + }, + "fullDescription": { + "text": "Heuristically unreachable code detected" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/HeuristicUnreachableCode.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/HeuristicUnreachableCode.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.AttributeNotResolved", + "shortDescription": { + "text": "Unknown attribute" + }, + "fullDescription": { + "text": "Unknown attribute in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.AttributeValueNotResolved", + "shortDescription": { + "text": "Unknown attribute value" + }, + "fullDescription": { + "text": "Unknown attribute value in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.AttributesQuotes", + "shortDescription": { + "text": "Wrong attribute quotes" + }, + "fullDescription": { + "text": "Attribute quotes are missing or differ from settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.DeadCode", + "shortDescription": { + "text": "HTML Dead Code" + }, + "fullDescription": { + "text": "HTML Dead Code" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.EventNotResolved", + "shortDescription": { + "text": "Unknown event" + }, + "fullDescription": { + "text": "Unknown event in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.IdDuplication", + "shortDescription": { + "text": "Ids duplication" + }, + "fullDescription": { + "text": "Duplication of id on page" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.IdNotResolved", + "shortDescription": { + "text": "Unknown ID" + }, + "fullDescription": { + "text": "Link to unknown anchor (no element with such ID or name)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.Obsolete", + "shortDescription": { + "text": "Obsolete or nonstandard element" + }, + "fullDescription": { + "text": "Obsolete or nonstandard element" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.PathError", + "shortDescription": { + "text": "Path error" + }, + "fullDescription": { + "text": "Path error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.TagNotClosed", + "shortDescription": { + "text": "Unclosed tag" + }, + "fullDescription": { + "text": "Unclosed tag in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.TagNotResolved", + "shortDescription": { + "text": "Unknown tag" + }, + "fullDescription": { + "text": "Unknown tag in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.TagShouldBeSelfClosed", + "shortDescription": { + "text": "Wrong closed tag" + }, + "fullDescription": { + "text": "Wrong closed tag in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.TagShouldNotBeSelfClosed", + "shortDescription": { + "text": "Wrong self-closed tag" + }, + "fullDescription": { + "text": "Wrong self-closed tag in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.Warning", + "shortDescription": { + "text": "HTML Warning" + }, + "fullDescription": { + "text": "HTML Warning" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IfStdIsConstantEvaluatedCanBeReplaced", + "shortDescription": { + "text": "'if' can be replaced by 'if consteval'" + }, + "fullDescription": { + "text": "'if' can be replaced by 'if consteval'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ImmutableArrayWithCollectionInitializer", + "shortDescription": { + "text": "ImmutableArray with collection initializer" + }, + "fullDescription": { + "text": "Using a collection initializer with 'ImmutableArray' causes a runtime exception. Collection initializers are translated into 'Add' calls on the default 'ImmutableArray' instance. Because the underlying 'array' field is 'null', this results in a 'NullReferenceException'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InParameterWithMustDisposeResourceAttribute", + "shortDescription": { + "text": "Meaningless [MustDisposeResource] annotation for an input parameter" + }, + "fullDescription": { + "text": "Meaningless [MustDisposeResource] annotation for an input parameter" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InactivePreprocessorBranch", + "shortDescription": { + "text": "Inactive preprocessor branch" + }, + "fullDescription": { + "text": "Inactive preprocessor branch" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "VBASIC.CodeInfo" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentNaming", + "shortDescription": { + "text": "Inconsistent Naming" + }, + "fullDescription": { + "text": "Name doesn't match naming style defined for this kind of symbol" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InconsistentNaming.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InconsistentNaming.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentOrderOfLocks", + "shortDescription": { + "text": "Inconsistent order of taken locks" + }, + "fullDescription": { + "text": "The expression is used in several lock statements with inconsistent execution order, forming a cycle. This might lead to a possible deadlock in a multi-threaded execution." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InconsistentOrderOfLocks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InconsistentOrderOfLocks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentlySynchronizedField", + "shortDescription": { + "text": "Inconsistent synchronization on field" + }, + "fullDescription": { + "text": "The field is sometimes used inside synchronized block and sometimes used without synchronization" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InconsistentlySynchronizedField.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InconsistentlySynchronizedField.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncorrectBlankLinesNearBraces", + "shortDescription": { + "text": "Incorrect blank lines: Incorrect number of blank lines near braces" + }, + "fullDescription": { + "text": "Incorrect blank lines: Incorrect number of blank lines near braces" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/IncorrectBlankLinesNearBraces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/IncorrectBlankLinesNearBraces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncorrectConstantExpectedAnnotation", + "shortDescription": { + "text": "Incorrect usage of the 'ConstantExpected' attribute" + }, + "fullDescription": { + "text": "The 'ConstantExpectedAttribute' is not applied correctly to the parameter" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1856", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/quality-rules/ca1856" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IndexingByInvalidRange", + "shortDescription": { + "text": "Possible 'System.ArgumentOutOfRangeException'. Start index must be less than or equal to end index." + }, + "fullDescription": { + "text": "Indexing by invalid range may cause exceptions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InheritdocConsiderUsage", + "shortDescription": { + "text": "Use on root level to inherit documentation from base candidate" + }, + "fullDescription": { + "text": "Use on root level to inherit documentation from base candidate" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InheritdocInvalidUsage", + "shortDescription": { + "text": "Usage of is invalid" + }, + "fullDescription": { + "text": "Usage of is invalid" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InlineOutVariableDeclaration", + "shortDescription": { + "text": "Inline 'out' variable declaration" + }, + "fullDescription": { + "text": "Replace ordinary variable declaration with inline variable declaration under 'out' argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InlineOutVariableDeclaration.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InlineOutVariableDeclaration.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InlineTemporaryVariable", + "shortDescription": { + "text": "Inline temporary variable" + }, + "fullDescription": { + "text": "Inline temporary variable initialized with a value of other variable/parameter to reduce the amount of different names used to reference the same value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InlineTemporaryVariable.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InlineTemporaryVariable.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntDivisionByZero", + "shortDescription": { + "text": "Division by zero in at least one execution path" + }, + "fullDescription": { + "text": "Division by zero in at least one execution path" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntVariableOverflow", + "shortDescription": { + "text": "Possible overflow" + }, + "fullDescription": { + "text": "Possible overflow" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntVariableOverflowInCheckedContext", + "shortDescription": { + "text": "Possible overflow in 'checked' context" + }, + "fullDescription": { + "text": "Possible overflow in 'checked' context" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntVariableOverflowInUncheckedContext", + "shortDescription": { + "text": "Possible overflow in 'unchecked' context" + }, + "fullDescription": { + "text": "Possible overflow in 'unchecked' context" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InternalOrPrivateMemberNotDocumented", + "shortDescription": { + "text": "Missing XML comment for private or internal type or member" + }, + "fullDescription": { + "text": "Missing XML comment for private or internal type or member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InterpolatedStringExpressionIsNotIFormattable", + "shortDescription": { + "text": "Formatting is specified, but interpolated string expression is not IFormattable" + }, + "fullDescription": { + "text": "Formatting is specified, but interpolated string expression is not IFormattable" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntroduceOptionalParameters.Global", + "shortDescription": { + "text": "Introduce optional parameters: Non-private accessibility" + }, + "fullDescription": { + "text": "Introduce optional parameters to overload method" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/IntroduceOptionalParameters.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/IntroduceOptionalParameters.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntroduceOptionalParameters.Local", + "shortDescription": { + "text": "Introduce optional parameters: Private accessibility" + }, + "fullDescription": { + "text": "Introduce optional parameters to overload method" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/IntroduceOptionalParameters.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/IntroduceOptionalParameters.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvalidValueType", + "shortDescription": { + "text": "Resource value type is invalid" + }, + "fullDescription": { + "text": "Resource in base culture has another value type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "RESX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvalidXmlDocComment", + "shortDescription": { + "text": "Invalid XML documentation comment" + }, + "fullDescription": { + "text": "Invalid XML documentation comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InvalidXmlDocComment.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InvalidXmlDocComment.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvertCondition.1", + "shortDescription": { + "text": "Invert condition: Invert condition" + }, + "fullDescription": { + "text": "!$seq$.Any($args$) ? $expr$ : $expr2$" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvertIf", + "shortDescription": { + "text": "Invert 'if' statement to reduce nesting" + }, + "fullDescription": { + "text": "Invert 'if' statement to reduce nesting" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InvertIf.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InvertIf.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvocationIsSkipped", + "shortDescription": { + "text": "Method invocation is skipped" + }, + "fullDescription": { + "text": "Method invocation is skipped. Compiler will not generate method invocation because the method is conditional, or it is a partial method without implementation." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InvocationIsSkipped.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InvocationIsSkipped.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeInfo" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvokeAsExtensionMember", + "shortDescription": { + "text": "Convert static method invocation into extension member call: Convert qualified static method invocation into extension member call" + }, + "fullDescription": { + "text": "When extension member is invoked as static method, convert invocation into extension member syntax" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/InvokeAsExtensionMember.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/InvokeAsExtensionMember.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvokeAsExtensionMemberFromSameClass", + "shortDescription": { + "text": "Convert static method invocation into extension member call: Convert same-class static method invocation into extension method call" + }, + "fullDescription": { + "text": "When extension method is invoked as static method of the same class, convert invocation into extension method syntax" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IsExpressionAlwaysFalse", + "shortDescription": { + "text": "The expression of 'is' operator is never of the provided type" + }, + "fullDescription": { + "text": "The expression of 'is' operator is never of the provided type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IsExpressionAlwaysTrue", + "shortDescription": { + "text": "The given expression of 'is' operator is always of the provided type" + }, + "fullDescription": { + "text": "The expression of 'is' operator is always of the provided type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/IsExpressionAlwaysTrue.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/IsExpressionAlwaysTrue.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IteratorMethodResultIsIgnored", + "shortDescription": { + "text": "Return value of iterator is not used" + }, + "fullDescription": { + "text": "Return value of iterator is not used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IteratorNeverReturns", + "shortDescription": { + "text": "Iterator never returns" + }, + "fullDescription": { + "text": "Iterator function does not reach its end or a 'return' statement by any of possible execution paths" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JoinDeclarationAndInitializer", + "shortDescription": { + "text": "Join local variable declaration and assignment" + }, + "fullDescription": { + "text": "Join local variable declaration and assignment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/JoinDeclarationAndInitializer.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/JoinDeclarationAndInitializer.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JoinNullCheckWithUsage", + "shortDescription": { + "text": "Join 'null' check with assignment" + }, + "fullDescription": { + "text": "Replaces if statement with code using ?? operator and throw expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/JoinNullCheckWithUsage.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/JoinNullCheckWithUsage.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LambdaExpressionCanBeMadeStatic", + "shortDescription": { + "text": "Lambda expression/anonymous method can be made 'static'" + }, + "fullDescription": { + "text": "Lambda expression/anonymous method can be made 'static'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LambdaExpressionMustBeStatic", + "shortDescription": { + "text": "Lambda expression/anonymous method must be 'static' to avoid allocations" + }, + "fullDescription": { + "text": "Lambda expression/anonymous method passed to parameter annotated by '[RequireStaticDelegate]' must be 'static' to help avoid introducing heap allocations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LambdaShouldNotCaptureContext", + "shortDescription": { + "text": "Lambda expression/anonymous method must not have captures of the containing context" + }, + "fullDescription": { + "text": "Lambda expression/anonymous method passed to parameter annotated by '[RequireStaticDelegate]' attribute must not have captures of the containing context (local variables, local functions, 'this' reference) to avoid heap allocations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/LambdaShouldNotCaptureContext.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/LambdaShouldNotCaptureContext.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalFunctionCanBeMadeStatic", + "shortDescription": { + "text": "Local function can be made static" + }, + "fullDescription": { + "text": "A local function does not use 'this' object or variables from the outer scope and can be made static" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/LocalFunctionCanBeMadeStatic.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/LocalFunctionCanBeMadeStatic.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalFunctionHidesMethod", + "shortDescription": { + "text": "Local function hides method" + }, + "fullDescription": { + "text": "Local function has the same name as a method and hides it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalVariableHidesMember", + "shortDescription": { + "text": "Local variable hides member" + }, + "fullDescription": { + "text": "Local variable has the same name as a field/property and hides it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/LocalVariableHidesMember.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/LocalVariableHidesMember.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalVariableHidesPrimaryConstructorParameter", + "shortDescription": { + "text": "Local variable hides primary constructor parameter" + }, + "fullDescription": { + "text": "Local variable has the same name as a primary constructor parameter and hides it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/LocalVariableHidesPrimaryConstructorParameter.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/LocalVariableHidesPrimaryConstructorParameter.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalizableElement", + "shortDescription": { + "text": "Element is localizable" + }, + "fullDescription": { + "text": "You can move this element to a resource" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/LocalizableElement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/LocalizableElement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "RESX.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LongLiteralEndingLowerL", + "shortDescription": { + "text": "The 'l' suffix is easily confused with the digit '1'" + }, + "fullDescription": { + "text": "The 'l' suffix is easily confused with the digit '1', use 'L' for clarity" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LoopCanBeConvertedToQuery", + "shortDescription": { + "text": "Loop can be converted into LINQ-expression" + }, + "fullDescription": { + "text": "A 'foreach' or 'for' statement can be converted into a LINQ-expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/LoopCanBeConvertedToQuery.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/LoopCanBeConvertedToQuery.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LoopCanBePartlyConvertedToQuery", + "shortDescription": { + "text": "Part of loop's body can be converted into LINQ-expression" + }, + "fullDescription": { + "text": "Part of 'foreach' statement's body can be converted into a LINQ-expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LoopVariableIsNeverChangedInsideLoop", + "shortDescription": { + "text": "Loop control variable is never changed inside loop" + }, + "fullDescription": { + "text": "Loop control variable is never changed inside loop" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/LoopVariableIsNeverChangedInsideLoop.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/LoopVariableIsNeverChangedInsideLoop.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MISMATCHED_ASMDEF_FILENAME", + "shortDescription": { + "text": "File name should match the name of the assembly" + }, + "fullDescription": { + "text": "To avoid confusion, the name of the assembly definition file should match the name of the assembly being defined." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.UNITY" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MathAbsMethodIsRedundant", + "shortDescription": { + "text": "Math.Abs() argument is always non-negative" + }, + "fullDescription": { + "text": "Math.Abs() method invocation can be removed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MathClampMinGreaterThanMax", + "shortDescription": { + "text": "Inconsistent arguments passed to 'Math.Clamp()' method" + }, + "fullDescription": { + "text": "Argument 'min' is always greater than argument 'max'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MeaninglessDefaultParameterValue", + "shortDescription": { + "text": "'DefaultParameterValueAttribute' must be used in conjunction with 'OptionalAttribute'" + }, + "fullDescription": { + "text": "'DefaultParameterValueAttribute' must be used in conjunction with 'OptionalAttribute'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBeFileLocal", + "shortDescription": { + "text": "Type can be made file-local" + }, + "fullDescription": { + "text": "Type can be made file-local" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBeInternal", + "shortDescription": { + "text": "Member or type can be made internal (friend)" + }, + "fullDescription": { + "text": "Member or type can be made internal (friend)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBeMadeStatic.Global", + "shortDescription": { + "text": "Member can be made static (shared): Non-private accessibility" + }, + "fullDescription": { + "text": "A non-virtual instance member does not use 'this' object (neither implicitly nor explicitly) and can be made static (shared)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberCanBeMadeStatic.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberCanBeMadeStatic.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBeMadeStatic.Local", + "shortDescription": { + "text": "Member can be made static (shared): Private accessibility" + }, + "fullDescription": { + "text": "A non-virtual instance member does not use 'this' object (neither implicitly nor explicitly) and can be made static (shared)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberCanBeMadeStatic.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberCanBeMadeStatic.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBePrivate.Global", + "shortDescription": { + "text": "Member can be made private: Non-private accessibility" + }, + "fullDescription": { + "text": "Member can be made private" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberCanBePrivate.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberCanBePrivate.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBePrivate.Local", + "shortDescription": { + "text": "Member can be made private: Private accessibility" + }, + "fullDescription": { + "text": "Member can be made private" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberCanBePrivate.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberCanBePrivate.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBeProtected.Global", + "shortDescription": { + "text": "Member can be made protected: Non-private accessibility" + }, + "fullDescription": { + "text": "Member can be made protected" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberCanBeProtected.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberCanBeProtected.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBeProtected.Local", + "shortDescription": { + "text": "Member can be made protected: Private accessibility" + }, + "fullDescription": { + "text": "Member can be made protected" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberCanBeProtected.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberCanBeProtected.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberHidesInterfaceMemberWithDefaultImplementation", + "shortDescription": { + "text": "Non-public member in implementation class hides default implementation in interface" + }, + "fullDescription": { + "text": "Member with the same signature and default implementation exists in an implemented interface" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberHidesStaticFromOuterClass", + "shortDescription": { + "text": "Member hides static member from outer class" + }, + "fullDescription": { + "text": "Member hides static member from outer class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberHidesStaticFromOuterClass.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberHidesStaticFromOuterClass.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberInitializerValueIgnored", + "shortDescription": { + "text": "Member initialized value ignored" + }, + "fullDescription": { + "text": "Member initializer value is ignored because the member is always initialized in all constructors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MemberInitializerValueIgnored.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MemberInitializerValueIgnored.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeAndPattern", + "shortDescription": { + "text": "Merge 'and' pattern" + }, + "fullDescription": { + "text": "Merge two operands of the 'and' pattern into single pattern" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeCastWithTypeCheck", + "shortDescription": { + "text": "Type check and casts can be merged" + }, + "fullDescription": { + "text": "Type check ('is' expression) and direct cast(s) after it can be merged" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MergeCastWithTypeCheck.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MergeCastWithTypeCheck.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeConditionalExpression", + "shortDescription": { + "text": "Merge conditional ?: expression into conditional access" + }, + "fullDescription": { + "text": "Merge conditional expression (?: ternary operator) into conditional access expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MergeConditionalExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MergeConditionalExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeIntoLogicalPattern", + "shortDescription": { + "text": "Merge null/pattern/value checks into 'or'/'and' patterns" + }, + "fullDescription": { + "text": "Merge sequential negated null/pattern/value checks into single logical 'or'/'and' pattern check" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeIntoNegatedPattern", + "shortDescription": { + "text": "Merge negated null/pattern checks into complex pattern" + }, + "fullDescription": { + "text": "Merge sequential negated null/pattern checks into single recursive/logical pattern check" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeIntoPattern", + "shortDescription": { + "text": "Merge null/pattern checks into complex pattern" + }, + "fullDescription": { + "text": "Merge sequential null/pattern checks into single recursive/logical pattern check" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MergeIntoPattern.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MergeIntoPattern.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeNestedPropertyPatterns", + "shortDescription": { + "text": "Merge nested property patterns" + }, + "fullDescription": { + "text": "Simplify nested member access in a pattern by using the C# 10 extended property patterns syntax" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MergeNestedPropertyPatterns.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MergeNestedPropertyPatterns.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MergeSequentialChecks", + "shortDescription": { + "text": "Merge sequential checks into single conditional access check" + }, + "fullDescription": { + "text": "Merge sequential null/type checks in && or || expressions into single conditional access check" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MergeSequentialChecks.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MergeSequentialChecks.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MethodHasAsyncOverload", + "shortDescription": { + "text": "Method has async overload" + }, + "fullDescription": { + "text": "Method has async overload" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MethodHasAsyncOverloadWithCancellation", + "shortDescription": { + "text": "Method has async overload with cancellation support" + }, + "fullDescription": { + "text": "Method has async overload with 'CancellationToken'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MethodOverloadWithOptionalParameter", + "shortDescription": { + "text": "Method with optional or 'params' parameter is hidden by overload" + }, + "fullDescription": { + "text": "Method with optional or 'params' parameter is hidden by overload" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MethodSupportsCancellation", + "shortDescription": { + "text": "Method supports cancellation" + }, + "fullDescription": { + "text": "Method has overload with 'CancellationToken'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MisleadingBodyLikeStatement", + "shortDescription": { + "text": "Confusing body-like statement" + }, + "fullDescription": { + "text": "Previous statement's body can be overlooked and the next statement can be read as it's body. Improve the visibility by making the actual body more visible or separate the next statement with an empty line." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MisleadingBodyLikeStatement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MisleadingBodyLikeStatement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingAltAttributeInImgTag", + "shortDescription": { + "text": "Important tags or attributes missing: should specify alternative text" + }, + "fullDescription": { + "text": "<([)img(]) $attrs$>" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingBlankLines", + "shortDescription": { + "text": "Incorrect blank lines: Blank lines are missing elsewhere" + }, + "fullDescription": { + "text": "Incorrect blank lines: Blank lines are missing elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MissingBlankLines.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MissingBlankLines.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingBodyTag", + "shortDescription": { + "text": "Important tags or attributes missing: Missing " + }, + "fullDescription": { + "text": "<([)html(]) $attr1$>$cont$" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingHeadAndBodyTags", + "shortDescription": { + "text": "Important tags or attributes missing: Missing and " + }, + "fullDescription": { + "text": "<([)html(]) $attr1$>" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingHeadTag", + "shortDescription": { + "text": "Important tags or attributes missing: Missing " + }, + "fullDescription": { + "text": "<([)html(]) $attr1$>$cont$" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingIndent", + "shortDescription": { + "text": "Incorrect indent: Missing indent/outdent elsewhere" + }, + "fullDescription": { + "text": "Incorrect indent: Missing indent/outdent elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MissingIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MissingIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingLinebreak", + "shortDescription": { + "text": "Incorrect line breaks: Line break is missing elsewhere" + }, + "fullDescription": { + "text": "Incorrect line breaks: Line break is missing elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MissingLinebreak.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MissingLinebreak.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingSpace", + "shortDescription": { + "text": "Incorrect spacing: Space is missing elsewhere" + }, + "fullDescription": { + "text": "Incorrect spacing: Space is missing elsewhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MissingSpace.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MissingSpace.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MoreSpecificForeachVariableTypeAvailable", + "shortDescription": { + "text": "Iteration variable can be declared with a more specific type" + }, + "fullDescription": { + "text": "Type of iteration variable declared in 'foreach' statement is less specific than that which can be inferred from the collection type being iterated" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MoreSpecificForeachVariableTypeAvailable.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MoreSpecificForeachVariableTypeAvailable.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MoveLocalFunctionAfterJumpStatement", + "shortDescription": { + "text": "Put local function after 'return' or 'continue'" + }, + "fullDescription": { + "text": "Move a local function to the end of its containing scope and separate it from executable code with explicit 'return', 'continue', or 'yield break'. This can improve code readability because executable code will be clearly separated from helper functions that are not executed at their declaration sites." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MoveToExistingPositionalDeconstructionPattern", + "shortDescription": { + "text": "Move to existing positional deconstruction pattern" + }, + "fullDescription": { + "text": "Replace property pattern member(s) of recursive pattern with positional deconstruction patterns in existing positional deconstruction" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MoveToExtensionBlock", + "shortDescription": { + "text": "Move to extension block" + }, + "fullDescription": { + "text": "Move extension method to the existing extension block" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MoveToExtensionBlock.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MoveToExtensionBlock.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MoveVariableDeclarationInsideLoopCondition", + "shortDescription": { + "text": "Move variable declaration inside loop condition" + }, + "fullDescription": { + "text": "Declare variable inside a loop condition using pattern matching syntax to reduce its scope and avoid doing a C-style assignment as a side effect" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MultipleCqrsEntity", + "shortDescription": { + "text": "Unidentified CQRS entity" + }, + "fullDescription": { + "text": "CQRS entity cannot be identified because there are conflicts between its name, implemented interfaces, or attributes" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MultipleCqrsEntity.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MultipleCqrsEntity.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MultipleNullableAttributesUsage", + "shortDescription": { + "text": "Multiple nullable attributes usage" + }, + "fullDescription": { + "text": "It is incorrect to use [NotNull] and [CanBeNull] simultaneously" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MultipleNullableAttributesUsage.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MultipleNullableAttributesUsage.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MultipleOrderBy", + "shortDescription": { + "text": "Multiple sequential 'OrderBy' invocation" + }, + "fullDescription": { + "text": "Multiple sequential 'OrderBy' invocation is meaningless, probably 'ThenBy' is implied" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MultipleResolveCandidatesInText", + "shortDescription": { + "text": "Ambiguous symbols in text argument" + }, + "fullDescription": { + "text": "Ambiguous symbols in text argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MultipleSpaces", + "shortDescription": { + "text": "Incorrect spacing: Multiple spaces are prohibited" + }, + "fullDescription": { + "text": "Incorrect spacing: Multiple spaces are prohibited" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MultipleSpaces.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MultipleSpaces.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MultipleStatementsOnOneLine", + "shortDescription": { + "text": "Incorrect line breaks: Multiple statements on one line" + }, + "fullDescription": { + "text": "Incorrect line breaks: Multiple statements on one line" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MultipleStatementsOnOneLine.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MultipleStatementsOnOneLine.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MultipleTypeMembersOnOneLine", + "shortDescription": { + "text": "Incorrect line breaks: Multiple type members on one line" + }, + "fullDescription": { + "text": "Incorrect line breaks: Multiple type members on one line" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MultipleTypeMembersOnOneLine.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MultipleTypeMembersOnOneLine.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MustUseReturnValue", + "shortDescription": { + "text": "Return value of [MustUseReturnValue]-annotated method is not used" + }, + "fullDescription": { + "text": "Return value of method annotated with [{0}] attribute is not used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/MustUseReturnValue.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/MustUseReturnValue.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.ActionNotResolved", + "shortDescription": { + "text": "MVC: Unknown action" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC Action" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.AreaNotResolved", + "shortDescription": { + "text": "MVC: Unknown area" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC Area" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.ControllerNotResolved", + "shortDescription": { + "text": "MVC: Unknown controller" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC Controller" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.InvalidModelType", + "shortDescription": { + "text": "MVC: Mismatch Model Type" + }, + "fullDescription": { + "text": "Mismatch ASP.NET MVC Model Type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.MasterpageNotResolved", + "shortDescription": { + "text": "MVC: Unknown masterpage" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC Masterpage" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.PartialViewNotResolved", + "shortDescription": { + "text": "MVC: Unknown partial view" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC Partial View" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.TemplateNotResolved", + "shortDescription": { + "text": "MVC: Unknown template" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC Template" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.ViewComponentNotResolved", + "shortDescription": { + "text": "MVC: Unknown view component" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC View Component" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.ViewComponentViewNotResolved", + "shortDescription": { + "text": "MVC: Unknown view component view" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC View Component View" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.ViewNotResolved", + "shortDescription": { + "text": "MVC: Unknown view" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC View" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/Mvc.ViewNotResolved.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/Mvc.ViewNotResolved.html" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegationOfRelationalPattern", + "shortDescription": { + "text": "Simplify negated relational pattern" + }, + "fullDescription": { + "text": "Suggest to replace\r\n `x is not > 42` to ` x is <= 42`" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegativeEqualityExpression", + "shortDescription": { + "text": "Simplify negative equality expression" + }, + "fullDescription": { + "text": "Suggest to replace\r\n !(expr1 != expr2) to expr1 == expr2\r\n !(expr1 == expr2) to expr1 != expr2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NegativeEqualityExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NegativeEqualityExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegativeIndex", + "shortDescription": { + "text": "Possible 'System.ArgumentOutOfRangeException'. Index must be a non-negative integer." + }, + "fullDescription": { + "text": "'System.Index' requires a non-negative argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedStringInterpolation", + "shortDescription": { + "text": "Nested string interpolation can be inlined" + }, + "fullDescription": { + "text": "Nested string interpolation can be inlined into containing one" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonAtomicCompoundOperator", + "shortDescription": { + "text": "Suspicious 'volatile' field usage: compound operation is not atomic. 'Interlocked' class can be used instead." + }, + "fullDescription": { + "text": "Suspicious 'volatile' field usage: compound operation is not atomic. 'Interlocked' class can be used instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonConstantEqualityExpressionHasConstantResult", + "shortDescription": { + "text": "According to values of the bit masks, expression result will always be the same" + }, + "fullDescription": { + "text": "According to values of the bit masks, expression result will always be the same" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonParsableElement", + "shortDescription": { + "text": "Part of the code cannot be parsed" + }, + "fullDescription": { + "text": "Part of the code cannot be parsed because of deep nesting" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeInfo" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonReadonlyMemberInGetHashCode", + "shortDescription": { + "text": "Non-readonly type member referenced in 'GetHashCode()'" + }, + "fullDescription": { + "text": "Non-readonly field or auto-property referenced in 'GetHashCode()'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NonReadonlyMemberInGetHashCode.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NonReadonlyMemberInGetHashCode.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonVolatileFieldInDoubleCheckLocking", + "shortDescription": { + "text": "Possible incorrect implementation of Double-Check Locking. The checked field must be volatile or assigned from a local variable after 'Thread.MemoryBarrier()' call." + }, + "fullDescription": { + "text": "Possible incorrect implementation of Double-Check Locking. The checked field must be volatile or assigned from a local variable after 'Thread.MemoryBarrier()' call." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + } + }, + { + "id": "NotAccessedField.Compiler", + "shortDescription": { + "text": "Non-accessed field" + }, + "fullDescription": { + "text": "Field is assigned but its value is never used (compiler warning)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0414", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0414" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedField.Global", + "shortDescription": { + "text": "Non-accessed field: Non-private accessibility" + }, + "fullDescription": { + "text": "Field is assigned but its value is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotAccessedField.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotAccessedField.Global.html" + }, + "relationships": [ + { + "target": { + "id": "ASPX.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "ASXX.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedField.Local", + "shortDescription": { + "text": "Non-accessed field: Private accessibility" + }, + "fullDescription": { + "text": "Field is assigned but its value is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotAccessedField.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotAccessedField.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "XAML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedOutParameterVariable", + "shortDescription": { + "text": "Non-accessed local variable is only used to discard the 'out' parameter value" + }, + "fullDescription": { + "text": "Non-accessed local variable is only used to discard the 'out' parameter value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotAccessedOutParameterVariable.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotAccessedOutParameterVariable.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedPositionalProperty.Global", + "shortDescription": { + "text": "Non-accessed positional property: Non-private accessibility" + }, + "fullDescription": { + "text": "Positional property is never accessed for reading" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotAccessedPositionalProperty.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotAccessedPositionalProperty.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedPositionalProperty.Local", + "shortDescription": { + "text": "Non-accessed positional property: Private accessibility" + }, + "fullDescription": { + "text": "Positional property is never accessed for reading" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotAccessedPositionalProperty.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotAccessedPositionalProperty.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedPrimaryConstructorParameterCompiler", + "shortDescription": { + "text": "Not accessed primary constructor parameter" + }, + "fullDescription": { + "text": "Parameter of the primary constructor is declared but never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedVariable", + "shortDescription": { + "text": "Non-accessed local variable" + }, + "fullDescription": { + "text": "Local variable is assigned but its value is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotAccessedVariable.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotAccessedVariable.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedVariable.Compiler", + "shortDescription": { + "text": "Non-accessed local variable" + }, + "fullDescription": { + "text": "Local variable is assigned but its value is never used (compiler warning)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0219", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0219" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAssignedOutParameter", + "shortDescription": { + "text": "'out' parameter is not assigned upon exit" + }, + "fullDescription": { + "text": "'out' parameter is not assigned upon exit" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotDeclaredInParentCulture", + "shortDescription": { + "text": "Resource is not declared in base culture" + }, + "fullDescription": { + "text": "Resource is not declared in base culture" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotDeclaredInParentCulture.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotDeclaredInParentCulture.html" + }, + "relationships": [ + { + "target": { + "id": "RESX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotDisposedResource", + "shortDescription": { + "text": "Return value of a method annotated with [MustDisposeResource] is never disposed" + }, + "fullDescription": { + "text": "Return value of a method annotated with [MustDisposeResource] is never disposed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotDisposedResource.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotDisposedResource.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotDisposedResourceIsReturned", + "shortDescription": { + "text": "Return value should be disposed but the method or function is not annotated with [MustDisposeResource]" + }, + "fullDescription": { + "text": "Return value should be disposed but the method or function is not annotated with [MustDisposeResource]" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotDisposedResourceIsReturned.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotDisposedResourceIsReturned.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotDisposedResourceIsReturnedByProperty", + "shortDescription": { + "text": "Return value of a property must be disposed by the callee" + }, + "fullDescription": { + "text": "Return value of a property must be disposed by the callee" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotDisposedResourceIsReturnedByProperty.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotDisposedResourceIsReturnedByProperty.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotNullOrRequiredMemberIsNotInitialized", + "shortDescription": { + "text": "Non-nullable or required member is not initialized at constructor exit" + }, + "fullDescription": { + "text": "Non-nullable or required type member is not initialized in any execution path of the constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotNullOrRequiredMemberIsNotInitialized.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotNullOrRequiredMemberIsNotInitialized.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.ConstraintViolation" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotObservableAnnotationRedundancy", + "shortDescription": { + "text": "Nullability attribute used with declaration that cannot be directly referenced from other code" + }, + "fullDescription": { + "text": "Redundant nullability attribute used with declaration that cannot be directly referenced from other code" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotOverriddenInSpecificCulture", + "shortDescription": { + "text": "Resource is not overridden in specific culture" + }, + "fullDescription": { + "text": "Resource is not overridden in one or more specific cultures" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotOverriddenInSpecificCulture.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotOverriddenInSpecificCulture.html" + }, + "relationships": [ + { + "target": { + "id": "RESX.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotResolvedInText", + "shortDescription": { + "text": "Cannot resolve symbol in text argument" + }, + "fullDescription": { + "text": "Cannot resolve symbol in text argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/NotResolvedInText.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/NotResolvedInText.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NullCoalescingConditionIsAlwaysNotNullAccordingToAPIContract", + "shortDescription": { + "text": "'??' condition is never null according to nullable reference types' annotations" + }, + "fullDescription": { + "text": "'??' condition is never null according to nullable reference types' annotations" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NullableWarningSuppressionIsUsed", + "shortDescription": { + "text": "A suppressed nullable warning might hide an underlying problem" + }, + "fullDescription": { + "text": "A suppressed nullable warning might hide an underlying problem such as a nullable value that was thought to be already handled. This might be a result of a refactoring introducing nullable values on execution paths where they were not allowed." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NullnessAnnotationConflictWithJetBrainsAnnotations", + "shortDescription": { + "text": "Nullability conflicts with annotations in hierarchy" + }, + "fullDescription": { + "text": "Nullability of a member conflicts with attribute annotations in its hierarchy. When using a base member, an unexpected value might be passed or returned, e.g. a null value might be passed to a non-nullable parameter because a parameter of a base member allows it, or the return value might not be checked for null because a base member indicates that it should never return null." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ObjectCreationAsStatement", + "shortDescription": { + "text": "Possible unassigned object created by 'new' expression" + }, + "fullDescription": { + "text": "Object created by 'new' expression is possibly not assigned anywhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ObsoleteElement", + "shortDescription": { + "text": "Use of obsolete type or type member" + }, + "fullDescription": { + "text": "Use of obsolete type or type member in XAML markup" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "XAML.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ObsoleteElementError", + "shortDescription": { + "text": "Use of obsolete type or type member (error)" + }, + "fullDescription": { + "text": "Use of obsolete type or type member in XAML markup (error)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "XAML.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Odin.OdinMemberPresentInMultipleGroups", + "shortDescription": { + "text": "Member appears in multiple UI groups simultaneously" + }, + "fullDescription": { + "text": "Member is included in multiple UI groups and will be displayed multiple times in the UI" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.UNITY" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Odin.OdinMemberWrongGroupingAttribute", + "shortDescription": { + "text": "Incorrect Odin's group attribute type" + }, + "fullDescription": { + "text": "Different types of group attributes should not share the same path" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.UNITY" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Odin.OdinUnknownGroupingPath", + "shortDescription": { + "text": "Group path is not defined" + }, + "fullDescription": { + "text": "Using an undefined group will lead to a runtime error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.UNITY" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OneWayOperationContractWithReturnType", + "shortDescription": { + "text": "One way operations must not return values" + }, + "fullDescription": { + "text": "Methods marked with OperationContract attribute as OneWay operations must not return values" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/OneWayOperationContractWithReturnType.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/OneWayOperationContractWithReturnType.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OperationContractWithoutServiceContract", + "shortDescription": { + "text": "Method is marked as [OperationContract] but containing type is not marked as [ServiceContract]" + }, + "fullDescription": { + "text": "Marking method as OperationContract without ServiceContract attribute on the containing type could cause runtime exception" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OperatorIsCanBeUsed", + "shortDescription": { + "text": "Operator 'is'/'Type Of ... Is ...' can be used" + }, + "fullDescription": { + "text": "Operator 'is'/'Type Of ... Is ...' can be used instead of comparing objects GetType() and instance of System.Type object" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OperatorWithoutMatchedCheckedOperator", + "shortDescription": { + "text": "Operator without matching checked operator" + }, + "fullDescription": { + "text": "The operator does not have a matching checked operator while there are checked versions for other operators in this type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OptionalParameterHierarchyMismatch", + "shortDescription": { + "text": "Mismatch of optional parameter value in overridden method" + }, + "fullDescription": { + "text": "Mismatch of optional parameter value in overridden method" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OptionalParameterRefOut", + "shortDescription": { + "text": "'ref' or 'out' parameter with [Optional] attribute" + }, + "fullDescription": { + "text": "C# does not support 'ref' or 'out' optional parameters" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OtherTagsInsideScript1", + "shortDescription": { + "text": "Script tag errors: Other tags inside " + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OtherTagsInsideScript2", + "shortDescription": { + "text": "Script tag errors: Other tags inside " + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OtherTagsInsideUnclosedScript", + "shortDescription": { + "text": "Script tag errors: Unclosed " + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "HTML.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SealedMemberInSealedClass", + "shortDescription": { + "text": "Sealed member in sealed class" + }, + "fullDescription": { + "text": "'sealed' modifier for member in a sealed class is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SealedMemberInSealedClass.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SealedMemberInSealedClass.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.DeclarationRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SeparateControlTransferStatement", + "shortDescription": { + "text": "Separate control transfer statement with blank line" + }, + "fullDescription": { + "text": "Introduce vertical spacing to highlight control transfer statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SeparateControlTransferStatement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SeparateControlTransferStatement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SeparateLocalFunctionsWithJumpStatement", + "shortDescription": { + "text": "Add explicit 'return' or 'continue' before local functions" + }, + "fullDescription": { + "text": "Separate local functions at the end of a block with explicit 'return' or 'continue'. This will help readers understand where a method or a loop really ends without checking whether there is any executable code left after or between local functions." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SeparateLocalFunctionsWithJumpStatement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SeparateLocalFunctionsWithJumpStatement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ServiceContractWithoutOperations", + "shortDescription": { + "text": "Interfaces marked as ServiceContract should declare at least one OperationContract" + }, + "fullDescription": { + "text": "Interfaces marked as ServiceContract should declare at least one OperationContract" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShebangDirectiveBadPlacement", + "shortDescription": { + "text": "Move the shebang directive to the beginning of the file" + }, + "fullDescription": { + "text": "Move the shebang directive (which starts with '#!') to the very beginning of the file so the Unix-compatible program loader can determine how to run it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ShebangDirectiveBadPlacement.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ShebangDirectiveBadPlacement.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShiftExpressionRealShiftCountIsZero", + "shortDescription": { + "text": "Actual shift count equals zero" + }, + "fullDescription": { + "text": "Actual shift count equals zero. Left operand will remain unchanged." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShiftExpressionResultEqualsZero", + "shortDescription": { + "text": "Constant shift expression with non-zero operands results in a zero value" + }, + "fullDescription": { + "text": "Constant shift expression with non-zero operands results in a zero value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShiftExpressionRightOperandNotEqualRealCount", + "shortDescription": { + "text": "Suspicious shift count for this type of left operand" + }, + "fullDescription": { + "text": "Suspicious shift count for this type of left operand (different from actual shift count that will be used by compiler)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShiftExpressionZeroLeftOperand", + "shortDescription": { + "text": "Shift expression with zero left operand equals zero" + }, + "fullDescription": { + "text": "Shift expression with zero left operand equals zero" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShortLivedHttpClient", + "shortDescription": { + "text": "Short-lived 'HttpClient'" + }, + "fullDescription": { + "text": "Short-lived 'HttpClient' is not recommended. Frequently creating 'HttpClient' instances can lead to socket exhaustion. Consider using 'IHttpClientFactory' or a long-lived (e.g., static) 'HttpClient' instance instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimilarAnonymousTypeNearby", + "shortDescription": { + "text": "Similar anonymous type detected nearby" + }, + "fullDescription": { + "text": "Anonymous type that differs only in property order is detected nearby" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyConditionalOperator", + "shortDescription": { + "text": "Simplify conditional operator" + }, + "fullDescription": { + "text": "Conditional operator contains 'True' or 'False' in result branch, for example\r\n
\r\n                If(condition, True, elseBranch)\r\n                If(condition, thenBranch : True)\r\n              
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyConditionalTernaryExpression", + "shortDescription": { + "text": "Simplify conditional ternary expression" + }, + "fullDescription": { + "text": "Ternary expression contains 'true' or 'false' in result branch, for example\r\n
\r\n            condition ? true : elseBranch\r\n            condition ? thenBranch : true\r\n          
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SimplifyConditionalTernaryExpression.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SimplifyConditionalTernaryExpression.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyIIf", + "shortDescription": { + "text": "Simplify 'IIf'" + }, + "fullDescription": { + "text": "'IIf' contains 'True' or 'False' in result branch, for example\r\n
\r\n                IIf(condition, True, elseBranch)\r\n                IIf(condition, thenBranch : True)\r\n              
" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyLinqExpressionUseAll", + "shortDescription": { + "text": "Simplify LINQ expression (use 'All')" + }, + "fullDescription": { + "text": "Simplify LINQ expression (use 'All' instead of 'Any')" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyLinqExpressionUseAny", + "shortDescription": { + "text": "Simplify LINQ expression (use 'Any')" + }, + "fullDescription": { + "text": "Simplify LINQ expression (use 'Any' instead of 'All')" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyStringInterpolation", + "shortDescription": { + "text": "Use format specifier in interpolated strings" + }, + "fullDescription": { + "text": "'.ToString()' call could be replaced with a format specifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SimplifyStringInterpolation.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SimplifyStringInterpolation.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SpecifyACultureInStringConversionExplicitly", + "shortDescription": { + "text": "Specify string culture explicitly" + }, + "fullDescription": { + "text": "Specify a culture in string conversion explicitly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SpecifyACultureInStringConversionExplicitly.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SpecifyACultureInStringConversionExplicitly.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SpecifyStringComparison", + "shortDescription": { + "text": "Specify string comparison explicitly" + }, + "fullDescription": { + "text": "Specify string comparison explicitly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SpecifyStringComparison.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SpecifyStringComparison.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SpinLockInReadonlyField", + "shortDescription": { + "text": "Do not store SpinLock in readonly field" + }, + "fullDescription": { + "text": "SpinLock should not be stored in readonly field because it is a struct and is copied when an instance method is called on it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SpinLockInReadonlyField.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SpinLockInReadonlyField.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StackAllocInsideLoop", + "shortDescription": { + "text": "Using stackalloc inside loop" + }, + "fullDescription": { + "text": "Memory stack allocation inside a loop can cause a temporary memory leak because the allocated memory is freed only when the method returns" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StaticMemberInGenericType", + "shortDescription": { + "text": "Static field or auto-property in generic type" + }, + "fullDescription": { + "text": "Static field or auto-property in generic type may result in state duplication per each generic type instantiation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StaticMemberInGenericType.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StaticMemberInGenericType.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StaticMemberInitializerReferesToMemberBelow", + "shortDescription": { + "text": "Static member initializer refers to static member below or in other part" + }, + "fullDescription": { + "text": "Static field/auto-property/event initializer refers to a static field/auto-property/event below or in another part" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StaticProblemInText", + "shortDescription": { + "text": "Cannot access static symbol in text argument" + }, + "fullDescription": { + "text": "Cannot access static symbol in text argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StdIsConstantEvaluatedWillAlwaysEvaluateToConstant", + "shortDescription": { + "text": "'std::is_constant_evaluated' will always evaluate to constant" + }, + "fullDescription": { + "text": "'std::is_constant_evaluated' will always evaluate to constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CPP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StreamReadReturnValueIgnored", + "shortDescription": { + "text": "Actual number of bytes read by 'Stream.Read()' is ignored" + }, + "fullDescription": { + "text": "Use 'Stream.ReadExactly()' instead of 'Read()' to ensure the number of bytes read from the stream is equal to the expected value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StreamReadReturnValueIgnored.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StreamReadReturnValueIgnored.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringCompareIsCultureSpecific.1", + "shortDescription": { + "text": "String.Compare is culture-specific: String.Compare(string, string) is culture-specific" + }, + "fullDescription": { + "text": "$s$.Compare($s1$, $s2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.1.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.1.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringCompareIsCultureSpecific.2", + "shortDescription": { + "text": "String.Compare is culture-specific: String.Compare(string, string, bool) is culture-specific" + }, + "fullDescription": { + "text": "$string$.Compare($s1$, $s2$, false)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.2.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.2.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringCompareIsCultureSpecific.3", + "shortDescription": { + "text": "String.Compare is culture-specific: String.Compare(string, string, bool) is culture-specific" + }, + "fullDescription": { + "text": "$string$.Compare($s1$, $s2$, true)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.3.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.3.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringCompareIsCultureSpecific.4", + "shortDescription": { + "text": "String.Compare is culture-specific: String.Compare(string, int, string, int) is culture-specific" + }, + "fullDescription": { + "text": "$s$.Compare($s1$, $i1$, $s2$, $i2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.4.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.4.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringCompareIsCultureSpecific.5", + "shortDescription": { + "text": "String.Compare is culture-specific: String.Compare(string, int, string, int, bool) is culture-specific" + }, + "fullDescription": { + "text": "$s$.Compare($s1$, $i1$, $s2$, $i2$, false)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.5.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.5.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringCompareIsCultureSpecific.6", + "shortDescription": { + "text": "String.Compare is culture-specific: String.Compare(string, int, string, int, bool) is culture-specific" + }, + "fullDescription": { + "text": "$s$.Compare($s1$, $i1$, $s2$, $i2$, true)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.6.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringCompareIsCultureSpecific.6.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringCompareToIsCultureSpecific", + "shortDescription": { + "text": "String.CompareTo is culture-specific: String.CompareTo is culture-specific" + }, + "fullDescription": { + "text": "$s1$.CompareTo($s2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringCompareToIsCultureSpecific.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringCompareToIsCultureSpecific.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringEndsWithIsCultureSpecific", + "shortDescription": { + "text": "String.EndsWith is culture-specific: String.EndsWith(string) is culture-specific" + }, + "fullDescription": { + "text": "$s$.EndsWith($sarg$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringEndsWithIsCultureSpecific.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringEndsWithIsCultureSpecific.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringIndexOfIsCultureSpecific.1", + "shortDescription": { + "text": "String.IndexOf is culture-specific: String.IndexOf(string) is culture-specific" + }, + "fullDescription": { + "text": "$s$.IndexOf($sarg$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringIndexOfIsCultureSpecific.1.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringIndexOfIsCultureSpecific.1.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringIndexOfIsCultureSpecific.2", + "shortDescription": { + "text": "String.IndexOf is culture-specific: String.IndexOf(string, int) is culture-specific" + }, + "fullDescription": { + "text": "$s$.IndexOf($sarg$, $iarg1$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringIndexOfIsCultureSpecific.2.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringIndexOfIsCultureSpecific.2.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringIndexOfIsCultureSpecific.3", + "shortDescription": { + "text": "String.IndexOf is culture-specific: String.IndexOf(string, int) is culture-specific" + }, + "fullDescription": { + "text": "$s$.IndexOf($sarg$, $iarg1$, $iarg2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringIndexOfIsCultureSpecific.3.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringIndexOfIsCultureSpecific.3.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringLastIndexOfIsCultureSpecific.1", + "shortDescription": { + "text": "String.LastIndexOf is culture-specific: String.LastIndexOf(string) is culture-specific" + }, + "fullDescription": { + "text": "$s$.LastIndexOf($sarg$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringLastIndexOfIsCultureSpecific.1.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringLastIndexOfIsCultureSpecific.1.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringLastIndexOfIsCultureSpecific.2", + "shortDescription": { + "text": "String.LastIndexOf is culture-specific: String.LastIndexOf(string, int) is culture-specific" + }, + "fullDescription": { + "text": "$s$.LastIndexOf($sarg$, $iarg1$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringLastIndexOfIsCultureSpecific.2.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringLastIndexOfIsCultureSpecific.2.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringLastIndexOfIsCultureSpecific.3", + "shortDescription": { + "text": "String.LastIndexOf is culture-specific: String.LastIndexOf(string, int) is culture-specific" + }, + "fullDescription": { + "text": "$s$.LastIndexOf($sarg$, $iarg1$, $iarg2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringLastIndexOfIsCultureSpecific.3.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringLastIndexOfIsCultureSpecific.3.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringLiteralAsInterpolationArgument", + "shortDescription": { + "text": "String literal can be inlined" + }, + "fullDescription": { + "text": "String literal can be inlined into interpolation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringSpanComparison", + "shortDescription": { + "text": "Possibly wrong string comparison: spans are only equal when pointing to the same memory location" + }, + "fullDescription": { + "text": "Possibly wrong string comparison: spans are only equal when pointing to the same memory location. Spans from freshly created or static strings are unlikely to be equal to other spans, probably you want to compare chars/bytes instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringSpanComparison.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringSpanComparison.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringStartsWithIsCultureSpecific", + "shortDescription": { + "text": "String.StartsWith is culture-specific: String.StartsWith(string) is culture-specific" + }, + "fullDescription": { + "text": "$s$.StartsWith($sarg$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StringStartsWithIsCultureSpecific.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StringStartsWithIsCultureSpecific.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StructCanBeMadeReadOnly", + "shortDescription": { + "text": "Struct can be made readonly" + }, + "fullDescription": { + "text": "Struct has no mutable members and can be made readonly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StructLacksIEquatable.Global", + "shortDescription": { + "text": "Struct lacks 'IEquatable' implementation: Non-private accessibility" + }, + "fullDescription": { + "text": "Struct overrides equality members but lacks an 'IEquatable' implementation. To prevent boxing in a generic context, implement 'IEquatable'. This inspection only triggers when the struct or its containing type (such as record) is actually used for equality comparisons in the solution." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StructLacksIEquatable.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StructLacksIEquatable.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StructLacksIEquatable.Local", + "shortDescription": { + "text": "Struct lacks 'IEquatable' implementation: Private accessibility" + }, + "fullDescription": { + "text": "Struct overrides equality members but lacks an 'IEquatable' implementation. To prevent boxing in a generic context, implement 'IEquatable'. This inspection only triggers when the struct or its containing type (such as record) is actually used for equality comparisons in the solution." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StructLacksIEquatable.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StructLacksIEquatable.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StructMemberCanBeMadeReadOnly", + "shortDescription": { + "text": "Struct member can be made readonly" + }, + "fullDescription": { + "text": "Struct member does not change the containing struct through 'this' and can be made readonly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StructuredMessageTemplateProblem", + "shortDescription": { + "text": "Structured message template problems" + }, + "fullDescription": { + "text": "Structured message template syntax errors (unescaped braces, unused arguments, etc.)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/StructuredMessageTemplateProblem.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/StructuredMessageTemplateProblem.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestBaseTypeForParameter", + "shortDescription": { + "text": "Parameter can be declared with the base type" + }, + "fullDescription": { + "text": "Parameter can be declared with the base type. Note that when the base type is IEnumerable, another inspection 'Parameter type can be IEnumerable' will be applied." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestBaseTypeForParameterInConstructor", + "shortDescription": { + "text": "Parameter of the constructor can be declared with the base type" + }, + "fullDescription": { + "text": "Parameter can be declared with the base type. Note that when the base type is IEnumerable, another inspection 'Parameter type can be IEnumerable' will be applied." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestDiscardDeclarationVarStyle", + "shortDescription": { + "text": "Use preferred style for discard declaration" + }, + "fullDescription": { + "text": "Use preferred style for discard declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SuggestDiscardDeclarationVarStyle.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SuggestDiscardDeclarationVarStyle.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestVarOrType_BuiltInTypes", + "shortDescription": { + "text": "Use preferred 'var' style: For built-in types" + }, + "fullDescription": { + "text": "Convert if declaration is of a built-in type (e.g. string)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SuggestVarOrType_BuiltInTypes.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SuggestVarOrType_BuiltInTypes.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestVarOrType_DeconstructionDeclarations", + "shortDescription": { + "text": "Use preferred 'var' style: In deconstruction declarations" + }, + "fullDescription": { + "text": "Convert if declaration is a part of a deconstruction" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SuggestVarOrType_DeconstructionDeclarations.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SuggestVarOrType_DeconstructionDeclarations.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestVarOrType_Elsewhere", + "shortDescription": { + "text": "Use preferred 'var' style: Elsewhere" + }, + "fullDescription": { + "text": "Convert if declaration is not of a built-in or simple type and is not evident from the usage" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SuggestVarOrType_Elsewhere.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SuggestVarOrType_Elsewhere.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuggestVarOrType_SimpleTypes", + "shortDescription": { + "text": "Use preferred 'var' style: When type is simple" + }, + "fullDescription": { + "text": "Convert if simple type (not an array and does not have generic parameters)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SuggestVarOrType_SimpleTypes.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SuggestVarOrType_SimpleTypes.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuppressNullableWarningExpressionAsInvertedIsExpression", + "shortDescription": { + "text": "Nullable warning suppression operator might be confused with inverted 'is' expression" + }, + "fullDescription": { + "text": "'!is' looks like an inverted 'is' expression but instead applies nullable warning suppression operator to its operand" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuspiciousLockOverSynchronizationPrimitive", + "shortDescription": { + "text": "Suspicious locking over synchronization primitive" + }, + "fullDescription": { + "text": "Avoid using synchronization primitives as 'lock' objects" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuspiciousMathSignMethod", + "shortDescription": { + "text": "Math.Sign() method always gives the same result" + }, + "fullDescription": { + "text": "Math.Sign() method invocation can be replaced with a constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeRedundancy" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuspiciousParameterNameInArgumentNullException", + "shortDescription": { + "text": "Suspicious parameter name in ArgumentNullException" + }, + "fullDescription": { + "text": "Argument name does not match the parameter that was checked" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuspiciousTypeConversion.Global", + "shortDescription": { + "text": "Suspicious type conversion or check" + }, + "fullDescription": { + "text": "A type is converted into another one but there is no type in the solution which is inherited from both. This also applies to 'is' operator and '==' and '!=' comparisons." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SuspiciousTypeConversion.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SuspiciousTypeConversion.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SwapViaDeconstruction", + "shortDescription": { + "text": "Use deconstruction to swap variables" + }, + "fullDescription": { + "text": "Replace multiple assignments with single deconstructing assignment to perform swapping" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.LanguageUsage" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SwitchExpressionHandlesSomeKnownEnumValuesWithExceptionInDefault", + "shortDescription": { + "text": "Some values of the enum are not processed inside 'switch' expression and are handled via exception in default arm" + }, + "fullDescription": { + "text": "Some values of the enum are not processed inside switch expression and fall into default arm. This might indicate unintentional handling of all enum values added after the switch was introduced, consider handling missing enum values explicitly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SwitchExpressionHandlesSomeKnownEnumValuesWithExceptionInDefault.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SwitchExpressionHandlesSomeKnownEnumValuesWithExceptionInDefault.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SwitchStatementForEnumMissesDefaultSection", + "shortDescription": { + "text": "Switch statement for enum values does not have default section" + }, + "fullDescription": { + "text": "Switch statement for enum values does not have default section. This might lead to unexpected behavior if new enum values will be introduced." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + } + }, + { + "id": "SwitchStatementHandlesSomeKnownEnumValuesWithDefault", + "shortDescription": { + "text": "Some values of the enum are not processed inside 'switch' statement and are handled via default section" + }, + "fullDescription": { + "text": "Some values of the enum are not processed inside 'switch' statement and fall into default section. This might indicate unintentional handling of all enum values added after the switch was introduced, consider handling missing enum values explicitly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SwitchStatementHandlesSomeKnownEnumValuesWithDefault.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SwitchStatementHandlesSomeKnownEnumValuesWithDefault.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SwitchStatementMissingSomeEnumCasesNoDefault", + "shortDescription": { + "text": "Some values of the enum are not processed inside 'switch' statement" + }, + "fullDescription": { + "text": "Some values of the enum are not processed inside 'switch' statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SwitchStatementMissingSomeEnumCasesNoDefault.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SwitchStatementMissingSomeEnumCasesNoDefault.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SymbolFromNotCopiedLocallyReferenceUsedWarning", + "shortDescription": { + "text": "Symbol from module that might be missing at runtime" + }, + "fullDescription": { + "text": "Highlights symbols used from a referenced module that is not copied locally" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/SymbolFromNotCopiedLocallyReferenceUsedWarning.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/SymbolFromNotCopiedLocallyReferenceUsedWarning.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TabsAndSpacesMismatch", + "shortDescription": { + "text": "Incorrect indent: Tabs/spaces mismatch" + }, + "fullDescription": { + "text": "Incorrect indent: Tabs/spaces mismatch" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/TabsAndSpacesMismatch.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/TabsAndSpacesMismatch.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TabsAreDisallowed", + "shortDescription": { + "text": "Usage of tabulation character for indentation is prohibited" + }, + "fullDescription": { + "text": "Use this inspection to prohibit use of tabulation character for code indentation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/TabsAreDisallowed.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/TabsAreDisallowed.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeStyleIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TabsOutsideIndent", + "shortDescription": { + "text": "Incorrect spacing: Tabs are prohibited here" + }, + "fullDescription": { + "text": "Incorrect spacing: Tabs are prohibited here" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/TabsOutsideIndent.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/TabsOutsideIndent.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.FormattingIssues" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TailRecursiveCall", + "shortDescription": { + "text": "Tail recursive call can be replaced with loop" + }, + "fullDescription": { + "text": "Tail recursive calls can be replaced with loop for better performance and protection from possible stack overflows" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThreadStaticAtInstanceField", + "shortDescription": { + "text": "[ThreadStatic] does not work with instance fields" + }, + "fullDescription": { + "text": "[ThreadStatic] does nothing with instance fields" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ThreadStaticAtInstanceField.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ThreadStaticAtInstanceField.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThreadStaticFieldHasInitializer", + "shortDescription": { + "text": "Thread static field has initializer" + }, + "fullDescription": { + "text": "Thread static field has an initializer, which is invoked only once on the thread that is running when the static constructor executes" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/ThreadStaticFieldHasInitializer.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/ThreadStaticFieldHasInitializer.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TooWideLocalVariableScope", + "shortDescription": { + "text": "Local variable has too wide declaration scope" + }, + "fullDescription": { + "text": "Local variable is declared in a wider scope than the scope of its actual use" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/TooWideLocalVariableScope.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/TooWideLocalVariableScope.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TryCastAlwaysSucceeds", + "shortDescription": { + "text": "Safe cast expression always succeeds" + }, + "fullDescription": { + "text": "Safe cast expression always succeeds and can be replaced with a direct cast" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/TryCastAlwaysSucceeds.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/TryCastAlwaysSucceeds.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TryStatementsCanBeMerged", + "shortDescription": { + "text": "try-catch and try-finally statements can be merged" + }, + "fullDescription": { + "text": "try-catch and try-finally statements can be merged" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeParameterCanBeVariant", + "shortDescription": { + "text": "Type parameter could be declared as covariant or contravariant" + }, + "fullDescription": { + "text": "Type parameter could be declared as covariant or contravariant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeWithSuspiciousEqualityIsUsedInRecord.Global", + "shortDescription": { + "text": "Type with suspicious equality is used in a record: Non-private accessibility" + }, + "fullDescription": { + "text": "Type with suspicious equality is used as a member of a record type. This inspection only triggers when the record type is actually used for equality comparisons in the solution." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/TypeWithSuspiciousEqualityIsUsedInRecord.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/TypeWithSuspiciousEqualityIsUsedInRecord.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeWithSuspiciousEqualityIsUsedInRecord.Local", + "shortDescription": { + "text": "Type with suspicious equality is used in a record: Private accessibility" + }, + "fullDescription": { + "text": "Type with suspicious equality is used as a member of a record type. This inspection only triggers when the record type is actually used for equality comparisons in the solution." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/TypeWithSuspiciousEqualityIsUsedInRecord.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/TypeWithSuspiciousEqualityIsUsedInRecord.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnassignedField.Compiler", + "shortDescription": { + "text": "Unassigned field" + }, + "fullDescription": { + "text": "Field is never assigned (compiler warning)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0649", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0649" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnassignedField.Global", + "shortDescription": { + "text": "Unassigned field: Non-private accessibility" + }, + "fullDescription": { + "text": "Field is never assigned" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnassignedField.Global.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnassignedField.Global.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnassignedField.Local", + "shortDescription": { + "text": "Unassigned field: Private accessibility" + }, + "fullDescription": { + "text": "Field is never assigned" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnassignedField.Local.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnassignedField.Local.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnassignedGetOnlyAutoProperty", + "shortDescription": { + "text": "Get-only auto-property is never assigned" + }, + "fullDescription": { + "text": "Auto-property without setter has no initializer or is never assigned in constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://www.jetbrains.com/help/resharper/UnassignedGetOnlyAutoProperty.html", + "help": { + "text": "https://www.jetbrains.com/help/resharper/UnassignedGetOnlyAutoProperty.html" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.BestPractice" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.BestPractice" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnassignedReadonlyField", + "shortDescription": { + "text": "Unassigned readonly field" + }, + "fullDescription": { + "text": "Readonly field is never assigned" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CodeSmell" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CodeSmell" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnassignedReadonlyField.Compiler", + "shortDescription": { + "text": "Unassigned readonly field" + }, + "fullDescription": { + "text": "Readonly field is never assigned (compiler warning)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning" + }, + "helpUri": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0649", + "help": { + "text": "https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0649" + }, + "relationships": [ + { + "target": { + "id": "CSHARP.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + }, + { + "target": { + "id": "VBASIC.CompilerWarnings" + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnclosedScript", + "shortDescription": { + "text": "Script tag errors: Unclosed