From abc938e2600bc7bb1936686ffc75377a4d451651 Mon Sep 17 00:00:00 2001 From: SergeyNefyodov Date: Fri, 10 May 2024 21:21:36 +0200 Subject: [PATCH 01/19] Add FamilySizeTableDialog --- .../Descriptors/FamilySizeTableDescriptor.cs | 48 ++++++++++++-- .../Dialogs/FamilySizeTableDialogViewModel.cs | 66 +++++++++++++++++++ .../Views/Dialogs/FamilySizeTableDialog.xaml | 13 ++++ .../Dialogs/FamilySizeTableDialog.xaml.cs | 55 ++++++++++++++++ .../Abstraction/SnoopViewBase.Navigation.cs | 4 ++ .../Views/Pages/SettingsView.xaml.cs | 1 + 6 files changed, 180 insertions(+), 7 deletions(-) create mode 100644 source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs create mode 100644 source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml create mode 100644 source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs index e9163507..c8adb915 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs @@ -19,13 +19,27 @@ // (Rights in Technical Data and Computer Software), as applicable. using System.Reflection; +using System.Windows.Controls; +using Microsoft.Extensions.Logging; using RevitLookup.Core.Contracts; using RevitLookup.Core.Objects; +using RevitLookup.Models; +using RevitLookup.ViewModels.Contracts; +using RevitLookup.ViewModels.Dialogs; +using RevitLookup.Views.Dialogs; +using RevitLookup.Views.Extensions; namespace RevitLookup.Core.ComponentModel.Descriptors; -public class FamilySizeTableDescriptor(FamilySizeTable table) : Descriptor, IDescriptorResolver +public class FamilySizeTableDescriptor : Descriptor, IDescriptorResolver, IDescriptorConnector { + private readonly FamilySizeTable _table; + + public FamilySizeTableDescriptor(FamilySizeTable table) + { + _table = table; + } + public ResolveSet Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch @@ -33,34 +47,54 @@ public ResolveSet Resolve(Document context, string target, ParameterInfo[] param nameof(FamilySizeTable.GetColumnHeader) => ResolveColumnHeader(), nameof(FamilySizeTable.IsValidColumnIndex) => ResolveIsValidColumnIndex(), _ => null - }; ResolveSet ResolveColumnHeader() { - var count = table.NumberOfColumns; + var count = _table.NumberOfColumns; var resolveSummary = new ResolveSet(count); for (var i = 0; i < count; i++) { - resolveSummary.AppendVariant(table.GetColumnHeader(i)); + resolveSummary.AppendVariant(_table.GetColumnHeader(i)); } return resolveSummary; } + ResolveSet ResolveIsValidColumnIndex() { - var count = table.NumberOfColumns; + var count = _table.NumberOfColumns; var resolveSummary = new ResolveSet(count); for (var i = 0; i <= count; i++) { - var result = table.IsValidColumnIndex(i); + var result = _table.IsValidColumnIndex(i); resolveSummary.AppendVariant(result, $"{i}: {result}"); } return resolveSummary; } - + } + + public void RegisterMenu(ContextMenu contextMenu) + { + contextMenu.AddMenuItem() + .SetHeader("Show table") + .SetAvailability(_table.IsValidObject) + .SetCommand(_table, async _ => + { + var context = (ISnoopViewModel) contextMenu.DataContext; + try + { + var dialog = new FamilySizeTableDialog(context.ServiceProvider, _table, Name); + await dialog.ShowAsync(); + } + catch (Exception exception) + { + var logger = context.ServiceProvider.GetService>(); + logger.LogError(exception, "Initialize EditParameterDialog error"); + } + }); } } \ No newline at end of file diff --git a/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs b/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs new file mode 100644 index 00000000..250b06c4 --- /dev/null +++ b/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs @@ -0,0 +1,66 @@ +// Copyright 2003-2024 by Autodesk, Inc. +// +// Permission to use, copy, modify, and distribute this software in +// object code form for any purpose and without fee is hereby granted, +// provided that the above copyright notice appears in all copies and +// that both that copyright notice and the limited warranty and +// restricted rights notice below appear in all supporting +// documentation. +// +// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. +// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF +// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. +// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE +// UNINTERRUPTED OR ERROR FREE. +// +// Use, duplication, or disclosure by the U.S. Government is subject to +// restrictions set forth in FAR 52.227-19 (Commercial Computer +// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) +// (Rights in Technical Data and Computer Software), as applicable. + +using System.Data; + +namespace RevitLookup.ViewModels.Dialogs; + +public class FamilySizeTableDialogViewModel : DataTable +{ + private readonly FamilySizeTable _table; + public FamilySizeTableDialogViewModel(FamilySizeTable table, string name) + { + _table = table; + Name = name; + Initialize(); + } + + public string Name { get; set; } + + private void Initialize() + { + var columnsCount = _table.NumberOfColumns; + var rowsCount = _table.NumberOfRows; + + for (var i = 0; i < columnsCount; i++) + { + Columns.Add(new DataColumn(_table.GetColumnHeader(i).Name)); + } + + var unitsArray = new object[columnsCount]; + for (var i = 0; i < columnsCount; i++) + { + unitsArray[i] = _table.GetColumnHeader(i).GetUnitTypeId().ToUnitLabel(); + } + + Rows.Add(unitsArray); + + for (var i = 0; i < rowsCount; i++) + { + var rowArray = new object[columnsCount]; + for (var j = 0; j < columnsCount; j++) + { + rowArray[j] = _table.AsValueString(i, j); + } + + Rows.Add(rowArray); + } + } +} \ No newline at end of file diff --git a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml new file mode 100644 index 00000000..3e43223c --- /dev/null +++ b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml @@ -0,0 +1,13 @@ + + + \ No newline at end of file diff --git a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs new file mode 100644 index 00000000..4cd82fa0 --- /dev/null +++ b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs @@ -0,0 +1,55 @@ +// Copyright 2003-2024 by Autodesk, Inc. +// +// Permission to use, copy, modify, and distribute this software in +// object code form for any purpose and without fee is hereby granted, +// provided that the above copyright notice appears in all copies and +// that both that copyright notice and the limited warranty and +// restricted rights notice below appear in all supporting +// documentation. +// +// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. +// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF +// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. +// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE +// UNINTERRUPTED OR ERROR FREE. +// +// Use, duplication, or disclosure by the U.S. Government is subject to +// restrictions set forth in FAR 52.227-19 (Commercial Computer +// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) +// (Rights in Technical Data and Computer Software), as applicable. + +using System.Windows; +using RevitLookup.Models; +using RevitLookup.Services; +using RevitLookup.ViewModels.Dialogs; +using Wpf.Ui; +using Wpf.Ui.Controls; + +namespace RevitLookup.Views.Dialogs; + +public sealed partial class FamilySizeTableDialog +{ + private readonly IServiceProvider _serviceProvider; + private readonly string _name; + + public FamilySizeTableDialog(IServiceProvider serviceProvider, FamilySizeTable table, string name) + { + DataContext = new FamilySizeTableDialogViewModel(table, name); + _serviceProvider = serviceProvider; + _name = name; + InitializeComponent(); + } + + public async Task ShowAsync() + { + var dialogOptions = new SimpleContentDialogCreateOptions + { + Title = _name, + Content = this, + CloseButtonText = "Close", + DialogMaxWidth = 1500 + }; + + await _serviceProvider.GetService().ShowSimpleDialogAsync(dialogOptions); + } +} \ No newline at end of file diff --git a/source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs b/source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs index 06eac2c6..7009dd47 100644 --- a/source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs +++ b/source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs @@ -22,8 +22,12 @@ using System.Windows.Controls; using System.Windows.Data; using System.Windows.Input; +using RevitLookup.Core.ComponentModel.Descriptors; using RevitLookup.Core.Contracts; using RevitLookup.Core.Objects; +using RevitLookup.Models; +using RevitLookup.ViewModels.Contracts; +using RevitLookup.Views.Dialogs; using RevitLookup.Views.Utils; namespace RevitLookup.Views.Pages.Abstraction; diff --git a/source/RevitLookup/Views/Pages/SettingsView.xaml.cs b/source/RevitLookup/Views/Pages/SettingsView.xaml.cs index d011554d..323c42cb 100644 --- a/source/RevitLookup/Views/Pages/SettingsView.xaml.cs +++ b/source/RevitLookup/Views/Pages/SettingsView.xaml.cs @@ -18,6 +18,7 @@ // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) // (Rights in Technical Data and Computer Software), as applicable. +using System.Data; using RevitLookup.ViewModels.Pages; using Wpf.Ui.Controls; From 2ed4a593ccbe4dd0a06864ef90afa1ea6356ab01 Mon Sep 17 00:00:00 2001 From: SergeyNefyodov Date: Tue, 14 May 2024 12:08:41 +0200 Subject: [PATCH 02/19] Fix descriptor order --- .../Core/ComponentModel/DescriptorMap.cs | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs b/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs index 67723fa0..2dbbea6f 100644 --- a/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs +++ b/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs @@ -90,20 +90,26 @@ public static Descriptor FindDescriptor(object obj, Type type) APIObject when type is null || type == typeof(APIObject) => new ApiObjectDescriptor(), //IDisposables - View value when type == typeof(View) => new ViewDescriptor(value), + ViewSchedule value when type is null || type == typeof(ViewSchedule) => new ViewScheduleDescriptor(value), + TableView value when type is null || type == typeof(TableView) => new TableViewDescriptor(value), + View value when type is null || type == typeof(View) => new ViewDescriptor(value), + Wire value when type is null || type == typeof(Wire) => new WireDescriptor(value), HostObject value when type is null || type == typeof(HostObject) => new HostObjectDescriptor(value), RevitLinkType value when type is null || type == typeof(RevitLinkType) => new RevitLinkTypeDescriptor(value), + Panel value when type is null || type == typeof(Panel) => new PanelDescriptor(value), FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value), - Panel value when type == typeof(Panel) => new PanelDescriptor(value), SpatialElement value when type is null || type == typeof(SpatialElement) => new SpatialElementDescriptor(value), IndependentTag value when type is null || type == typeof(IndependentTag) => new IndependentTagDescriptor(value), MEPSystem value when type is null || type == typeof(MEPSystem) => new MepSystemDescriptor(value), Family value when type is null || type == typeof(Family) => new FamilyDescriptor(value), + BasePoint value when type is null || type == typeof(BasePoint) => new BasePointDescriptor(value), + InternalOrigin value when type is null || type == typeof(InternalOrigin) => new InternalOriginDescriptor(value), + CurveElement value when type is null || type == typeof(CurveElement) => new CurveElementDescriptor(value), + ElevationMarker value when type is null || type == typeof(ElevationMarker) => new ElevationMarkerDescriptor(value), + DatumPlane value when type is null || type == typeof(DatumPlane) => new DatumPlaneDescriptor(value), Element value when type is null || type == typeof(Element) => new ElementDescriptor(value), Document value when type is null || type == typeof(Document) => new DocumentDescriptor(value), PlanViewRange value when type is null || type == typeof(PlanViewRange) => new PlanViewRangeDescriptor(value), - ElevationMarker value when type == typeof(ElevationMarker) => new ElevationMarkerDescriptor(value), - DatumPlane value when type == typeof(DatumPlane) => new DatumPlaneDescriptor(value), ForgeTypeId value when type is null || type == typeof(ForgeTypeId) => new ForgeTypeIdDescriptor(value), Entity value when type is null || type == typeof(Entity) => new EntityDescriptor(value), Field value when type is null || type == typeof(Field) => new FieldDescriptor(value), @@ -120,19 +126,13 @@ public static Descriptor FindDescriptor(object obj, Type type) BoundarySegment value when type is null || type == typeof(BoundarySegment) => new BoundarySegmentDescriptor(value), AssetProperties value when type is null || type == typeof(AssetProperties) => new AssetPropertiesDescriptor(value), AssetProperty value when type is null || type == typeof(AssetProperty) => new AssetPropertyDescriptor(value), - BasePoint value when type == typeof(BasePoint) => new BasePointDescriptor(value), - InternalOrigin value when type == typeof(InternalOrigin) => new InternalOriginDescriptor(value), - ConnectorManager value when type == typeof(ConnectorManager) => new ConnectorManagerDescriptor(value), - Wire value when type == typeof(Wire) => new WireDescriptor(value), - CurveElement value when type == typeof(CurveElement) => new CurveElementDescriptor(value), - ViewSchedule value when type == typeof(ViewSchedule) => new ViewScheduleDescriptor(value), - ScheduleDefinition value when type == typeof(ScheduleDefinition) => new ScheduleDefinitionDescriptor(value), - TableView value when type == typeof(TableView) => new TableViewDescriptor(value), - TableData value when type == typeof(TableData) => new TableDataDescriptor(value), - TableSectionData value when type == typeof(TableSectionData) => new TableSectionDataDescriptor(value), - FamilySizeTableManager value when type == typeof(FamilySizeTableManager) => new FamilySizeTableManagerDescriptor(value), - FamilySizeTable value when type == typeof(FamilySizeTable) => new FamilySizeTableDescriptor(value), - FamilySizeTableColumn value when type == typeof(FamilySizeTableColumn) => new FamilySizeTableColumnDescriptor(value), + ConnectorManager value when type is null || type == typeof(ConnectorManager) => new ConnectorManagerDescriptor(value), + ScheduleDefinition value when type is null || type == typeof(ScheduleDefinition) => new ScheduleDefinitionDescriptor(value), + TableData value when type is null || type == typeof(TableData) => new TableDataDescriptor(value), + TableSectionData value when type is null || type == typeof(TableSectionData) => new TableSectionDataDescriptor(value), + FamilySizeTableManager value when type is null || type == typeof(FamilySizeTableManager) => new FamilySizeTableManagerDescriptor(value), + FamilySizeTable value when type is null || type == typeof(FamilySizeTable) => new FamilySizeTableDescriptor(value), + FamilySizeTableColumn value when type is null || type == typeof(FamilySizeTableColumn) => new FamilySizeTableColumnDescriptor(value), #if REVIT2024_OR_GREATER EvaluatedParameter value when type is null || type == typeof(EvaluatedParameter) => new EvaluatedParameterDescriptor(value), #endif From 314358ea7a0e4e26a141a6e5a9463489fef84561 Mon Sep 17 00:00:00 2001 From: SergeyNefyodov Date: Tue, 14 May 2024 12:08:41 +0200 Subject: [PATCH 03/19] Fix descriptor order --- .../Core/ComponentModel/DescriptorMap.cs | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs b/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs index 67723fa0..2dbbea6f 100644 --- a/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs +++ b/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs @@ -90,20 +90,26 @@ public static Descriptor FindDescriptor(object obj, Type type) APIObject when type is null || type == typeof(APIObject) => new ApiObjectDescriptor(), //IDisposables - View value when type == typeof(View) => new ViewDescriptor(value), + ViewSchedule value when type is null || type == typeof(ViewSchedule) => new ViewScheduleDescriptor(value), + TableView value when type is null || type == typeof(TableView) => new TableViewDescriptor(value), + View value when type is null || type == typeof(View) => new ViewDescriptor(value), + Wire value when type is null || type == typeof(Wire) => new WireDescriptor(value), HostObject value when type is null || type == typeof(HostObject) => new HostObjectDescriptor(value), RevitLinkType value when type is null || type == typeof(RevitLinkType) => new RevitLinkTypeDescriptor(value), + Panel value when type is null || type == typeof(Panel) => new PanelDescriptor(value), FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value), - Panel value when type == typeof(Panel) => new PanelDescriptor(value), SpatialElement value when type is null || type == typeof(SpatialElement) => new SpatialElementDescriptor(value), IndependentTag value when type is null || type == typeof(IndependentTag) => new IndependentTagDescriptor(value), MEPSystem value when type is null || type == typeof(MEPSystem) => new MepSystemDescriptor(value), Family value when type is null || type == typeof(Family) => new FamilyDescriptor(value), + BasePoint value when type is null || type == typeof(BasePoint) => new BasePointDescriptor(value), + InternalOrigin value when type is null || type == typeof(InternalOrigin) => new InternalOriginDescriptor(value), + CurveElement value when type is null || type == typeof(CurveElement) => new CurveElementDescriptor(value), + ElevationMarker value when type is null || type == typeof(ElevationMarker) => new ElevationMarkerDescriptor(value), + DatumPlane value when type is null || type == typeof(DatumPlane) => new DatumPlaneDescriptor(value), Element value when type is null || type == typeof(Element) => new ElementDescriptor(value), Document value when type is null || type == typeof(Document) => new DocumentDescriptor(value), PlanViewRange value when type is null || type == typeof(PlanViewRange) => new PlanViewRangeDescriptor(value), - ElevationMarker value when type == typeof(ElevationMarker) => new ElevationMarkerDescriptor(value), - DatumPlane value when type == typeof(DatumPlane) => new DatumPlaneDescriptor(value), ForgeTypeId value when type is null || type == typeof(ForgeTypeId) => new ForgeTypeIdDescriptor(value), Entity value when type is null || type == typeof(Entity) => new EntityDescriptor(value), Field value when type is null || type == typeof(Field) => new FieldDescriptor(value), @@ -120,19 +126,13 @@ public static Descriptor FindDescriptor(object obj, Type type) BoundarySegment value when type is null || type == typeof(BoundarySegment) => new BoundarySegmentDescriptor(value), AssetProperties value when type is null || type == typeof(AssetProperties) => new AssetPropertiesDescriptor(value), AssetProperty value when type is null || type == typeof(AssetProperty) => new AssetPropertyDescriptor(value), - BasePoint value when type == typeof(BasePoint) => new BasePointDescriptor(value), - InternalOrigin value when type == typeof(InternalOrigin) => new InternalOriginDescriptor(value), - ConnectorManager value when type == typeof(ConnectorManager) => new ConnectorManagerDescriptor(value), - Wire value when type == typeof(Wire) => new WireDescriptor(value), - CurveElement value when type == typeof(CurveElement) => new CurveElementDescriptor(value), - ViewSchedule value when type == typeof(ViewSchedule) => new ViewScheduleDescriptor(value), - ScheduleDefinition value when type == typeof(ScheduleDefinition) => new ScheduleDefinitionDescriptor(value), - TableView value when type == typeof(TableView) => new TableViewDescriptor(value), - TableData value when type == typeof(TableData) => new TableDataDescriptor(value), - TableSectionData value when type == typeof(TableSectionData) => new TableSectionDataDescriptor(value), - FamilySizeTableManager value when type == typeof(FamilySizeTableManager) => new FamilySizeTableManagerDescriptor(value), - FamilySizeTable value when type == typeof(FamilySizeTable) => new FamilySizeTableDescriptor(value), - FamilySizeTableColumn value when type == typeof(FamilySizeTableColumn) => new FamilySizeTableColumnDescriptor(value), + ConnectorManager value when type is null || type == typeof(ConnectorManager) => new ConnectorManagerDescriptor(value), + ScheduleDefinition value when type is null || type == typeof(ScheduleDefinition) => new ScheduleDefinitionDescriptor(value), + TableData value when type is null || type == typeof(TableData) => new TableDataDescriptor(value), + TableSectionData value when type is null || type == typeof(TableSectionData) => new TableSectionDataDescriptor(value), + FamilySizeTableManager value when type is null || type == typeof(FamilySizeTableManager) => new FamilySizeTableManagerDescriptor(value), + FamilySizeTable value when type is null || type == typeof(FamilySizeTable) => new FamilySizeTableDescriptor(value), + FamilySizeTableColumn value when type is null || type == typeof(FamilySizeTableColumn) => new FamilySizeTableColumnDescriptor(value), #if REVIT2024_OR_GREATER EvaluatedParameter value when type is null || type == typeof(EvaluatedParameter) => new EvaluatedParameterDescriptor(value), #endif From 7669d440297447a963ce39b6ef87a87363a43336 Mon Sep 17 00:00:00 2001 From: Nice3point Date: Tue, 14 May 2024 13:18:10 +0300 Subject: [PATCH 04/19] Add Qodana baseline --- .github/workflows/Qodana.yml | 5 +- qodana.sarif.json | 171114 ++++++++++++++++++++++++++++++++ 2 files changed, 171117 insertions(+), 2 deletions(-) create mode 100644 qodana.sarif.json diff --git a/.github/workflows/Qodana.yml b/.github/workflows/Qodana.yml index 1a4a6f3f..08d680e3 100644 --- a/.github/workflows/Qodana.yml +++ b/.github/workflows/Qodana.yml @@ -17,11 +17,12 @@ jobs: steps: - uses: actions/checkout@v4 with: - ref: ${{ github.event.pull_request.head.sha }} + ref: ${{ github.event.pull_request.merge_commit_sha }} fetch-depth: 0 - name: 'Qodana Scan' uses: JetBrains/qodana-action@main with: - args: --ide,QDNET + args: --baseline,qodana.sarif.json,--ide,QDNET + pr-mode: ${{ github.event_name == 'pull_request_target' }} env: QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }} \ No newline at end of file diff --git a/qodana.sarif.json b/qodana.sarif.json new file mode 100644 index 00000000..94b637ab --- /dev/null +++ b/qodana.sarif.json @@ -0,0 +1,171114 @@ +{ + "$schema": "https://raw.githubusercontent.com/schemastore/schemastore/master/src/schemas/json/sarif-2.1.0-rtm.5.json", + "version": "2.1.0", + "runs": [ + { + "tool": { + "driver": { + "name": "RD", + "fullName": "Qodana", + "version": "241.14494.107", + "rules": [], + "taxa": [ + { + "id": "C#", + "name": "C#" + }, + { + "id": "C#/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++", + "name": "C++" + }, + { + "id": "C++/Clang Diagnostics", + "name": "Clang Diagnostics", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML", + "name": "XAML" + }, + { + "id": "XAML/Code Notification", + "name": "Code Notification", + "relationships": [ + { + "target": { + "id": "XAML", + "index": 4, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/Unreal Engine", + "name": "Unreal Engine", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Language Usage Opportunities", + "name": "Language Usage Opportunities", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/Clang-Tidy Checks", + "name": "Clang-Tidy Checks", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Sass_SCSS", + "name": "Sass/SCSS" + }, + { + "id": "HTML", + "name": "HTML" + }, + { + "id": "JavaScript and TypeScript", + "name": "JavaScript and TypeScript" + }, + { + "id": "JavaScript and TypeScript/Flow type checker", + "name": "Flow type checker", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Common Practices and Code Improvements", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCSS", + "name": "PostCSS" + }, + { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "name": "Bitwise operation issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/Common Practices and Code Improvements", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/General", + "name": "General", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfig", + "name": "EditorConfig" + }, + { + "id": "C#/Syntax Style", + "name": "Syntax Style", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Validity issues", + "name": "Validity issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Redundancies in Code", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Formatting", + "name": "Formatting", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SQL", + "name": "SQL" + }, + { + "id": "C#/NUnit", + "name": "NUnit", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Compiler Warnings", + "name": "Compiler Warnings", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/Formatting", + "name": "Formatting", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS", + "name": "CSS" + }, + { + "id": "CSS/Invalid elements", + "name": "Invalid elements", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "name": "Potentially undesirable code constructs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/Clang Static Analyzer Checks", + "name": "Clang Static Analyzer Checks", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HTTP Client", + "name": "HTTP Client" + }, + { + "id": "Kubernetes", + "name": "Kubernetes" + }, + { + "id": "C++/Redundancies in Code", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Roslyn Analyzers", + "name": "Roslyn Analyzers", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Redundancies in Symbol Declarations", + "name": "Redundancies in Symbol Declarations", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Entity Framework", + "name": "Entity Framework", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Properties files", + "name": "Properties files" + }, + { + "id": "VB.NET", + "name": "VB.NET" + }, + { + "id": "VB.NET/Common Practices and Code Improvements", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "VB.NET", + "index": 39, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Blazor", + "name": "Blazor" + }, + { + "id": "Blazor/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "Blazor", + "index": 41, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XSLT", + "name": "XSLT" + }, + { + "id": "Dockerfile", + "name": "Dockerfile" + }, + { + "id": "XAML/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "XAML", + "index": 4, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/[Heap Allocations Plugin] Allocation hints", + "name": "[Heap Allocations Plugin] Allocation hints", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "General", + "name": "General" + }, + { + "id": "ASP.NET route templates", + "name": "ASP.NET route templates" + }, + { + "id": "ASP.NET route templates/Code Notification", + "name": "Code Notification", + "relationships": [ + { + "target": { + "id": "ASP.NET route templates", + "index": 48, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "name": "ES2015 migration aids", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Proofreading", + "name": "Proofreading" + }, + { + "id": "JavaScript and TypeScript/DOM issues", + "name": "DOM issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Code Coverage", + "name": "Code Coverage" + }, + { + "id": "HTML/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/TypeScript", + "name": "TypeScript", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XML", + "name": "XML" + }, + { + "id": "RegExp", + "name": "RegExp" + }, + { + "id": "Angular", + "name": "Angular" + }, + { + "id": "C#/Structured Logging Misuse", + "name": "Structured Logging Misuse", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML/Compiler Warnings", + "name": "Compiler Warnings", + "relationships": [ + { + "target": { + "id": "XAML", + "index": 4, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "name": "Potentially confusing code constructs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VB.NET/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "VB.NET", + "index": 39, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Aspx", + "name": "Aspx" + }, + { + "id": "Aspx/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "Aspx", + "index": 63, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Control flow issues", + "name": "Control flow issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OpenAPI specifications", + "name": "OpenAPI specifications" + }, + { + "id": "ResX", + "name": "ResX" + }, + { + "id": "ResX/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "ResX", + "index": 67, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Code quality tools", + "name": "Code quality tools", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Pug_Jade", + "name": "Pug/Jade" + }, + { + "id": "HTML/Common Practices and Code Improvements", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/Compiler Warnings", + "name": "Compiler Warnings", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Function metrics", + "name": "Function metrics", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML/Redundancies in Code", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "XAML", + "index": 4, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSONPath", + "name": "JSONPath" + }, + { + "id": "JavaScript and TypeScript/Code style issues", + "name": "Code style issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Constraints Violations", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Web.Config", + "name": "Web.Config" + }, + { + "id": "Web.Config/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "Web.Config", + "index": 78, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Security", + "name": "Security" + }, + { + "id": "HTML/Accessibility", + "name": "Accessibility", + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSON and JSON5", + "name": "JSON and JSON5" + }, + { + "id": "XPath", + "name": "XPath" + }, + { + "id": "JavaScript and TypeScript/Probable bugs", + "name": "Probable bugs", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Security", + "name": "Security", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Vue", + "name": "Vue" + }, + { + "id": "GitHub actions", + "name": "GitHub actions" + }, + { + "id": "MongoJS", + "name": "MongoJS" + }, + { + "id": "Markdown", + "name": "Markdown" + }, + { + "id": "C++/Syntax Style", + "name": "Syntax Style", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Razor", + "name": "Razor" + }, + { + "id": "Razor/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "Razor", + "index": 91, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Web.Config/Code Notification", + "name": "Code Notification", + "relationships": [ + { + "target": { + "id": "Web.Config", + "index": 78, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAML", + "name": "YAML" + }, + { + "id": "VB.NET/Redundancies in Code", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "VB.NET", + "index": 39, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Try statement issues", + "name": "Try statement issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Web.Config/Redundancies in Code", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "Web.Config", + "index": 78, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ResX/Redundancies in Code", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "ResX", + "index": 67, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpHandler or WebService", + "name": "HttpHandler or WebService" + }, + { + "id": "HttpHandler or WebService/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "HttpHandler or WebService", + "index": 99, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SQL server", + "name": "SQL server" + }, + { + "id": "JavaScript and TypeScript/Async code and promises", + "name": "Async code and promises", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Naming conventions", + "name": "Naming conventions", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Dependency analysis", + "name": "Dependency analysis" + }, + { + "id": "Inappropriate gRPC request scheme", + "name": "Inappropriate gRPC request scheme" + }, + { + "id": "JavaScript and TypeScript/Assignment issues", + "name": "Assignment issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Switch statement issues", + "name": "Switch statement issues", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VB.NET/Compiler Warnings", + "name": "Compiler Warnings", + "relationships": [ + { + "target": { + "id": "VB.NET", + "index": 39, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Shell script", + "name": "Shell script" + }, + { + "id": "JavaScript and TypeScript/Data flow", + "name": "Data flow", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/UnrealHeaderTool", + "name": "UnrealHeaderTool", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS/Code style issues", + "name": "Code style issues", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "T4", + "name": "T4" + }, + { + "id": "T4/T4", + "name": "T4", + "relationships": [ + { + "target": { + "id": "T4", + "index": 113, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Unused symbols", + "name": "Unused symbols", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Aspx/Redundancies in Code", + "name": "Redundancies in Code", + "relationships": [ + { + "target": { + "id": "Aspx", + "index": 63, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Imports and dependencies", + "name": "Imports and dependencies", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Less", + "name": "Less" + }, + { + "id": "Oracle", + "name": "Oracle" + }, + { + "id": "Internationalization", + "name": "Internationalization" + }, + { + "id": "Unreal Engine", + "name": "Unreal Engine" + }, + { + "id": "CSS/Code quality tools", + "name": "Code quality tools", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Docker-compose", + "name": "Docker-compose" + }, + { + "id": "RELAX NG", + "name": "RELAX NG" + }, + { + "id": "C++/Constraints Violations", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/Unit testing", + "name": "Unit testing", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Unreal Build System", + "name": "Unreal Build System", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MySQL", + "name": "MySQL" + }, + { + "id": "Angular 2 HTML", + "name": "Angular 2 HTML" + }, + { + "id": "Angular 2 HTML/Potential Code Quality Issues", + "name": "Potential Code Quality Issues", + "relationships": [ + { + "target": { + "id": "Angular 2 HTML", + "index": 129, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C++/.NET Core", + "name": ".NET Core", + "relationships": [ + { + "target": { + "id": "C++", + "index": 2, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSS/Probable bugs", + "name": "Probable bugs", + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Ini files", + "name": "Ini files" + }, + { + "id": "Version control", + "name": "Version control" + }, + { + "id": "Aspx/Common Practices and Code Improvements", + "name": "Common Practices and Code Improvements", + "relationships": [ + { + "target": { + "id": "Aspx", + "index": 63, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostgreSQL", + "name": "PostgreSQL" + }, + { + "id": "Qodana", + "name": "Qodana" + }, + { + "id": "File Watchers", + "name": "File Watchers" + }, + { + "id": "Rider", + "name": "Rider" + }, + { + "id": "Rider/General", + "name": "General", + "relationships": [ + { + "target": { + "id": "Rider", + "index": 139, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XAML/Constraints Violations", + "name": "Constraints Violations", + "relationships": [ + { + "target": { + "id": "XAML", + "index": 4, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JavaScript and TypeScript/React", + "name": "React", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Code Notification", + "name": "Code Notification", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Protocol Buffers", + "name": "Protocol Buffers" + }, + { + "id": "MSBuild", + "name": "MSBuild" + }, + { + "id": "VB.NET/Code Notification", + "name": "Code Notification", + "relationships": [ + { + "target": { + "id": "VB.NET", + "index": 39, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpBase", + "name": "RegExpBase" + }, + { + "id": "RegExpBase/Language Usage Opportunities", + "name": "Language Usage Opportunities", + "relationships": [ + { + "target": { + "id": "RegExpBase", + "index": 147, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Handlebars_Mustache", + "name": "Handlebars/Mustache" + }, + { + "id": "JavaScript and TypeScript/Node.js", + "name": "Node.js", + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript", + "index": 12, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "C#/Xunit", + "name": "Xunit", + "relationships": [ + { + "target": { + "id": "C#", + "index": 0, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + "extensions": [ + { + "name": "rider.intellij.plugin.appender", + "version": "241.14494.107", + "rules": [ + { + "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 Learn more...", + "markdown": "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 [Learn more...](https://www.jetbrains.com/help/rider/SwitchStatementHandlesSomeKnownEnumValuesWithDefault.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SwitchStatementHandlesSomeKnownEnumValuesWithDefault", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "-Wc++98-c++11-c++14-compat-pedantic clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-98-c-11-c-14-compat-pedantic)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp98Cpp11Cpp14CompatPedantic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.InvalidDynamicResourceType", + "shortDescription": { + "text": "XAML dynamic resource of invalid type" + }, + "fullDescription": { + "text": "XAML dynamic resource of invalid type", + "markdown": "XAML dynamic resource of invalid type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "Xaml.InvalidDynamicResourceType", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Code Notification", + "index": 5, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUEBlueprintImplementableEventNotImplemented", + "shortDescription": { + "text": "BlueprintImplementableEvent function is not implemented in any blueprint" + }, + "fullDescription": { + "text": "BlueprintImplementableEvent function is not implemented in any blueprint", + "markdown": "BlueprintImplementableEvent function is not implemented in any blueprint" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUEBlueprintImplementableEventNotImplemented", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Unreal Engine", + "index": 6, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToCompoundAssignment", + "shortDescription": { + "text": "Use compound assignment" + }, + "fullDescription": { + "text": "Replace assignment with compound assignment", + "markdown": "Replace assignment with compound assignment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ConvertToCompoundAssignment", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseConfigureAwaitFalseForAsyncDisposable", + "shortDescription": { + "text": "Missing '.ConfigureAwait(false)' for async disposable in library code" + }, + "fullDescription": { + "text": "It is recommended to use 'ConfigureAwait(false)' in your library code to prevent context capture in task continuations. This inspection is controlled by the 'ConfigureAwait analysis mode' project level property, which is set to 'Disabled' by default. Set 'ConfigureAwait analysis mode' project level property to 'Library' to analyze 'await using' statements for missing 'ConfigureAwait(false)' calls.", + "markdown": "It is recommended to use 'ConfigureAwait(false)' in your library code to prevent context capture in task continuations. This inspection is controlled by the 'ConfigureAwait analysis mode' project level property, which is set to 'Disabled' by default. Set 'ConfigureAwait analysis mode' project level property to 'Library' to analyze 'await using' statements for missing 'ConfigureAwait(false)' calls." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "UseConfigureAwaitFalseForAsyncDisposable", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProTypeReinterpretCast", + "shortDescription": { + "text": "cppcoreguidelines-pro-type-reinterpret-cast clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-type-reinterpret-cast clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-pro-type-reinterpret-cast clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/pro-type-reinterpret-cast.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesProTypeReinterpretCast", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumConversion", + "shortDescription": { + "text": "enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-conversion clang diagnostic · Learn more", + "markdown": "-Wenum-conversion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wenum-conversion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticEnumConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCompareDistinctPointerTypes", + "shortDescription": { + "text": "compare-distinct-pointer-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wcompare-distinct-pointer-types clang diagnostic · Learn more", + "markdown": "-Wcompare-distinct-pointer-types clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wcompare-distinct-pointer-types)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCompareDistinctPointerTypes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppAssignedValueIsNeverUsed", + "shortDescription": { + "text": "Assigned value is never used" + }, + "fullDescription": { + "text": "Assigned value is never used", + "markdown": "Assigned value is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppAssignedValueIsNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppCVQualifierCanNotBeAppliedToReference", + "shortDescription": { + "text": "Adding cv-qualifiers to references has no effect" + }, + "fullDescription": { + "text": "Adding cv-qualifiers to references has no effect", + "markdown": "Adding cv-qualifiers to references has no effect" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppCVQualifierCanNotBeAppliedToReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Method bound to delegate must be marked with UFUNCTION macro" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppBoundToDelegateMethodIsNotMarkedAsUFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Unreal Engine", + "index": 6, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneEmptyCatch", + "shortDescription": { + "text": "bugprone-empty-catch clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-empty-catch clang-tidy check · Learn more", + "markdown": "bugprone-empty-catch clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/empty-catch.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneEmptyCatch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreOpenmp51Compat", + "shortDescription": { + "text": "pre-openmp-51-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-openmp-51-compat clang diagnostic · Learn more", + "markdown": "-Wpre-openmp-51-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpre-openmp-51-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPreOpenmp51Compat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatiblePointerTypes", + "shortDescription": { + "text": "incompatible-pointer-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-pointer-types clang diagnostic · Learn more", + "markdown": "-Wincompatible-pointer-types clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wincompatible-pointer-types)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIncompatiblePointerTypes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInitializerOverrides", + "shortDescription": { + "text": "initializer-overrides clang diagnostic" + }, + "fullDescription": { + "text": "-Winitializer-overrides clang diagnostic · Learn more", + "markdown": "-Winitializer-overrides clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#winitializer-overrides)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticInitializerOverrides", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStdlibcxxNotFound", + "shortDescription": { + "text": "stdlibcxx-not-found clang diagnostic" + }, + "fullDescription": { + "text": "-Wstdlibcxx-not-found clang diagnostic · Learn more", + "markdown": "-Wstdlibcxx-not-found clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wstdlibcxx-not-found)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticStdlibcxxNotFound", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalUnsignedEnumZeroCompare", + "shortDescription": { + "text": "tautological-unsigned-enum-zero-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-unsigned-enum-zero-compare clang diagnostic · Learn more", + "markdown": "-Wtautological-unsigned-enum-zero-compare clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wtautological-unsigned-enum-zero-compare)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticTautologicalUnsignedEnumZeroCompare", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Class should have a user-defined constructor because of an uninitialized data member" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClassNeedsConstructorBecauseOfUninitializedMember", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTargetClonesMixedSpecifiers", + "shortDescription": { + "text": "target-clones-mixed-specifiers clang diagnostic" + }, + "fullDescription": { + "text": "-Wtarget-clones-mixed-specifiers clang diagnostic · Learn more", + "markdown": "-Wtarget-clones-mixed-specifiers clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wtarget-clones-mixed-specifiers)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticTargetClonesMixedSpecifiers", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftExists", + "shortDescription": { + "text": "microsoft-exists clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-exists clang diagnostic · Learn more", + "markdown": "-Wmicrosoft-exists clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmicrosoft-exists)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMicrosoftExists", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecAccept", + "shortDescription": { + "text": "android-cloexec-accept clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-accept clang-tidy check · Learn more", + "markdown": "android-cloexec-accept clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android/cloexec-accept.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyAndroidCloexecAccept", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CoVariantArrayConversion", + "shortDescription": { + "text": "Co-variant array conversion" + }, + "fullDescription": { + "text": "Co-variant conversion of array could cause run-time exceptions Learn more...", + "markdown": "Co-variant conversion of array could cause run-time exceptions [Learn more...](https://www.jetbrains.com/help/rider/CoVariantArrayConversion.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CoVariantArrayConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "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) Learn more...", + "markdown": "A non-virtual instance member does not use 'this' object (neither implicitly nor explicitly) and can be made static (shared) [Learn more...](https://www.jetbrains.com/help/rider/MemberCanBeMadeStatic.Global.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "MemberCanBeMadeStatic.Global", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "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 allows ignoring the values.", + "markdown": "For example, when iterating on key-value pairs, std::views::keys allows ignoring the values." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseElementsView", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Common Practices and Code Improvements", + "index": 17, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CollectionNeverUpdated.Global", + "shortDescription": { + "text": "Collection is never updated (non-private accessibility)" + }, + "fullDescription": { + "text": "New elements are never added to the collection Learn more...", + "markdown": "New elements are never added to the collection [Learn more...](https://www.jetbrains.com/help/rider/CollectionNeverUpdated.Global.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CollectionNeverUpdated.Global", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "-Wc++98-c++11-compat-pedantic clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-98-c-11-compat-pedantic)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp98Cpp11CompatPedantic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredPragmaIntrinsic", + "shortDescription": { + "text": "ignored-pragma-intrinsic clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-pragma-intrinsic clang diagnostic · Learn more", + "markdown": "-Wignored-pragma-intrinsic clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wignored-pragma-intrinsic)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIgnoredPragmaIntrinsic", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeModifiersOrder", + "shortDescription": { + "text": "Adjust modifiers declaration order" + }, + "fullDescription": { + "text": "The order of declaration modifiers does not match code style settings Learn more...", + "markdown": "The order of declaration modifiers does not match code style settings [Learn more...](https://www.jetbrains.com/help/rider/ArrangeModifiersOrder.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ArrangeModifiersOrder", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantDelegateCreation", + "shortDescription": { + "text": "Explicit delegate creation expression is redundant" + }, + "fullDescription": { + "text": "Explicit delegate creation expression is redundant Learn more...", + "markdown": "Explicit delegate creation expression is redundant [Learn more...](https://www.jetbrains.com/help/rider/RedundantDelegateCreation.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantDelegateCreation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadSemicolonSpaces", + "shortDescription": { + "text": "Incorrect spacing (around semicolon)" + }, + "fullDescription": { + "text": "Around semicolon Learn more...", + "markdown": "Around semicolon [Learn more...](https://www.jetbrains.com/help/rider/BadSemicolonSpaces.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadSemicolonSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Formatting", + "index": 23, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVarargs", + "shortDescription": { + "text": "varargs clang diagnostic" + }, + "fullDescription": { + "text": "-Wvarargs clang diagnostic · Learn more", + "markdown": "-Wvarargs clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wvarargs)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticVarargs", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "No return statement in a function or a lambda with non-void return type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppFunctionDoesntReturnValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerArith", + "shortDescription": { + "text": "pointer-arith clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-arith clang diagnostic · Learn more", + "markdown": "-Wpointer-arith clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpointer-arith)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPointerArith", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMaxUnsignedZero", + "shortDescription": { + "text": "max-unsigned-zero clang diagnostic" + }, + "fullDescription": { + "text": "-Wmax-unsigned-zero clang diagnostic · Learn more", + "markdown": "-Wmax-unsigned-zero clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmax-unsigned-zero)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMaxUnsignedZero", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeReplaceRandomShuffle", + "shortDescription": { + "text": "modernize-replace-random-shuffle clang-tidy check" + }, + "fullDescription": { + "text": "modernize-replace-random-shuffle clang-tidy check · Learn more", + "markdown": "modernize-replace-random-shuffle clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/replace-random-shuffle.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeReplaceRandomShuffle", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSpirvCompat", + "shortDescription": { + "text": "spirv-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wspirv-compat clang diagnostic · Learn more", + "markdown": "-Wspirv-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wspirv-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticSpirvCompat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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' Learn more...", + "markdown": "Generic type has no value or class constraint, the condition could be always 'false' [Learn more...](https://www.jetbrains.com/help/rider/CompareNonConstrainedGenericWithNull.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CompareNonConstrainedGenericWithNull", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NUnit.ImplicitUnspecifiedNullValues", + "shortDescription": { + "text": "NUnit. Implicitly unspecified null values." + }, + "fullDescription": { + "text": "NUnit. No enough values are provided in the Values attribute so NUnit implicitly adds 'null' values to fill test data. Learn more...", + "markdown": "NUnit. No enough values are provided in the Values attribute so NUnit implicitly adds 'null' values to fill test data. [Learn more...](https://www.jetbrains.com/help/rider/NUnit.ImplicitUnspecifiedNullValues.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NUnit.ImplicitUnspecifiedNullValues", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/NUnit", + "index": 25, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Function returns a value of a type that should be handled at the call site" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppFunctionResultShouldBeUsed", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS4014", + "shortDescription": { + "text": "Async method invocation without await expression" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://msdn.microsoft.com/en-us/library/hh873131.aspx)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS4014", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDoxygenUndocumentedParameter", + "shortDescription": { + "text": "Missing function parameter description in a documentation comment" + }, + "fullDescription": { + "text": "Missing function parameter description in a documentation comment", + "markdown": "Missing function parameter description in a documentation comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppDoxygenUndocumentedParameter", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadSwitchBracesIndent", + "shortDescription": { + "text": "Incorrect indent (around switch statement)" + }, + "fullDescription": { + "text": "Around switch statement", + "markdown": "Around switch statement" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadSwitchBracesIndent", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticImplicitConstIntFloatConversion", + "shortDescription": { + "text": "implicit-const-int-float-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wimplicit-const-int-float-conversion clang diagnostic · Learn more", + "markdown": "-Wimplicit-const-int-float-conversion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wimplicit-const-int-float-conversion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticImplicitConstIntFloatConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleExplicitConstructor", + "shortDescription": { + "text": "google-explicit-constructor clang-tidy check" + }, + "fullDescription": { + "text": "google-explicit-constructor clang-tidy check · Learn more", + "markdown": "google-explicit-constructor clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/explicit-constructor.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyGoogleExplicitConstructor", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowUncapturedLocal", + "shortDescription": { + "text": "shadow-uncaptured-local clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-uncaptured-local clang diagnostic · Learn more", + "markdown": "-Wshadow-uncaptured-local clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wshadow-uncaptured-local)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticShadowUncapturedLocal", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseIsOperator.1", + "shortDescription": { + "text": "Use 'is' operator" + }, + "fullDescription": { + "text": "typeof($T$).IsAssignableFrom($expr$.GetType())", + "markdown": "typeof($T$).IsAssignableFrom($expr$.GetType())" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseIsOperator.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseIsOperator.2", + "shortDescription": { + "text": "Use 'is' operator" + }, + "fullDescription": { + "text": "typeof($T$).IsInstanceOfType($expr$)", + "markdown": "typeof($T$).IsInstanceOfType($expr$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseIsOperator.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusSmartPtrModeling", + "shortDescription": { + "text": "cplusplus.SmartPtrModeling clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.SmartPtrModeling clang static analyzer check · Learn more", + "markdown": "cplusplus.SmartPtrModeling clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerCplusplusSmartPtrModeling", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuComplexInteger", + "shortDescription": { + "text": "gnu-complex-integer clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-complex-integer clang diagnostic · Learn more", + "markdown": "-Wgnu-complex-integer clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wgnu-complex-integer)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGnuComplexInteger", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithOfType.Single.1", + "shortDescription": { + "text": "Replace with OfType().Single()" + }, + "fullDescription": { + "text": "$seq$.Select($x$ => $x$ as $T$).Single($y$ => $y$ != null)", + "markdown": "$seq$.Select($x$ =\\> $x$ as $T$).Single($y$ =\\> $y$ != null)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithOfType.Single.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithOfType.Single.2", + "shortDescription": { + "text": "Replace with OfType().Single() (replace with OfType().Single(..))" + }, + "fullDescription": { + "text": "$seq$.Select($x$ => $x$ as $T$).Single($y$ => $y$ != null && $expr$)", + "markdown": "$seq$.Select($x$ =\\> $x$ as $T$).Single($y$ =\\> $y$ != null \\&\\& $expr$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithOfType.Single.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilTimeSubtraction", + "shortDescription": { + "text": "abseil-time-subtraction clang-tidy check" + }, + "fullDescription": { + "text": "abseil-time-subtraction clang-tidy check · Learn more", + "markdown": "abseil-time-subtraction clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil/time-subtraction.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyAbseilTimeSubtraction", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeallocInCategory", + "shortDescription": { + "text": "dealloc-in-category clang diagnostic" + }, + "fullDescription": { + "text": "-Wdealloc-in-category clang diagnostic · Learn more", + "markdown": "-Wdealloc-in-category clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdealloc-in-category)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeallocInCategory", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp20Compat", + "shortDescription": { + "text": "c++20-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++20-compat clang diagnostic · Learn more", + "markdown": "-Wc++20-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-20-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp20Compat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeleteIncomplete", + "shortDescription": { + "text": "delete-incomplete clang diagnostic" + }, + "fullDescription": { + "text": "-Wdelete-incomplete clang diagnostic · Learn more", + "markdown": "-Wdelete-incomplete clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdelete-incomplete)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeleteIncomplete", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticThreadSafetyAnalysis", + "shortDescription": { + "text": "thread-safety-analysis clang diagnostic" + }, + "fullDescription": { + "text": "-Wthread-safety-analysis clang diagnostic · Learn more", + "markdown": "-Wthread-safety-analysis clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wthread-safety-analysis)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticThreadSafetyAnalysis", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscNoRecursion", + "shortDescription": { + "text": "misc-no-recursion clang-tidy check" + }, + "fullDescription": { + "text": "misc-no-recursion clang-tidy check · Learn more", + "markdown": "misc-no-recursion clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc/no-recursion.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyMiscNoRecursion", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EventUnsubscriptionViaAnonymousDelegate", + "shortDescription": { + "text": "Event unsubscription via anonymous delegate" + }, + "fullDescription": { + "text": "Event unsubscription via anonymous delegate is meaningless", + "markdown": "Event unsubscription via anonymous delegate is meaningless" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "EventUnsubscriptionViaAnonymousDelegate", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantConstSpecifier", + "shortDescription": { + "text": "Redundant 'const' specifier" + }, + "fullDescription": { + "text": "The 'const' specifier on a variable definition is redundant", + "markdown": "The 'const' specifier on a variable definition is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantConstSpecifier", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Redundancies in Code", + "index": 34, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3147", + "shortDescription": { + "text": "RoslynAnalyzers Пометьте обработчики команд маркером проверки на подлинность" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA3147", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseNullableAnnotationInsteadOfAttribute", + "shortDescription": { + "text": "Use nullable annotation instead of an attribute" + }, + "fullDescription": { + "text": "An attribute is used to declare the nullability of a type. Nullable reference types' annotations might be used instead.", + "markdown": "An attribute is used to declare the nullability of a type. Nullable reference types' annotations might be used instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseNullableAnnotationInsteadOfAttribute", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp14CompatPedantic", + "shortDescription": { + "text": "c++14-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++14-compat-pedantic clang diagnostic · Learn more", + "markdown": "-Wc++14-compat-pedantic clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-14-compat-pedantic)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp14CompatPedantic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingIncludeGuard", + "shortDescription": { + "text": "Missing include guard" + }, + "fullDescription": { + "text": "Include guard is not found at the beginning of a header file", + "markdown": "Include guard is not found at the beginning of a header file" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMissingIncludeGuard", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedTupleComponentInReturnValue", + "shortDescription": { + "text": "Component of the tuple is never used" + }, + "fullDescription": { + "text": "Component of the tuple is never used", + "markdown": "Component of the tuple is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedTupleComponentInReturnValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMacroRedefined", + "shortDescription": { + "text": "macro-redefined clang diagnostic" + }, + "fullDescription": { + "text": "-Wmacro-redefined clang diagnostic · Learn more", + "markdown": "-Wmacro-redefined clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmacro-redefined)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMacroRedefined", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRetainedLanguageLinkage", + "shortDescription": { + "text": "retained-language-linkage clang diagnostic" + }, + "fullDescription": { + "text": "-Wretained-language-linkage clang diagnostic · Learn more", + "markdown": "-Wretained-language-linkage clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wretained-language-linkage)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticRetainedLanguageLinkage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EntityFramework.UnsupportedServerSideFunctionCall", + "shortDescription": { + "text": "Function is not convertible to SQL and must not be called in the database context" + }, + "fullDescription": { + "text": "Reports methods that are not convertible to SQL and will produce runtime exceptions when called in database contexts Learn more...", + "markdown": "Reports methods that are not convertible to SQL and will produce runtime exceptions when called in database contexts [Learn more...](https://www.jetbrains.com/help/rider/EntityFramework.UnsupportedServerSideFunctionCall.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "EntityFramework.UnsupportedServerSideFunctionCall", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Entity Framework", + "index": 37, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticKeywordMacro", + "shortDescription": { + "text": "keyword-macro clang diagnostic" + }, + "fullDescription": { + "text": "-Wkeyword-macro clang diagnostic · Learn more", + "markdown": "-Wkeyword-macro clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wkeyword-macro)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticKeywordMacro", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityUseAnyofallof", + "shortDescription": { + "text": "readability-use-anyofallof clang-tidy check" + }, + "fullDescription": { + "text": "readability-use-anyofallof clang-tidy check · Learn more", + "markdown": "readability-use-anyofallof clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/use-anyofallof.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityUseAnyofallof", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReadonlyIboutletProperty", + "shortDescription": { + "text": "readonly-iboutlet-property clang diagnostic" + }, + "fullDescription": { + "text": "-Wreadonly-iboutlet-property clang diagnostic · Learn more", + "markdown": "-Wreadonly-iboutlet-property clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wreadonly-iboutlet-property)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticReadonlyIboutletProperty", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1311", + "shortDescription": { + "text": "RoslynAnalyzers Укажите язык и региональные параметры или используйте инвариантную версию" + }, + "fullDescription": { + "text": "Укажите язык и региональные параметры, чтобы избежать случайной неявной зависимости от текущего языка и региональных параметров. Использование инвариантной версии обеспечивает согласованные результаты независимо от языка и региональных параметров приложения.", + "markdown": "Укажите язык и региональные параметры, чтобы избежать случайной неявной зависимости от текущего языка и региональных параметров. Использование инвариантной версии обеспечивает согласованные результаты независимо от языка и региональных параметров приложения." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA1311", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1310", + "shortDescription": { + "text": "RoslynAnalyzers Используйте StringComparison, чтобы правильно указать намерение." + }, + "fullDescription": { + "text": "Операция сравнения строк использует перегрузку метода, не задающую параметр StringComparison, так как поведение этого параметра может изменяться в зависимости от параметров языкового стандарта текущего пользователя. Настоятельно рекомендуется использовать перегрузку с параметром StringComparison, чтобы правильно и ясно указать намерение. Если результат будет отображаться для пользователя, например, при сортировке элементов в списке, задайте для параметра \"StringComparison\" значение \"StringComparison.CurrentCulture\" или \"StringComparison.CurrentCultureIgnoreCase\". При сравнении идентификаторов, не чувствительных к регистру, таких как пути к файлам, переменные среды или разделы и значения реестра, используйте \"StringComparison.OrdinalIgnoreCase\". В противном случае укажите \"StringComparison.Ordinal\" при сравнении чувствительных к регистру идентификаторов.", + "markdown": "Операция сравнения строк использует перегрузку метода, не задающую параметр StringComparison, так как поведение этого параметра может изменяться в зависимости от параметров языкового стандарта текущего пользователя. Настоятельно рекомендуется использовать перегрузку с параметром StringComparison, чтобы правильно и ясно указать намерение. Если результат будет отображаться для пользователя, например, при сортировке элементов в списке, задайте для параметра \"StringComparison\" значение \"StringComparison.CurrentCulture\" или \"StringComparison.CurrentCultureIgnoreCase\". При сравнении идентификаторов, не чувствительных к регистру, таких как пути к файлам, переменные среды или разделы и значения реестра, используйте \"StringComparison.OrdinalIgnoreCase\". В противном случае укажите \"StringComparison.Ordinal\" при сравнении чувствительных к регистру идентификаторов." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA1310", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGccCompat", + "shortDescription": { + "text": "gcc-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wgcc-compat clang diagnostic · Learn more", + "markdown": "-Wgcc-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wgcc-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGccCompat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "The 'register' storage class specifier is deprecated in C++11 and removed in C++17" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeprecatedRegisterStorageClassSpecifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMemsizeComparison", + "shortDescription": { + "text": "memsize-comparison clang diagnostic" + }, + "fullDescription": { + "text": "-Wmemsize-comparison clang diagnostic · Learn more", + "markdown": "-Wmemsize-comparison clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmemsize-comparison)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMemsizeComparison", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseNegatedPatternInIsExpression", + "shortDescription": { + "text": "Convert negated 'is' expression into 'is' expression with negated pattern" + }, + "fullDescription": { + "text": "Replace unary negation operator '!' before 'is' expression with C# 9.0 negated pattern", + "markdown": "Replace unary negation operator '!' before 'is' expression with C# 9.0 negated pattern" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseNegatedPatternInIsExpression", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppAvoidCArrays", + "shortDescription": { + "text": "hicpp-avoid-c-arrays clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-avoid-c-arrays clang-tidy check · Learn more", + "markdown": "hicpp-avoid-c-arrays clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/avoid-c-arrays.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppAvoidCArrays", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithSingleCallToLast", + "shortDescription": { + "text": "Replace with single call to Last(..)" + }, + "fullDescription": { + "text": "$seq$.Where(Function ($x$) $expr$).Last()", + "markdown": "$seq$.Where(Function ($x$) $expr$).Last()" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithSingleCallToLast", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNoexceptMoveOperations", + "shortDescription": { + "text": "cppcoreguidelines-noexcept-move-operations clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-noexcept-move-operations clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-noexcept-move-operations clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-move-operations.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesNoexceptMoveOperations", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Blazor.EditorRequired", + "shortDescription": { + "text": "Missed value for required attribute" + }, + "fullDescription": { + "text": "Missed value for required attribute", + "markdown": "Missed value for required attribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Blazor.EditorRequired", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Blazor/Potential Code Quality Issues", + "index": 42, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticBackslashNewlineEscape", + "shortDescription": { + "text": "backslash-newline-escape clang diagnostic" + }, + "fullDescription": { + "text": "-Wbackslash-newline-escape clang diagnostic · Learn more", + "markdown": "-Wbackslash-newline-escape clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wbackslash-newline-escape)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticBackslashNewlineEscape", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1309", + "shortDescription": { + "text": "RoslynAnalyzers Использование порядкового сравнения строк" + }, + "fullDescription": { + "text": "Нелингвистическая операция сравнения строк не задает для параметра StringComparison значение Ordinal или OrdinalIgnoreCase. Задав явным образом значение StringComparison.Ordinal или StringComparison.OrdinalIgnoreCase для параметра, можно сделать код более быстродействующим, корректным и надежным.", + "markdown": "Нелингвистическая операция сравнения строк не задает для параметра StringComparison значение Ordinal или OrdinalIgnoreCase. Задав явным образом значение StringComparison.Ordinal или StringComparison.OrdinalIgnoreCase для параметра, можно сделать код более быстродействующим, корректным и надежным." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA1309", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1308", + "shortDescription": { + "text": "RoslynAnalyzers Нормализуйте строки до прописных букв" + }, + "fullDescription": { + "text": "Строки следует нормализовать до прописных букв. Небольшая группа символов не может выполнить круговой путь, если они преобразованы в нижний регистр. Круговой путь заключается в преобразовании символов из одного языкового стандарта в другой, где символьные данные представлены иначе, и последующем точном извлечении исходных символов из преобразованных.", + "markdown": "Строки следует нормализовать до прописных букв. Небольшая группа символов не может выполнить круговой путь, если они преобразованы в нижний регистр. Круговой путь заключается в преобразовании символов из одного языкового стандарта в другой, где символьные данные представлены иначе, и последующем точном извлечении исходных символов из преобразованных." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA1308", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1307", + "shortDescription": { + "text": "RoslynAnalyzers Используйте StringComparison, чтобы ясно указать намерение." + }, + "fullDescription": { + "text": "Операция сравнения строк использует перегрузку метода, не задающую параметр StringComparison. Рекомендуется использовать перегрузку с параметром StringComparison, чтобы ясно указать намерение. Если результат будет отображаться для пользователя, например, при сортировке элементов в списке, задайте для параметра \"StringComparison\" значение \"StringComparison.CurrentCulture\" или \"StringComparison.CurrentCultureIgnoreCase\". При сравнении идентификаторов, не чувствительных к регистру, таких как пути к файлам, переменные среды или разделы и значения реестра, используйте \"StringComparison.OrdinalIgnoreCase\". В противном случае укажите \"StringComparison.Ordinal\" при сравнении чувствительных к регистру идентификаторов.", + "markdown": "Операция сравнения строк использует перегрузку метода, не задающую параметр StringComparison. Рекомендуется использовать перегрузку с параметром StringComparison, чтобы ясно указать намерение. Если результат будет отображаться для пользователя, например, при сортировке элементов в списке, задайте для параметра \"StringComparison\" значение \"StringComparison.CurrentCulture\" или \"StringComparison.CurrentCultureIgnoreCase\". При сравнении идентификаторов, не чувствительных к регистру, таких как пути к файлам, переменные среды или разделы и значения реестра, используйте \"StringComparison.OrdinalIgnoreCase\". В противном случае укажите \"StringComparison.Ordinal\" при сравнении чувствительных к регистру идентификаторов." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA1307", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSizeofExpression", + "shortDescription": { + "text": "bugprone-sizeof-expression clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-sizeof-expression clang-tidy check · Learn more", + "markdown": "bugprone-sizeof-expression clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/sizeof-expression.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneSizeofExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1305", + "shortDescription": { + "text": "RoslynAnalyzers Укажите IFormatProvider" + }, + "fullDescription": { + "text": "Метод или конструктор вызывает один или несколько элементов, которые имеют перегрузки, принимающие параметр System.IFormatProvider, при этом данный метод или конструктор не вызывает перегрузку, принимающую параметр IFormatProvider. Если объект System.Globalization.CultureInfo или IFormatProvider не задан, значение по умолчанию, предоставленное перегруженным элементом, может не оказывать требуемое вам воздействие для всех языковых стандартов. Если результат зависит от вводимых пользователем данных или предоставляемых ему выходных данных, укажите \"CultureInfo.CurrentCulture\" в качестве параметра \"IFormatProvider\". В противном случае, если результат сохраняется и используется программным обеспечением, например при загрузке его с диска или из базы данных и при сохранении в этих расположениях, укажите \"CultureInfo.InvariantCulture\".", + "markdown": "Метод или конструктор вызывает один или несколько элементов, которые имеют перегрузки, принимающие параметр System.IFormatProvider, при этом данный метод или конструктор не вызывает перегрузку, принимающую параметр IFormatProvider. Если объект System.Globalization.CultureInfo или IFormatProvider не задан, значение по умолчанию, предоставленное перегруженным элементом, может не оказывать требуемое вам воздействие для всех языковых стандартов. Если результат зависит от вводимых пользователем данных или предоставляемых ему выходных данных, укажите \"CultureInfo.CurrentCulture\" в качестве параметра \"IFormatProvider\". В противном случае, если результат сохраняется и используется программным обеспечением, например при загрузке его с диска или из базы данных и при сохранении в этих расположениях, укажите \"CultureInfo.InvariantCulture\"." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA1305", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1304", + "shortDescription": { + "text": "RoslynAnalyzers Укажите CultureInfo" + }, + "fullDescription": { + "text": "Метод или конструктор вызывает элемент, который имеет перегрузку, принимающую параметр System.Globalization.CultureInfo, при этом данный метод или конструктор не вызывает перегрузку, принимающую параметр CultureInfo. Если объект CultureInfo или System.IFormatProvider не задан, значение по умолчанию, предоставленное перегруженным элементом, может не оказывать требуемое вам воздействие для всех языковых стандартов. Если результат выводится пользователю, укажите \"CultureInfo.CurrentCulture\" в качестве параметра \"CultureInfo\". В противном случае, если результат сохраняется и используется программным обеспечением, например при сохранении его на диск или в базу данных, укажите \"CultureInfo.InvariantCulture\".", + "markdown": "Метод или конструктор вызывает элемент, который имеет перегрузку, принимающую параметр System.Globalization.CultureInfo, при этом данный метод или конструктор не вызывает перегрузку, принимающую параметр CultureInfo. Если объект CultureInfo или System.IFormatProvider не задан, значение по умолчанию, предоставленное перегруженным элементом, может не оказывать требуемое вам воздействие для всех языковых стандартов. Если результат выводится пользователю, укажите \"CultureInfo.CurrentCulture\" в качестве параметра \"CultureInfo\". В противном случае, если результат сохраняется и используется программным обеспечением, например при сохранении его на диск или в базу данных, укажите \"CultureInfo.InvariantCulture\"." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA1304", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1303", + "shortDescription": { + "text": "RoslynAnalyzers Не передавать литералы в качестве локализованных параметров" + }, + "fullDescription": { + "text": "Метод передает строковый литерал в качестве параметра конструктору или методу в библиотеке классов .NET Framework, и эта строка должна быть локализуемой. Чтобы устранить нарушение этого правила, замените строковый литерал строкой, полученной через экземпляр класса ResourceManager.", + "markdown": "Метод передает строковый литерал в качестве параметра конструктору или методу в библиотеке классов .NET Framework, и эта строка должна быть локализуемой. Чтобы устранить нарушение этого правила, замените строковый литерал строкой, полученной через экземпляр класса ResourceManager." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA1303", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NUnit.TestCaseSourceShouldImplementIEnumerable", + "shortDescription": { + "text": "NUnit. Test case source must be non-abstract and implement IEnumerable." + }, + "fullDescription": { + "text": "NUnit. Test case source must refer to non-abstract class implementing IEnumerable. Learn more...", + "markdown": "NUnit. Test case source must refer to non-abstract class implementing IEnumerable. [Learn more...](https://www.jetbrains.com/help/rider/NUnit.TestCaseSourceShouldImplementIEnumerable.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NUnit.TestCaseSourceShouldImplementIEnumerable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/NUnit", + "index": 25, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CollectionNeverUpdated.Local", + "shortDescription": { + "text": "Collection is never updated (private accessibility)" + }, + "fullDescription": { + "text": "New elements are never added to the collection Learn more...", + "markdown": "New elements are never added to the collection [Learn more...](https://www.jetbrains.com/help/rider/CollectionNeverUpdated.Local.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CollectionNeverUpdated.Local", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0019", + "shortDescription": { + "text": "RoslynAnalyzers Updating the alias of Declare statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0019", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0018", + "shortDescription": { + "text": "RoslynAnalyzers Updating the library name of Declare statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0018", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0026", + "shortDescription": { + "text": "RoslynAnalyzers Adding a user defined {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0026", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOpenmp51Extensions", + "shortDescription": { + "text": "openmp-51-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wopenmp-51-extensions clang diagnostic · Learn more", + "markdown": "-Wopenmp-51-extensions clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wopenmp-51-extensions)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticOpenmp51Extensions", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadColonSpaces", + "shortDescription": { + "text": "Incorrect spacing (around colon)" + }, + "fullDescription": { + "text": "Around colon", + "markdown": "Around colon" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadColonSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0024", + "shortDescription": { + "text": "RoslynAnalyzers Adding a MustOverride {0} or overriding an inherited {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0024", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0025", + "shortDescription": { + "text": "RoslynAnalyzers Adding an extern {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0025", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0023", + "shortDescription": { + "text": "RoslynAnalyzers Adding an abstract {0} or overriding an inherited {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0023", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0020", + "shortDescription": { + "text": "RoslynAnalyzers Renaming {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0020", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Simplify nested member access in a pattern by using the C# 10 extended property patterns syntax [Learn more...](https://www.jetbrains.com/help/rider/MergeNestedPropertyPatterns.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "MergeNestedPropertyPatterns", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0021", + "shortDescription": { + "text": "RoslynAnalyzers Adding {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0021", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStrictPrototypes", + "shortDescription": { + "text": "strict-prototypes clang diagnostic" + }, + "fullDescription": { + "text": "-Wstrict-prototypes clang diagnostic · Learn more", + "markdown": "-Wstrict-prototypes clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wstrict-prototypes)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticStrictPrototypes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.XKeyAttributeDisallowed", + "shortDescription": { + "text": "x:Key is allowed for resources and dictionary elements only" + }, + "fullDescription": { + "text": "x:Key is allowed for resources and dictionary elements only", + "markdown": "x:Key is allowed for resources and dictionary elements only" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "Xaml.XKeyAttributeDisallowed", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Potential Code Quality Issues", + "index": 45, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PatternIsRedundant", + "shortDescription": { + "text": "The pattern is redundant, it does not produce any runtime checks" + }, + "fullDescription": { + "text": "The pattern is redundant because it does not produce any actual checks at runtime. This usually indicates an error in the pattern matching condition. Learn more...", + "markdown": "The pattern is redundant because it does not produce any actual checks at runtime. This usually indicates an error in the pattern matching condition. [Learn more...](https://www.jetbrains.com/help/rider/PatternIsRedundant.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PatternIsRedundant", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesMissingStdForward", + "shortDescription": { + "text": "cppcoreguidelines-missing-std-forward clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-missing-std-forward clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-missing-std-forward clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/missing-std-forward.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesMissingStdForward", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JoinNullCheckWithUsage", + "shortDescription": { + "text": "Join null check with assignment" + }, + "fullDescription": { + "text": "Replaces if statement with code using ?? operator and throw expression Learn more...", + "markdown": "Replaces if statement with code using ?? operator and throw expression [Learn more...](https://www.jetbrains.com/help/rider/JoinNullCheckWithUsage.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "JoinNullCheckWithUsage", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSingleBitBitfieldConstantConversion", + "shortDescription": { + "text": "single-bit-bitfield-constant-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wsingle-bit-bitfield-constant-conversion clang diagnostic · Learn more", + "markdown": "-Wsingle-bit-bitfield-constant-conversion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wsingle-bit-bitfield-constant-conversion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticSingleBitBitfieldConstantConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HeapView.ImplicitCapture", + "shortDescription": { + "text": "Implicitly captured variables" + }, + "fullDescription": { + "text": "Highlights places where closure implicitly captures some variables that can contain references, resulting in memory leaks", + "markdown": "Highlights places where closure implicitly captures some variables that can contain references, resulting in memory leaks" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HeapView.ImplicitCapture", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/[Heap Allocations Plugin] Allocation hints", + "index": 46, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReceiverExpr", + "shortDescription": { + "text": "receiver-expr clang diagnostic" + }, + "fullDescription": { + "text": "-Wreceiver-expr clang diagnostic · Learn more", + "markdown": "-Wreceiver-expr clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wreceiver-expr)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticReceiverExpr", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0008", + "shortDescription": { + "text": "RoslynAnalyzers Changing a field to an event or vice versa requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0008", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS1574,CS1584,CS1581,CS1580", + "shortDescription": { + "text": "Cannot resolve reference in XML comment" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://www.jetbrains.com/help/rider/CSharpWarnings_CS1574_CS1584_CS1581_CS1580.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS1574,CS1584,CS1581,CS1580", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0009", + "shortDescription": { + "text": "RoslynAnalyzers Updating the type of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0009", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0006", + "shortDescription": { + "text": "RoslynAnalyzers Updating the Implements clause of a {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0006", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0007", + "shortDescription": { + "text": "RoslynAnalyzers Updating the variance of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0007", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0015", + "shortDescription": { + "text": "RoslynAnalyzers Updating the kind of a type requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0015", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0016", + "shortDescription": { + "text": "RoslynAnalyzers Updating the kind of a property/event accessor requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0016", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS8425", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0013", + "shortDescription": { + "text": "RoslynAnalyzers Updating the underlying type of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0013", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS8424", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0014", + "shortDescription": { + "text": "RoslynAnalyzers Updating the base class and/or base interface(s) of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0014", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0011", + "shortDescription": { + "text": "RoslynAnalyzers Updating the initializer of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0011", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0012", + "shortDescription": { + "text": "RoslynAnalyzers Updating the size of a {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0012", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsafeBufferUsage", + "shortDescription": { + "text": "unsafe-buffer-usage clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsafe-buffer-usage clang diagnostic · Learn more", + "markdown": "-Wunsafe-buffer-usage clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunsafe-buffer-usage)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnsafeBufferUsage", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeletingVoidPointer", + "shortDescription": { + "text": "Deleting a void pointer" + }, + "fullDescription": { + "text": "Deleting a void pointer is undefined behavior", + "markdown": "Deleting a void pointer is undefined behavior" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeletingVoidPointer", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStrictSelectorMatch", + "shortDescription": { + "text": "strict-selector-match clang diagnostic" + }, + "fullDescription": { + "text": "-Wstrict-selector-match clang diagnostic · Learn more", + "markdown": "-Wstrict-selector-match clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wstrict-selector-match)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticStrictSelectorMatch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullableToNonnullConversion", + "shortDescription": { + "text": "nullable-to-nonnull-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wnullable-to-nonnull-conversion clang diagnostic · Learn more", + "markdown": "-Wnullable-to-nonnull-conversion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wnullable-to-nonnull-conversion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticNullableToNonnullConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0004", + "shortDescription": { + "text": "RoslynAnalyzers Updating the modifiers of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0004", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0005", + "shortDescription": { + "text": "RoslynAnalyzers Updating the Handles clause of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0005", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0002", + "shortDescription": { + "text": "RoslynAnalyzers Removing {0} that contains an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0002", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RouteTemplates.ParameterConstraintCanBeSpecified", + "shortDescription": { + "text": "Route parameter constraint can be added due to type of method argument" + }, + "fullDescription": { + "text": "Route parameter constraint can be added due to type of method argument", + "markdown": "Route parameter constraint can be added due to type of method argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RouteTemplates.ParameterConstraintCanBeSpecified", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "ASP.NET route templates/Code Notification", + "index": 49, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0003", + "shortDescription": { + "text": "RoslynAnalyzers Updating '{0}' requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0003", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftCommentPaste", + "shortDescription": { + "text": "microsoft-comment-paste clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-comment-paste clang diagnostic · Learn more", + "markdown": "-Wmicrosoft-comment-paste clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmicrosoft-comment-paste)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMicrosoftCommentPaste", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0001", + "shortDescription": { + "text": "RoslynAnalyzers Updating an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0001", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Throw expression can be replaced with a rethrow expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppThrowExpressionCanBeReplacedWithRethrow", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Common Practices and Code Improvements", + "index": 17, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.XamlMismatchedDeviceFamilyViewClrNameHighlighting", + "shortDescription": { + "text": "DeviceFamily-specific view type name does not match generic type name" + }, + "fullDescription": { + "text": "DeviceFamily-specific view type name does not match generic type name", + "markdown": "DeviceFamily-specific view type name does not match generic type name" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Xaml.XamlMismatchedDeviceFamilyViewClrNameHighlighting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Potential Code Quality Issues", + "index": 45, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "-Wc++98-c++11-c++14-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-98-c-11-c-14-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp98Cpp11Cpp14Compat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSwitchMissingDefaultCase", + "shortDescription": { + "text": "bugprone-switch-missing-default-case clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-switch-missing-default-case clang-tidy check · Learn more", + "markdown": "bugprone-switch-missing-default-case clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/switch-missing-default-case.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyBugproneSwitchMissingDefaultCase", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp14CompatPedantic", + "shortDescription": { + "text": "pre-c++14-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++14-compat-pedantic clang diagnostic · Learn more", + "markdown": "-Wpre-c++14-compat-pedantic clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpre-c-14-compat-pedantic)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPreCpp14CompatPedantic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "-Wdeprecated-copy-with-user-provided-copy clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-copy-with-user-provided-copy)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedCopyWithUserProvidedCopy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Using an incompatible reference type in the range declaration is likely to cause unwanted object copying" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRangeBasedForIncompatibleReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtomicAccess", + "shortDescription": { + "text": "atomic-access clang diagnostic" + }, + "fullDescription": { + "text": "-Watomic-access clang diagnostic · Learn more", + "markdown": "-Watomic-access clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#watomic-access)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticAtomicAccess", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalTypeLimitCompare", + "shortDescription": { + "text": "tautological-type-limit-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-type-limit-compare clang diagnostic · Learn more", + "markdown": "-Wtautological-type-limit-compare clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wtautological-type-limit-compare)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticTautologicalTypeLimitCompare", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertCon36C", + "shortDescription": { + "text": "cert-con36-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-con36-c clang-tidy check · Learn more", + "markdown": "cert-con36-c clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/con36-c.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCertCon36C", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftUnionMemberReference", + "shortDescription": { + "text": "microsoft-union-member-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-union-member-reference clang diagnostic · Learn more", + "markdown": "-Wmicrosoft-union-member-reference clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmicrosoft-union-member-reference)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMicrosoftUnionMemberReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToLocalFunction", + "shortDescription": { + "text": "Convert delegate variable into local function" + }, + "fullDescription": { + "text": "Replace delegate variable with local function Learn more...", + "markdown": "Replace delegate variable with local function [Learn more...](https://www.jetbrains.com/help/rider/ConvertToLocalFunction.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ConvertToLocalFunction", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonModularIncludeInModule", + "shortDescription": { + "text": "non-modular-include-in-module clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-modular-include-in-module clang diagnostic · Learn more", + "markdown": "-Wnon-modular-include-in-module clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wnon-modular-include-in-module)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticNonModularIncludeInModule", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReadModulesImplicitly", + "shortDescription": { + "text": "read-modules-implicitly clang diagnostic" + }, + "fullDescription": { + "text": "-Wread-modules-implicitly clang diagnostic · Learn more", + "markdown": "-Wread-modules-implicitly clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wread-modules-implicitly)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticReadModulesImplicitly", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceNoexceptDestructor", + "shortDescription": { + "text": "performance-noexcept-destructor clang-tidy check" + }, + "fullDescription": { + "text": "performance-noexcept-destructor clang-tidy check · Learn more", + "markdown": "performance-noexcept-destructor clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance/noexcept-destructor.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyPerformanceNoexceptDestructor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleMsStruct", + "shortDescription": { + "text": "incompatible-ms-struct clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-ms-struct clang diagnostic · Learn more", + "markdown": "-Wincompatible-ms-struct clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wincompatible-ms-struct)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIncompatibleMsStruct", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNoArrayDecay", + "shortDescription": { + "text": "hicpp-no-array-decay clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-no-array-decay clang-tidy check · Learn more", + "markdown": "hicpp-no-array-decay clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/no-array-decay.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppNoArrayDecay", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxNSOrCFErrorDerefChecker", + "shortDescription": { + "text": "osx.NSOrCFErrorDerefChecker clang static analyzer check" + }, + "fullDescription": { + "text": "osx.NSOrCFErrorDerefChecker clang static analyzer check · Learn more", + "markdown": "osx.NSOrCFErrorDerefChecker clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerOsxNSOrCFErrorDerefChecker", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPointerIntegerCompare", + "shortDescription": { + "text": "pointer-integer-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wpointer-integer-compare clang diagnostic · Learn more", + "markdown": "-Wpointer-integer-compare clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpointer-integer-compare)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPointerIntegerCompare", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingIndent", + "shortDescription": { + "text": "Incorrect indent (missing indent/outdent elsewhere)" + }, + "fullDescription": { + "text": "Missing indent/outdent elsewhere", + "markdown": "Missing indent/outdent elsewhere" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppMissingIndent", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleFunctionPointerTypesStrict", + "shortDescription": { + "text": "incompatible-function-pointer-types-strict clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-function-pointer-types-strict clang diagnostic · Learn more", + "markdown": "-Wincompatible-function-pointer-types-strict clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wincompatible-function-pointer-types-strict)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIncompatibleFunctionPointerTypesStrict", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.AttributeValueNotResolved", + "shortDescription": { + "text": "Unknown attribute value" + }, + "fullDescription": { + "text": "Unknown attribute value in HTML and related technologies", + "markdown": "Unknown attribute value in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "Html.AttributeValueNotResolved", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Potential Code Quality Issues", + "index": 54, + "toolComponent": { + "name": "RD" + } + }, + "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.", + "markdown": "Too many arguments in a call to printf. Some of the arguments are not used." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPrintfExtraArg", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityElseAfterReturn", + "shortDescription": { + "text": "readability-else-after-return clang-tidy check" + }, + "fullDescription": { + "text": "readability-else-after-return clang-tidy check · Learn more", + "markdown": "readability-else-after-return clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/else-after-return.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityElseAfterReturn", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaClangAttribute", + "shortDescription": { + "text": "pragma-clang-attribute clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragma-clang-attribute clang diagnostic · Learn more", + "markdown": "-Wpragma-clang-attribute clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpragma-clang-attribute)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPragmaClangAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesProBoundsPointerArithmetic", + "shortDescription": { + "text": "cppcoreguidelines-pro-bounds-pointer-arithmetic clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-pro-bounds-pointer-arithmetic clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-pro-bounds-pointer-arithmetic clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-pointer-arithmetic.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesProBoundsPointerArithmetic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExternInitializer", + "shortDescription": { + "text": "extern-initializer clang diagnostic" + }, + "fullDescription": { + "text": "-Wextern-initializer clang diagnostic · Learn more", + "markdown": "-Wextern-initializer clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wextern-initializer)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticExternInitializer", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidMagicNumbers", + "shortDescription": { + "text": "cppcoreguidelines-avoid-magic-numbers clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-magic-numbers clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-avoid-magic-numbers clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-magic-numbers.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesAvoidMagicNumbers", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BaseObjectGetHashCodeCallInGetHashCode", + "shortDescription": { + "text": "Overridden GetHashCode calls base 'Object.GetHashCode()'" + }, + "fullDescription": { + "text": "Overridden GetHashCode calls base 'Object.GetHashCode()'", + "markdown": "Overridden GetHashCode calls base 'Object.GetHashCode()'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "BaseObjectGetHashCodeCallInGetHashCode", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedLiteralOperator", + "shortDescription": { + "text": "deprecated-literal-operator clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-literal-operator clang diagnostic · Learn more", + "markdown": "-Wdeprecated-literal-operator clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-literal-operator)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedLiteralOperator", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityUppercaseLiteralSuffix", + "shortDescription": { + "text": "readability-uppercase-literal-suffix clang-tidy check" + }, + "fullDescription": { + "text": "readability-uppercase-literal-suffix clang-tidy check · Learn more", + "markdown": "readability-uppercase-literal-suffix clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/uppercase-literal-suffix.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityUppercaseLiteralSuffix", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDirectIvarAccess", + "shortDescription": { + "text": "direct-ivar-access clang diagnostic" + }, + "fullDescription": { + "text": "-Wdirect-ivar-access clang diagnostic · Learn more", + "markdown": "-Wdirect-ivar-access clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdirect-ivar-access)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDirectIvarAccess", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIdenticalOperandsInBinaryExpression", + "shortDescription": { + "text": "Binary operator acts on identical operands" + }, + "fullDescription": { + "text": "Binary operator acts on identical operands", + "markdown": "Binary operator acts on identical operands" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppIdenticalOperandsInBinaryExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedRegister", + "shortDescription": { + "text": "deprecated-register clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-register clang diagnostic · Learn more", + "markdown": "-Wdeprecated-register clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-register)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedRegister", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMismatchedNewDelete", + "shortDescription": { + "text": "mismatched-new-delete clang diagnostic" + }, + "fullDescription": { + "text": "-Wmismatched-new-delete clang diagnostic · Learn more", + "markdown": "-Wmismatched-new-delete clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmismatched-new-delete)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMismatchedNewDelete", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Constant shift expression with non-zero operands results in a zero value" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ShiftExpressionResultEqualsZero", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantStringInit", + "shortDescription": { + "text": "readability-redundant-string-init clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-string-init clang-tidy check · Learn more", + "markdown": "readability-redundant-string-init clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/redundant-string-init.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityRedundantStringInit", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedTargetOpt", + "shortDescription": { + "text": "unsupported-target-opt clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-target-opt clang diagnostic · Learn more", + "markdown": "-Wunsupported-target-opt clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunsupported-target-opt)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnsupportedTargetOpt", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalConstantInRangeCompare", + "shortDescription": { + "text": "tautological-constant-in-range-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-constant-in-range-compare clang diagnostic · Learn more", + "markdown": "-Wtautological-constant-in-range-compare clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wtautological-constant-in-range-compare)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticTautologicalConstantInRangeCompare", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownEscapeSequence", + "shortDescription": { + "text": "unknown-escape-sequence clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-escape-sequence clang diagnostic · Learn more", + "markdown": "-Wunknown-escape-sequence clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunknown-escape-sequence)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnknownEscapeSequence", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseArrayEmptyMethod", + "shortDescription": { + "text": "Use 'Array.Empty()'" + }, + "fullDescription": { + "text": "Replace an empty array allocation with a call of the predefined 'Array.Empty()' method", + "markdown": "Replace an empty array allocation with a call of the predefined 'Array.Empty()' method" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseArrayEmptyMethod", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadCommaSpaces", + "shortDescription": { + "text": "Incorrect spacing (around comma)" + }, + "fullDescription": { + "text": "Around comma", + "markdown": "Around comma" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadCommaSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "The class is abstract but not explicitly declared as such" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppAbstractClassWithoutSpecifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithOfType.Single.2", + "shortDescription": { + "text": "Replace with OfType().Single() (replace with OfType(Of ..)().Single(..))" + }, + "fullDescription": { + "text": "$seq$.Select(Function ($x$) TryCast($x$, $T$)).Single(Function ($y$) $y$ IsNot Nothing AndAlso $expr$)", + "markdown": "$seq$.Select(Function ($x$) TryCast($x$, $T$)).Single(Function ($y$) $y$ IsNot Nothing AndAlso $expr$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithOfType.Single.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithOfType.Single.1", + "shortDescription": { + "text": "Replace with OfType().Single() (replace with OfType(Of ..)().Single())" + }, + "fullDescription": { + "text": "$seq$.Select(Function ($x$) TryCast($x$, $T$)).Single(Function ($y$) $y$ IsNot Nothing)", + "markdown": "$seq$.Select(Function ($x$) TryCast($x$, $T$)).Single(Function ($y$) $y$ IsNot Nothing)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithOfType.Single.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormatSecurity", + "shortDescription": { + "text": "format-security clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat-security clang diagnostic · Learn more", + "markdown": "-Wformat-security clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wformat-security)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticFormatSecurity", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "A format string of boost::format contains an erroneous format directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppBoostFormatBadCode", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadParensSpaces", + "shortDescription": { + "text": "Incorrect spacing (around parenthesis)" + }, + "fullDescription": { + "text": "Around parenthesis", + "markdown": "Around parenthesis" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadParensSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossibleInterfaceMemberAmbiguity", + "shortDescription": { + "text": "Possible ambiguity while accessing member by interface" + }, + "fullDescription": { + "text": "Possible ambiguity while accessing member by interface", + "markdown": "Possible ambiguity while accessing member by interface" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PossibleInterfaceMemberAmbiguity", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPessimizingMove", + "shortDescription": { + "text": "pessimizing-move clang diagnostic" + }, + "fullDescription": { + "text": "-Wpessimizing-move clang diagnostic · Learn more", + "markdown": "-Wpessimizing-move clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpessimizing-move)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPessimizingMove", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MethodHasAsyncOverloadWithCancellation", + "shortDescription": { + "text": "Method has async overload with cancellation support" + }, + "fullDescription": { + "text": "Method has async overload with 'CancellationToken'", + "markdown": "Method has async overload with 'CancellationToken'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "MethodHasAsyncOverloadWithCancellation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatibleFunctionPointerTypes", + "shortDescription": { + "text": "incompatible-function-pointer-types clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-function-pointer-types clang diagnostic · Learn more", + "markdown": "-Wincompatible-function-pointer-types clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wincompatible-function-pointer-types)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIncompatibleFunctionPointerTypes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "-Wdelete-non-abstract-non-virtual-dtor clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdelete-non-abstract-non-virtual-dtor)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeleteNonAbstractNonVirtualDtor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "A private special member function must be defined or deleted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPrivateSpecialMemberFunctionIsNotImplemented", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesAvoidGoto", + "shortDescription": { + "text": "cppcoreguidelines-avoid-goto clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-avoid-goto clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-avoid-goto clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/avoid-goto.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesAvoidGoto", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUndefPrefix", + "shortDescription": { + "text": "undef-prefix clang diagnostic" + }, + "fullDescription": { + "text": "-Wundef-prefix clang diagnostic · Learn more", + "markdown": "-Wundef-prefix clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wundef-prefix)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUndefPrefix", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityInconsistentDeclarationParameterName", + "shortDescription": { + "text": "readability-inconsistent-declaration-parameter-name clang-tidy check" + }, + "fullDescription": { + "text": "readability-inconsistent-declaration-parameter-name clang-tidy check · Learn more", + "markdown": "readability-inconsistent-declaration-parameter-name clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/inconsistent-declaration-parameter-name.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityInconsistentDeclarationParameterName", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LogMessageIsSentenceProblem", + "shortDescription": { + "text": "Log event messages should be fragments, not sentences. Avoid a trailing period/full stop." + }, + "fullDescription": { + "text": "Log event messages should be fragments, not sentences. Avoid a trailing period/full stop. Learn more...", + "markdown": "Log event messages should be fragments, not sentences. Avoid a trailing period/full stop. [Learn more...](https://github.com/olsh/resharper-structured-logging/blob/master/rules/LogMessageIsSentenceProblem.md)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "LogMessageIsSentenceProblem", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Structured Logging Misuse", + "index": 59, + "toolComponent": { + "name": "RD" + } + }, + "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)", + "markdown": "Use of obsolete type or type member in XAML markup (error)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "ObsoleteElementError", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Compiler Warnings", + "index": 60, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertConstructorToMemberInitializers", + "shortDescription": { + "text": "Convert constructor into member initializers" + }, + "fullDescription": { + "text": "Replace constructor with members initialized inline", + "markdown": "Replace constructor with members initialized inline" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ConvertConstructorToMemberInitializers", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnhandledExceptionAtNew", + "shortDescription": { + "text": "bugprone-unhandled-exception-at-new clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unhandled-exception-at-new clang-tidy check · Learn more", + "markdown": "bugprone-unhandled-exception-at-new clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/unhandled-exception-at-new.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyBugproneUnhandledExceptionAtNew", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDllexportExplicitInstantiationDecl", + "shortDescription": { + "text": "dllexport-explicit-instantiation-decl clang diagnostic" + }, + "fullDescription": { + "text": "-Wdllexport-explicit-instantiation-decl clang diagnostic · Learn more", + "markdown": "-Wdllexport-explicit-instantiation-decl clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdllexport-explicit-instantiation-decl)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDllexportExplicitInstantiationDecl", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIntegralToPointerConversion", + "shortDescription": { + "text": "Implicit integer to pointer conversion" + }, + "fullDescription": { + "text": "Implicit integer to pointer conversion", + "markdown": "Implicit integer to pointer conversion" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppIntegralToPointerConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS0420", + "shortDescription": { + "text": "Reference to a volatile field will not be treated as volatile" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://msdn.microsoft.com/en-us/library/4bw5ewxy.aspx)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS0420", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFourCharConstants", + "shortDescription": { + "text": "four-char-constants clang diagnostic" + }, + "fullDescription": { + "text": "-Wfour-char-constants clang diagnostic · Learn more", + "markdown": "-Wfour-char-constants clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wfour-char-constants)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticFourCharConstants", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS8383", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.XamlRelativeSourceDefaultModeWarningHighlighting", + "shortDescription": { + "text": "RelativeSourceMode is not set explicitly" + }, + "fullDescription": { + "text": "Default RelativeSourceMode value is platform-specific, explicit specification is required to process RelativeSource usage unambiguously", + "markdown": "Default RelativeSourceMode value is platform-specific, explicit specification is required to process RelativeSource usage unambiguously" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Xaml.XamlRelativeSourceDefaultModeWarningHighlighting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Potential Code Quality Issues", + "index": 45, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NUnit.RangeAttributeBoundsAreOutOfRange", + "shortDescription": { + "text": "NUnit. Values in range do not fit the type of the test parameter." + }, + "fullDescription": { + "text": "NUnit. Values specified in [Range] are out range for the type of the test parameter. Learn more...", + "markdown": "NUnit. Values specified in \\[Range\\] are out range for the type of the test parameter. [Learn more...](https://www.jetbrains.com/help/rider/NUnit.RangeAttributeBoundsAreOutOfRange.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NUnit.RangeAttributeBoundsAreOutOfRange", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/NUnit", + "index": 25, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaVirtualInheritance", + "shortDescription": { + "text": "fuchsia-virtual-inheritance clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-virtual-inheritance clang-tidy check · Learn more", + "markdown": "fuchsia-virtual-inheritance clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia/virtual-inheritance.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyFuchsiaVirtualInheritance", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuPointerArith", + "shortDescription": { + "text": "gnu-pointer-arith clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-pointer-arith clang diagnostic · Learn more", + "markdown": "-Wgnu-pointer-arith clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wgnu-pointer-arith)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGnuPointerArith", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc33C", + "shortDescription": { + "text": "cert-msc33-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc33-c clang-tidy check · Learn more", + "markdown": "cert-msc33-c clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/msc33-c.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCertMsc33C", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadIndent", + "shortDescription": { + "text": "Incorrect indent (redundant indent/outdent elsewhere)" + }, + "fullDescription": { + "text": "Redundant indent/outdent elsewhere Learn more...", + "markdown": "Redundant indent/outdent elsewhere [Learn more...](https://www.jetbrains.com/help/rider/BadIndent.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadIndent", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Formatting", + "index": 23, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertCon54Cpp", + "shortDescription": { + "text": "cert-con54-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-con54-cpp clang-tidy check · Learn more", + "markdown": "cert-con54-cpp clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/con54-cpp.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCertCon54Cpp", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAssignedOutParameter", + "shortDescription": { + "text": "'out' parameter is not assigned upon exit" + }, + "fullDescription": { + "text": "'out' parameter is not assigned upon exit", + "markdown": "'out' parameter is not assigned upon exit" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NotAssignedOutParameter", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Potential Code Quality Issues", + "index": 62, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidPpToken", + "shortDescription": { + "text": "invalid-pp-token clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-pp-token clang diagnostic · Learn more", + "markdown": "-Winvalid-pp-token clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#winvalid-pp-token)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticInvalidPpToken", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS1723", + "shortDescription": { + "text": "XML comment has cref attribute that refers to a type parameter" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://msdn.microsoft.com/en-us/library/ms228603.aspx)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS1723", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NUnit.RedundantExpectedResultInTestCaseAttribute", + "shortDescription": { + "text": "NUnit. Redundant expected result for void test method." + }, + "fullDescription": { + "text": "Specifying expected result for void NUnit test methods through the [TestCase] attribute is redundant. Learn more...", + "markdown": "Specifying expected result for void NUnit test methods through the \\[TestCase\\] attribute is redundant. [Learn more...](https://www.jetbrains.com/help/rider/NUnit.RedundantExpectedResultInTestCaseAttribute.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NUnit.RedundantExpectedResultInTestCaseAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/NUnit", + "index": 25, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantExplicitParamsArrayCreation", + "shortDescription": { + "text": "Redundant explicit array creation in argument of 'params' parameter" + }, + "fullDescription": { + "text": "Array creation in argument passed to 'params' parameter is redundant", + "markdown": "Array creation in argument passed to 'params' parameter is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RedundantExplicitParamsArrayCreation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleObjcFunctionNaming", + "shortDescription": { + "text": "google-objc-function-naming clang-tidy check" + }, + "fullDescription": { + "text": "google-objc-function-naming clang-tidy check · Learn more", + "markdown": "google-objc-function-naming clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/objc-function-naming.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyGoogleObjcFunctionNaming", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinPerformancePadding", + "shortDescription": { + "text": "optin.performance.Padding clang static analyzer check" + }, + "fullDescription": { + "text": "optin.performance.Padding clang static analyzer check · Learn more", + "markdown": "optin.performance.Padding clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerOptinPerformancePadding", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS7023", + "shortDescription": { + "text": "Static type in 'is' or 'as' operator." + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](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)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS7023", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.Warning", + "shortDescription": { + "text": "ASP.NET Warning" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Asp.Warning", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Aspx/Potential Code Quality Issues", + "index": 64, + "toolComponent": { + "name": "RD" + } + }, + "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": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS7022", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMultipleNewInOneExpression", + "shortDescription": { + "text": "bugprone-multiple-new-in-one-expression clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-multiple-new-in-one-expression clang-tidy check · Learn more", + "markdown": "bugprone-multiple-new-in-one-expression clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/multiple-new-in-one-expression.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneMultipleNewInOneExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedArraySubscript", + "shortDescription": { + "text": "core.uninitialized.ArraySubscript clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.ArraySubscript clang static analyzer check · Learn more", + "markdown": "core.uninitialized.ArraySubscript clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerCoreUninitializedArraySubscript", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseIndexFromEndExpression", + "shortDescription": { + "text": "Use index from end expression" + }, + "fullDescription": { + "text": "Replace array indexer argument with index from end expression", + "markdown": "Replace array indexer argument with index from end expression" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseIndexFromEndExpression", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RouteTemplates.ParameterTypeAndConstraintsMismatch", + "shortDescription": { + "text": "Type of parameter doesn't satisfy constraints declared in route template" + }, + "fullDescription": { + "text": "Type of parameter doesn't satisfy constraints declared in route template", + "markdown": "Type of parameter doesn't satisfy constraints declared in route template" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RouteTemplates.ParameterTypeAndConstraintsMismatch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "ASP.NET route templates/Code Notification", + "index": 49, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc32C", + "shortDescription": { + "text": "cert-msc32-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc32-c clang-tidy check · Learn more", + "markdown": "cert-msc32-c clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/msc32-c.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCertMsc32C", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuBinaryLiteral", + "shortDescription": { + "text": "gnu-binary-literal clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-binary-literal clang diagnostic · Learn more", + "markdown": "-Wgnu-binary-literal clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wgnu-binary-literal)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGnuBinaryLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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.", + "markdown": "The expression of 'is' operator matches the provided type on any non-null value. Consider comparing with 'null' instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ConvertTypeCheckToNullCheck", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseEqualsDefault", + "shortDescription": { + "text": "hicpp-use-equals-default clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-equals-default clang-tidy check · Learn more", + "markdown": "hicpp-use-equals-default clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/use-equals-default.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppUseEqualsDefault", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NUnit.IgnoredParameterAttribute", + "shortDescription": { + "text": "NUnit. Ignored parameter attribute." + }, + "fullDescription": { + "text": "NUnit. Parameter attribute is ignored by NUnit framework.", + "markdown": "NUnit. Parameter attribute is ignored by NUnit framework." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NUnit.IgnoredParameterAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/NUnit", + "index": 25, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseTransparentFunctors", + "shortDescription": { + "text": "modernize-use-transparent-functors clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-transparent-functors clang-tidy check · Learn more", + "markdown": "modernize-use-transparent-functors clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/use-transparent-functors.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeUseTransparentFunctors", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MeaninglessDefaultParameterValue", + "shortDescription": { + "text": "'DefaultParameterValueAttribute' must be used in conjunction with 'OptionalAttribute'" + }, + "fullDescription": { + "text": "'DefaultParameterValueAttribute' must be used in conjunction with 'OptionalAttribute'", + "markdown": "'DefaultParameterValueAttribute' must be used in conjunction with 'OptionalAttribute'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "MeaninglessDefaultParameterValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnneededInternalDeclaration", + "shortDescription": { + "text": "unneeded-internal-declaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wunneeded-internal-declaration clang diagnostic · Learn more", + "markdown": "-Wunneeded-internal-declaration clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunneeded-internal-declaration)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnneededInternalDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDangling", + "shortDescription": { + "text": "dangling clang diagnostic" + }, + "fullDescription": { + "text": "-Wdangling clang diagnostic · Learn more", + "markdown": "-Wdangling clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdangling)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDangling", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticWeakVtables", + "shortDescription": { + "text": "weak-vtables clang diagnostic" + }, + "fullDescription": { + "text": "-Wweak-vtables clang diagnostic · Learn more", + "markdown": "-Wweak-vtables clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wweak-vtables)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticWeakVtables", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingNoreturn", + "shortDescription": { + "text": "missing-noreturn clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-noreturn clang diagnostic · Learn more", + "markdown": "-Wmissing-noreturn clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmissing-noreturn)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMissingNoreturn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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'", + "markdown": "If statement with constant condition can be replaced with 'if constexpr'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppIfCanBeReplacedByConstexprIf", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Common Practices and Code Improvements", + "index": 17, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppUseNoexcept", + "shortDescription": { + "text": "hicpp-use-noexcept clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-use-noexcept clang-tidy check · Learn more", + "markdown": "hicpp-use-noexcept clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/use-noexcept.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppUseNoexcept", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS0458", + "shortDescription": { + "text": "The result of the expression is always 'null' of nullable type" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0458)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS0458", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedButSetParameter", + "shortDescription": { + "text": "unused-but-set-parameter clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-but-set-parameter clang diagnostic · Learn more", + "markdown": "-Wunused-but-set-parameter clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunused-but-set-parameter)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnusedButSetParameter", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Default case is not handled in a switch statement" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDefaultCaseNotHandledInSwitchStatement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowFieldInConstructorModified", + "shortDescription": { + "text": "shadow-field-in-constructor-modified clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-field-in-constructor-modified clang diagnostic · Learn more", + "markdown": "-Wshadow-field-in-constructor-modified clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wshadow-field-in-constructor-modified)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticShadowFieldInConstructorModified", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Resource is not overridden in one or more specific cultures [Learn more...](https://www.jetbrains.com/help/rider/NotOverriddenInSpecificCulture.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NotOverriddenInSpecificCulture", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "ResX/Potential Code Quality Issues", + "index": 68, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonReadonlyMemberInGetHashCode", + "shortDescription": { + "text": "Non-readonly type member referenced in 'GetHashCode()'" + }, + "fullDescription": { + "text": "Non-readonly field or auto-property referenced in 'GetHashCode()' Learn more...", + "markdown": "Non-readonly field or auto-property referenced in 'GetHashCode()' [Learn more...](https://www.jetbrains.com/help/rider/NonReadonlyMemberInGetHashCode.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NonReadonlyMemberInGetHashCode", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscConfusableIdentifiers", + "shortDescription": { + "text": "misc-confusable-identifiers clang-tidy check" + }, + "fullDescription": { + "text": "misc-confusable-identifiers clang-tidy check · Learn more", + "markdown": "misc-confusable-identifiers clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc/confusable-identifiers.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyMiscConfusableIdentifiers", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonportableSystemIncludePath", + "shortDescription": { + "text": "nonportable-system-include-path clang diagnostic" + }, + "fullDescription": { + "text": "-Wnonportable-system-include-path clang diagnostic · Learn more", + "markdown": "-Wnonportable-system-include-path clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wnonportable-system-include-path)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticNonportableSystemIncludePath", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc30C", + "shortDescription": { + "text": "cert-msc30-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc30-c clang-tidy check · Learn more", + "markdown": "cert-msc30-c clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/msc30-c.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCertMsc30C", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaOnceOutsideHeader", + "shortDescription": { + "text": "pragma-once-outside-header clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragma-once-outside-header clang diagnostic · Learn more", + "markdown": "-Wpragma-once-outside-header clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpragma-once-outside-header)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPragmaOnceOutsideHeader", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAtomicAlignment", + "shortDescription": { + "text": "atomic-alignment clang diagnostic" + }, + "fullDescription": { + "text": "-Watomic-alignment clang diagnostic · Learn more", + "markdown": "-Watomic-alignment clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#watomic-alignment)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticAtomicAlignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedAnonymousMethodSignature", + "shortDescription": { + "text": "Anonymous method signature is not necessary" + }, + "fullDescription": { + "text": "Specifying signature in an anonymous method is not necessary because none of its parameters are used in the body", + "markdown": "Specifying signature in an anonymous method is not necessary because none of its parameters are used in the body" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedAnonymousMethodSignature", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS0469", + "shortDescription": { + "text": "'goto case' value is not implicitly convertible to required type" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://msdn.microsoft.com/en-us/library/ms228370.aspx)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS0469", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingExceptionSpec", + "shortDescription": { + "text": "missing-exception-spec clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-exception-spec clang diagnostic · Learn more", + "markdown": "-Wmissing-exception-spec clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmissing-exception-spec)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMissingExceptionSpec", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPoisonSystemDirectories", + "shortDescription": { + "text": "poison-system-directories clang diagnostic" + }, + "fullDescription": { + "text": "-Wpoison-system-directories clang diagnostic · Learn more", + "markdown": "-Wpoison-system-directories clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpoison-system-directories)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPoisonSystemDirectories", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS0464", + "shortDescription": { + "text": "Comparing with null of nullable value type always produces 'false'" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0464)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS0464", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS0465", + "shortDescription": { + "text": "Introducing a 'Finalize' method can interfere with destructor invocation" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://msdn.microsoft.com/en-us/library/02wtfwbt.aspx)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS0465", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedLambdaCapture", + "shortDescription": { + "text": "unused-lambda-capture clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-lambda-capture clang diagnostic · Learn more", + "markdown": "-Wunused-lambda-capture clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunused-lambda-capture)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnusedLambdaCapture", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticFormat", + "shortDescription": { + "text": "format clang diagnostic" + }, + "fullDescription": { + "text": "-Wformat clang diagnostic · Learn more", + "markdown": "-Wformat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wformat)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticFormat", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIgnoredReferenceQualifiers", + "shortDescription": { + "text": "ignored-reference-qualifiers clang diagnostic" + }, + "fullDescription": { + "text": "-Wignored-reference-qualifiers clang diagnostic · Learn more", + "markdown": "-Wignored-reference-qualifiers clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wignored-reference-qualifiers)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIgnoredReferenceQualifiers", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPreCpp2cCompatPedantic", + "shortDescription": { + "text": "pre-c++2c-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wpre-c++2c-compat-pedantic clang diagnostic · Learn more", + "markdown": "-Wpre-c++2c-compat-pedantic clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpre-c-2c-compat-pedantic)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPreCpp2cCompatPedantic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.EmptyGridLengthDefinition", + "shortDescription": { + "text": "Grid length definition must not be empty" + }, + "fullDescription": { + "text": "Grid length definition must not be empty", + "markdown": "Grid length definition must not be empty" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "Xaml.EmptyGridLengthDefinition", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Code Notification", + "index": 5, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBUseMethodAny.1", + "shortDescription": { + "text": "Use method Any()" + }, + "fullDescription": { + "text": "$seq$.Count() > 0", + "markdown": "$seq$.Count() \\> 0" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBUseMethodAny.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS7095", + "shortDescription": { + "text": "Filter expression is a constant, consider removing the filter" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS7095", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBUseMethodAny.2", + "shortDescription": { + "text": "Use method Any()" + }, + "fullDescription": { + "text": "$seq$.Count() >= 1", + "markdown": "$seq$.Count() \\>= 1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBUseMethodAny.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBUseMethodAny.3", + "shortDescription": { + "text": "Use method Any()" + }, + "fullDescription": { + "text": "$seq$.Count() = 0", + "markdown": "$seq$.Count() = 0" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBUseMethodAny.3", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBUseMethodAny.4", + "shortDescription": { + "text": "Use method Any()" + }, + "fullDescription": { + "text": "$seq$.Count() <= 0", + "markdown": "$seq$.Count() \\<= 0" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBUseMethodAny.4", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBUseMethodAny.5", + "shortDescription": { + "text": "Use method Any()" + }, + "fullDescription": { + "text": "$seq$.Count() < 1", + "markdown": "$seq$.Count() \\< 1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBUseMethodAny.5", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUsedButMarkedUnused", + "shortDescription": { + "text": "used-but-marked-unused clang diagnostic" + }, + "fullDescription": { + "text": "-Wused-but-marked-unused clang diagnostic · Learn more", + "markdown": "-Wused-but-marked-unused clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wused-but-marked-unused)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUsedButMarkedUnused", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverloadedShiftOpParentheses", + "shortDescription": { + "text": "overloaded-shift-op-parentheses clang diagnostic" + }, + "fullDescription": { + "text": "-Woverloaded-shift-op-parentheses clang diagnostic · Learn more", + "markdown": "-Woverloaded-shift-op-parentheses clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#woverloaded-shift-op-parentheses)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticOverloadedShiftOpParentheses", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithFieldKeyword", + "shortDescription": { + "text": "Replace with 'field' keyword" + }, + "fullDescription": { + "text": "Replace explicit field declaration with a 'field' keyword usage in corresponding property declaration (anonymous field)", + "markdown": "Replace explicit field declaration with a 'field' keyword usage in corresponding property declaration (anonymous field)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithFieldKeyword", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "'internal' modifier can be safely added/removed from types without changing code semantics [Learn more...](https://www.jetbrains.com/help/rider/ArrangeTypeModifiers.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ArrangeTypeModifiers", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "-Wnon-modular-include-in-framework-module clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wnon-modular-include-in-framework-module)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticNonModularIncludeInFrameworkModule", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalFunctionHidesMethod", + "shortDescription": { + "text": "Local function hides method" + }, + "fullDescription": { + "text": "Local function has the same name as a method and hides it", + "markdown": "Local function has the same name as a method and hides it" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "LocalFunctionHidesMethod", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReturnTypeCanBeNotNullable", + "shortDescription": { + "text": "Return type of a function can be non-nullable" + }, + "fullDescription": { + "text": "Function's return type is declared as nullable but it never returns nullable values", + "markdown": "Function's return type is declared as nullable but it never returns nullable values" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ReturnTypeCanBeNotNullable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDefaultedFunctionDeleted", + "shortDescription": { + "text": "defaulted-function-deleted clang diagnostic" + }, + "fullDescription": { + "text": "-Wdefaulted-function-deleted clang diagnostic · Learn more", + "markdown": "-Wdefaulted-function-deleted clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdefaulted-function-deleted)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDefaultedFunctionDeleted", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingBodyTag", + "shortDescription": { + "text": "Important tags or attributes missing (missing )" + }, + "fullDescription": { + "text": "<([)html(]) $attr1$>$cont$", + "markdown": "\\<(\\[)html(\\]) $attr1$\\>$cont$" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MissingBodyTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Common Practices and Code Improvements", + "index": 71, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "In HLSL 'out' parameters must be assigned before exiting the function" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppOutParameterMustBeWritten", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Compiler Warnings", + "index": 72, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.BindingWithContextNotResolved", + "shortDescription": { + "text": "Unresolved binding path when DataContext is known" + }, + "fullDescription": { + "text": "Unresolved binding path when DataContext for data binding is specified, but symbol cannot be found", + "markdown": "Unresolved binding path when DataContext for data binding is specified, but symbol cannot be found" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Xaml.BindingWithContextNotResolved", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Code Notification", + "index": 5, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWarningDirective", + "shortDescription": { + "text": "#warning directive" + }, + "fullDescription": { + "text": "#warning preprocessor directive", + "markdown": "#warning preprocessor directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppWarningDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Compiler Warnings", + "index": 72, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOutOfScopeFunction", + "shortDescription": { + "text": "out-of-scope-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wout-of-scope-function clang diagnostic · Learn more", + "markdown": "-Wout-of-scope-function clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wout-of-scope-function)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticOutOfScopeFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Use expression or block body [Learn more...](https://www.jetbrains.com/help/rider/ArrangeConstructorOrDestructorBody.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ArrangeConstructorOrDestructorBody", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.TagShouldNotBeSelfClosed", + "shortDescription": { + "text": "Wrong self-closed tag" + }, + "fullDescription": { + "text": "Wrong self-closed tag in HTML and related technologies", + "markdown": "Wrong self-closed tag in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "Html.TagShouldNotBeSelfClosed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Potential Code Quality Issues", + "index": 54, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModuleConflict", + "shortDescription": { + "text": "module-conflict clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodule-conflict clang diagnostic · Learn more", + "markdown": "-Wmodule-conflict clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmodule-conflict)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticModuleConflict", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantExtendsListEntry", + "shortDescription": { + "text": "Redundant class or interface specification in base types list" + }, + "fullDescription": { + "text": "Type is either mentioned in the base types list of other part or it is an interface and appears as other type's base and contains no explicit implementations Learn more...", + "markdown": "Type is either mentioned in the base types list of other part or it is an interface and appears as other type's base and contains no explicit implementations [Learn more...](https://www.jetbrains.com/help/rider/RedundantExtendsListEntry.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantExtendsListEntry", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReturnValueOfPureMethodIsNotUsed", + "shortDescription": { + "text": "Return value of pure method is not used" + }, + "fullDescription": { + "text": "Return value of pure method is not used Learn more...", + "markdown": "Return value of pure method is not used [Learn more...](https://www.jetbrains.com/help/rider/ReturnValueOfPureMethodIsNotUsed.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ReturnValueOfPureMethodIsNotUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConfigMacros", + "shortDescription": { + "text": "config-macros clang diagnostic" + }, + "fullDescription": { + "text": "-Wconfig-macros clang diagnostic · Learn more", + "markdown": "-Wconfig-macros clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wconfig-macros)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticConfigMacros", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDocumentationUnknownCommand", + "shortDescription": { + "text": "documentation-unknown-command clang diagnostic" + }, + "fullDescription": { + "text": "-Wdocumentation-unknown-command clang diagnostic · Learn more", + "markdown": "-Wdocumentation-unknown-command clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdocumentation-unknown-command)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDocumentationUnknownCommand", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyStatement", + "shortDescription": { + "text": "Empty statement is redundant" + }, + "fullDescription": { + "text": "Empty statement is redundant Learn more...", + "markdown": "Empty statement is redundant [Learn more...](https://www.jetbrains.com/help/rider/EmptyStatement.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyStatement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedPositionalProperty.Local", + "shortDescription": { + "text": "Non-accessed positional property (private accessibility)" + }, + "fullDescription": { + "text": "Positional property is never accessed for reading Learn more...", + "markdown": "Positional property is never accessed for reading [Learn more...](https://www.jetbrains.com/help/rider/NotAccessedPositionalProperty.Local.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NotAccessedPositionalProperty.Local", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.RedundantFreezeAttribute", + "shortDescription": { + "text": "Redundant 'Freeze' attribute" + }, + "fullDescription": { + "text": "Freeze attribute is not used and can be safely removed", + "markdown": "Freeze attribute is not used and can be safely removed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Xaml.RedundantFreezeAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Redundancies in Code", + "index": 74, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Auto-property without setter has no initializer or is never assigned in constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UnassignedGetOnlyAutoProperty", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUE4BlueprintCallableFunctionMayBeStatic", + "shortDescription": { + "text": "BlueprintCallable function can be made static" + }, + "fullDescription": { + "text": "BlueprintCallable function can be made static", + "markdown": "BlueprintCallable function can be made static" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUE4BlueprintCallableFunctionMayBeStatic", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Unreal Engine", + "index": 6, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnhandledSelfAssignment", + "shortDescription": { + "text": "bugprone-unhandled-self-assignment clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unhandled-self-assignment clang-tidy check · Learn more", + "markdown": "bugprone-unhandled-self-assignment clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/unhandled-self-assignment.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneUnhandledSelfAssignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousMemoryComparison", + "shortDescription": { + "text": "bugprone-suspicious-memory-comparison clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-memory-comparison clang-tidy check · Learn more", + "markdown": "bugprone-suspicious-memory-comparison clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/suspicious-memory-comparison.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneSuspiciousMemoryComparison", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "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. Learn more...", + "markdown": "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. [Learn more...](https://www.jetbrains.com/help/rider/AssignNullToNotNullAttribute.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "AssignNullToNotNullAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Constraints Violations", + "index": 77, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseStdPrint", + "shortDescription": { + "text": "modernize-use-std-print clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-std-print clang-tidy check · Learn more", + "markdown": "modernize-use-std-print clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/use-std-print.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeUseStdPrint", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDeclarationSpecifierWithoutDeclarators", + "shortDescription": { + "text": "Declaration specifier with no declarators" + }, + "fullDescription": { + "text": "A declaration specifier is ignored when there are no declarators", + "markdown": "A declaration specifier is ignored when there are no declarators" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDeclarationSpecifierWithoutDeclarators", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDuplicateMethodArg", + "shortDescription": { + "text": "duplicate-method-arg clang diagnostic" + }, + "fullDescription": { + "text": "-Wduplicate-method-arg clang diagnostic · Learn more", + "markdown": "-Wduplicate-method-arg clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wduplicate-method-arg)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDuplicateMethodArg", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WebConfig.ModuleQualificationResolve", + "shortDescription": { + "text": "Module qualification required" + }, + "fullDescription": { + "text": "Module qualification required for type resolution", + "markdown": "Module qualification required for type resolution" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "WebConfig.ModuleQualificationResolve", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Web.Config/Potential Code Quality Issues", + "index": 79, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNonPrivateMemberVariablesInClasses", + "shortDescription": { + "text": "cppcoreguidelines-non-private-member-variables-in-classes clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-non-private-member-variables-in-classes clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-non-private-member-variables-in-classes clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/non-private-member-variables-in-classes.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesNonPrivateMemberVariablesInClasses", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaSelfInit", + "shortDescription": { + "text": "osx.cocoa.SelfInit clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.SelfInit clang static analyzer check · Learn more", + "markdown": "osx.cocoa.SelfInit clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerOsxCocoaSelfInit", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntroduceOptionalParameters.Global", + "shortDescription": { + "text": "Introduce optional parameters (non-private accessibility)" + }, + "fullDescription": { + "text": "Introduce optional parameters to overload method", + "markdown": "Introduce optional parameters to overload method" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "IntroduceOptionalParameters.Global", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesNoexceptSwap", + "shortDescription": { + "text": "cppcoreguidelines-noexcept-swap clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-noexcept-swap clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-noexcept-swap clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-swap.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesNoexceptSwap", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DoubleNegationOperator", + "shortDescription": { + "text": "Double negation operator" + }, + "fullDescription": { + "text": "Double negation is meaningless bool b = !!condition; Learn more...", + "markdown": "Double negation is meaningless\n\n```\nbool b = !!condition;\n```\n\n[Learn more...](https://www.jetbrains.com/help/rider/DoubleNegationOperator.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "DoubleNegationOperator", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleBuildNamespaces", + "shortDescription": { + "text": "google-build-namespaces clang-tidy check" + }, + "fullDescription": { + "text": "google-build-namespaces clang-tidy check · Learn more", + "markdown": "google-build-namespaces clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/build-namespaces.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyGoogleBuildNamespaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneForwardingReferenceOverload", + "shortDescription": { + "text": "bugprone-forwarding-reference-overload clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-forwarding-reference-overload clang-tidy check · Learn more", + "markdown": "bugprone-forwarding-reference-overload clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/forwarding-reference-overload.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneForwardingReferenceOverload", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseNullptr", + "shortDescription": { + "text": "modernize-use-nullptr clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-nullptr clang-tidy check · Learn more", + "markdown": "modernize-use-nullptr clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/use-nullptr.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeUseNullptr", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithSingleCallToSingle", + "shortDescription": { + "text": "Replace with single call to Single(..)" + }, + "fullDescription": { + "text": "$seq$.Where($x$ => $expr$).Single()", + "markdown": "$seq$.Where($x$ =\\> $expr$).Single()" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithSingleCallToSingle", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizePassByValue", + "shortDescription": { + "text": "modernize-pass-by-value clang-tidy check" + }, + "fullDescription": { + "text": "modernize-pass-by-value clang-tidy check · Learn more", + "markdown": "modernize-pass-by-value clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/pass-by-value.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizePassByValue", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRegister", + "shortDescription": { + "text": "register clang diagnostic" + }, + "fullDescription": { + "text": "-Wregister clang diagnostic · Learn more", + "markdown": "-Wregister clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wregister)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticRegister", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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": "Learn more...", + "markdown": "[Learn more...](https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs0472)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS0472", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuConditionalOmittedOperand", + "shortDescription": { + "text": "gnu-conditional-omitted-operand clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-conditional-omitted-operand clang diagnostic · Learn more", + "markdown": "-Wgnu-conditional-omitted-operand clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wgnu-conditional-omitted-operand)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGnuConditionalOmittedOperand", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticClassVarargs", + "shortDescription": { + "text": "class-varargs clang diagnostic" + }, + "fullDescription": { + "text": "-Wclass-varargs clang diagnostic · Learn more", + "markdown": "-Wclass-varargs clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wclass-varargs)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticClassVarargs", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastFunctionType", + "shortDescription": { + "text": "cast-function-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-function-type clang diagnostic · Learn more", + "markdown": "-Wcast-function-type clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wcast-function-type)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCastFunctionType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppWrongIndentSize", + "shortDescription": { + "text": "Incorrect indent (incorrect indent size)" + }, + "fullDescription": { + "text": "Incorrect indent size", + "markdown": "Incorrect indent size" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppWrongIndentSize", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeRedundantParentheses", + "shortDescription": { + "text": "Remove redundant parentheses" + }, + "fullDescription": { + "text": "Parentheses can be safely removed from expressions without changing code semantics Learn more...", + "markdown": "Parentheses can be safely removed from expressions without changing code semantics [Learn more...](https://www.jetbrains.com/help/rider/ArrangeRedundantParentheses.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ArrangeRedundantParentheses", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.ResourceFilePathCaseMismatch", + "shortDescription": { + "text": "Path to resource is case-sensitive" + }, + "fullDescription": { + "text": "Path to resource is case-sensitive", + "markdown": "Path to resource is case-sensitive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Xaml.ResourceFilePathCaseMismatch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Code Notification", + "index": 5, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithLastOrDefault.2", + "shortDescription": { + "text": "Replace with LastOrDefault($args$)" + }, + "fullDescription": { + "text": "$expr$ && $seq$.Any($args$) ? $seq$.Last($args$) : null", + "markdown": "$expr$ \\&\\& $seq$.Any($args$) ? $seq$.Last($args$) : null" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithLastOrDefault.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingPrototypes", + "shortDescription": { + "text": "missing-prototypes clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-prototypes clang diagnostic · Learn more", + "markdown": "-Wmissing-prototypes clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmissing-prototypes)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMissingPrototypes", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithLastOrDefault.3", + "shortDescription": { + "text": "Replace with LastOrDefault($args$)" + }, + "fullDescription": { + "text": "$seq$.Any($args$) ? $seq$.Last($args$) : default($T$)", + "markdown": "$seq$.Any($args$) ? $seq$.Last($args$) : default($T$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithLastOrDefault.3", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossibleInvalidCastExceptionInForeachLoop", + "shortDescription": { + "text": "Possible 'System.InvalidCastException' in foreach loop" + }, + "fullDescription": { + "text": "Possible cast expression of incompatible type Learn more...", + "markdown": "Possible cast expression of incompatible type [Learn more...](https://www.jetbrains.com/help/rider/PossibleInvalidCastExceptionInForeachLoop.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PossibleInvalidCastExceptionInForeachLoop", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithLastOrDefault.1", + "shortDescription": { + "text": "Replace with LastOrDefault($args$)" + }, + "fullDescription": { + "text": "$seq$.Any($args$) ? $seq$.Last($args$) : null", + "markdown": "$seq$.Any($args$) ? $seq$.Last($args$) : null" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithLastOrDefault.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossiblyImpureMethodCallOnReadonlyVariable", + "shortDescription": { + "text": "Possibly impure struct method is called on readonly variable: struct value always copied before invocation" + }, + "fullDescription": { + "text": "Possibly impure struct instance method or 'this ref' extension method is called on readonly field/in parameter/ref readonly return: struct value always copied before invocation Learn more...", + "markdown": "Possibly impure struct instance method or 'this ref' extension method is called on readonly field/in parameter/ref readonly return: struct value always copied before invocation [Learn more...](https://www.jetbrains.com/help/rider/PossiblyImpureMethodCallOnReadonlyVariable.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PossiblyImpureMethodCallOnReadonlyVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecPipe2", + "shortDescription": { + "text": "android-cloexec-pipe2 clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-pipe2 clang-tidy check · Learn more", + "markdown": "android-cloexec-pipe2 clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android/cloexec-pipe2.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyAndroidCloexecPipe2", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithLastOrDefault.4", + "shortDescription": { + "text": "Replace with LastOrDefault($args$)" + }, + "fullDescription": { + "text": "$expr$ && $seq$.Any($args$) ? $seq$.Last($args$) : default($T$)", + "markdown": "$expr$ \\&\\& $seq$.Any($args$) ? $seq$.Last($args$) : default($T$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithLastOrDefault.4", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "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'.", + "markdown": "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": "error", + "parameters": { + "suppressToolId": "CppUE4CodingStandardUClassNamingViolationError", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Unreal Engine", + "index": 6, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftTemplate", + "shortDescription": { + "text": "microsoft-template clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-template clang diagnostic · Learn more", + "markdown": "-Wmicrosoft-template clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmicrosoft-template)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMicrosoftTemplate", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantEnumCaseLabelForDefaultSection", + "shortDescription": { + "text": "Redundant 'case' label before default section" + }, + "fullDescription": { + "text": "'case' label statement with enum value in front of default section is redundant", + "markdown": "'case' label statement with enum value in front of default section is redundant" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "RedundantEnumCaseLabelForDefaultSection", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadParensLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks (around parenthesis)" + }, + "fullDescription": { + "text": "Around parenthesis", + "markdown": "Around parenthesis" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadParensLineBreaks", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceTypePromotionInMathFn", + "shortDescription": { + "text": "performance-type-promotion-in-math-fn clang-tidy check" + }, + "fullDescription": { + "text": "performance-type-promotion-in-math-fn clang-tidy check · Learn more", + "markdown": "performance-type-promotion-in-math-fn clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance/type-promotion-in-math-fn.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyPerformanceTypePromotionInMathFn", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsequenced", + "shortDescription": { + "text": "unsequenced clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsequenced clang diagnostic · Learn more", + "markdown": "-Wunsequenced clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunsequenced)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnsequenced", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDuplicateDeclSpecifier", + "shortDescription": { + "text": "duplicate-decl-specifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wduplicate-decl-specifier clang diagnostic · Learn more", + "markdown": "-Wduplicate-decl-specifier clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wduplicate-decl-specifier)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDuplicateDeclSpecifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadSymbolSpaces", + "shortDescription": { + "text": "Incorrect spacing (around operator symbols)" + }, + "fullDescription": { + "text": "Around operator symbols", + "markdown": "Around operator symbols" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadSymbolSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesExplicitVirtualFunctions", + "shortDescription": { + "text": "cppcoreguidelines-explicit-virtual-functions clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-explicit-virtual-functions clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-explicit-virtual-functions clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/explicit-virtual-functions.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesExplicitVirtualFunctions", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithOfType.Any.2", + "shortDescription": { + "text": "Replace with OfType().Any() (replace with OfType().Any(..))" + }, + "fullDescription": { + "text": "$seq$.Select($x$ => $x$ as $T$).Any($y$ => $y$ != null && $expr$)", + "markdown": "$seq$.Select($x$ =\\> $x$ as $T$).Any($y$ =\\> $y$ != null \\&\\& $expr$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithOfType.Any.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VulnerableApi", + "shortDescription": { + "text": "Vulnerable API usage" + }, + "fullDescription": { + "text": "Reports usages of Vulnerable APIs in imported dependencies Learn more...", + "markdown": "Reports usages of Vulnerable APIs in imported dependencies [Learn more...](https://www.jetbrains.com/help/rider/VulnerableApi.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "VulnerableApi", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Security", + "index": 85, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithOfType.Any.1", + "shortDescription": { + "text": "Replace with OfType().Any()" + }, + "fullDescription": { + "text": "$seq$.Select($x$ => $x$ as $T$).Any($y$ => $y$ != null)", + "markdown": "$seq$.Select($x$ =\\> $x$ as $T$).Any($y$ =\\> $y$ != null)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithOfType.Any.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossibleInvalidOperationException", + "shortDescription": { + "text": "Possible 'System.InvalidOperationException'" + }, + "fullDescription": { + "text": "Possible call to method is invalid for the object's current state Learn more...", + "markdown": "Possible call to method is invalid for the object's current state [Learn more...](https://www.jetbrains.com/help/rider/PossibleInvalidOperationException.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PossibleInvalidOperationException", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIndependentClassAttribute", + "shortDescription": { + "text": "IndependentClass-attribute clang diagnostic" + }, + "fullDescription": { + "text": "-WIndependentClass-attribute clang diagnostic · Learn more", + "markdown": "-WIndependentClass-attribute clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wIndependentClass-attribute)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIndependentClassAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSignedEnumBitfield", + "shortDescription": { + "text": "signed-enum-bitfield clang diagnostic" + }, + "fullDescription": { + "text": "-Wsigned-enum-bitfield clang diagnostic · Learn more", + "markdown": "-Wsigned-enum-bitfield clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wsigned-enum-bitfield)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticSignedEnumBitfield", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Use preferred code style to check joined/separate 'var' usages in deconstruction declarations [Learn more...](https://www.jetbrains.com/help/rider/ArrangeVarKeywordsInDeconstructingDeclaration.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ArrangeVarKeywordsInDeconstructingDeclaration", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerApiModelingTrustReturnsNonnull", + "shortDescription": { + "text": "apiModeling.TrustReturnsNonnull clang static analyzer check" + }, + "fullDescription": { + "text": "apiModeling.TrustReturnsNonnull clang static analyzer check · Learn more", + "markdown": "apiModeling.TrustReturnsNonnull clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerApiModelingTrustReturnsNonnull", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShiftSignOverflow", + "shortDescription": { + "text": "shift-sign-overflow clang diagnostic" + }, + "fullDescription": { + "text": "-Wshift-sign-overflow clang diagnostic · Learn more", + "markdown": "-Wshift-sign-overflow clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wshift-sign-overflow)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticShiftSignOverflow", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowFieldInConstructor", + "shortDescription": { + "text": "shadow-field-in-constructor clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-field-in-constructor clang diagnostic · Learn more", + "markdown": "-Wshadow-field-in-constructor clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wshadow-field-in-constructor)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticShadowFieldInConstructor", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseObjectOrCollectionInitializer", + "shortDescription": { + "text": "Use object or collection initializer when possible" + }, + "fullDescription": { + "text": "Suggest to replace object sequential assignments to newly created object fields by object initializer Learn more...", + "markdown": "Suggest to replace object sequential assignments to newly created object fields by object initializer [Learn more...](https://www.jetbrains.com/help/rider/UseObjectOrCollectionInitializer.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseObjectOrCollectionInitializer", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBePrivate.Global", + "shortDescription": { + "text": "Member can be made private (non-private accessibility)" + }, + "fullDescription": { + "text": "Member can be made private Learn more...", + "markdown": "Member can be made private [Learn more...](https://www.jetbrains.com/help/rider/MemberCanBePrivate.Global.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "MemberCanBePrivate.Global", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "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.", + "markdown": "Result of a postfix operator is discarded. It might be more efficient to use a prefix form of the operator." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppDiscardedPostfixOperatorResult", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Common Practices and Code Improvements", + "index": 17, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseCollectionCountProperty", + "shortDescription": { + "text": "Use collection's count property" + }, + "fullDescription": { + "text": "Usage of 'Enumerable.Count()' method can be replaced with direct collection count property access Learn more...", + "markdown": "Usage of 'Enumerable.Count()' method can be replaced with direct collection count property access [Learn more...](https://www.jetbrains.com/help/rider/UseCollectionCountProperty.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseCollectionCountProperty", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPragmaPack", + "shortDescription": { + "text": "pragma-pack clang diagnostic" + }, + "fullDescription": { + "text": "-Wpragma-pack clang diagnostic · Learn more", + "markdown": "-Wpragma-pack clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpragma-pack)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPragmaPack", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "POLYSP0003", + "shortDescription": { + "text": "RoslynAnalyzers Unsupported C# language version" + }, + "fullDescription": { + "text": "The source generator features from PolySharp require consuming projects to set the C# language version to at least C# 8.0. Make sure to add 8.0 (or above) to your .csproj file.", + "markdown": "The source generator features from PolySharp require consuming projects to set the C# language version to at least C# 8.0. Make sure to add 8.0 (or above) to your .csproj file." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "POLYSP0003", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleReadabilityTodo", + "shortDescription": { + "text": "google-readability-todo clang-tidy check" + }, + "fullDescription": { + "text": "google-readability-todo clang-tidy check · Learn more", + "markdown": "google-readability-todo clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/readability-todo.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyGoogleReadabilityTodo", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedType", + "shortDescription": { + "text": "deprecated-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-type clang diagnostic · Learn more", + "markdown": "-Wdeprecated-type clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-type)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppEmptyDeclaration", + "shortDescription": { + "text": "Declaration does not declare anything" + }, + "fullDescription": { + "text": "A declaration does not declare anything", + "markdown": "A declaration does not declare anything" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppEmptyDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppIncompatiblePointerConversion", + "shortDescription": { + "text": "Implicit conversion to incompatible pointer type" + }, + "fullDescription": { + "text": "Implicit conversion to incompatible pointer type", + "markdown": "Implicit conversion to incompatible pointer type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppIncompatiblePointerConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedCapturedBlockVariable", + "shortDescription": { + "text": "core.uninitialized.CapturedBlockVariable clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.CapturedBlockVariable clang static analyzer check · Learn more", + "markdown": "core.uninitialized.CapturedBlockVariable clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerCoreUninitializedCapturedBlockVariable", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscIncludeCleaner", + "shortDescription": { + "text": "misc-include-cleaner clang-tidy check" + }, + "fullDescription": { + "text": "misc-include-cleaner clang-tidy check · Learn more", + "markdown": "misc-include-cleaner clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc/include-cleaner.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyMiscIncludeCleaner", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStringConversion", + "shortDescription": { + "text": "string-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wstring-conversion clang diagnostic · Learn more", + "markdown": "-Wstring-conversion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wstring-conversion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticStringConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Non-nullable or required type member is not initialized in any execution path of the constructor [Learn more...](https://www.jetbrains.com/help/rider/NotNullOrRequiredMemberIsNotInitialized.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NotNullOrRequiredMemberIsNotInitialized", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Constraints Violations", + "index": 77, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseUnsignedRightShiftOperator", + "shortDescription": { + "text": "Use unsigned right shift operator '>>>'" + }, + "fullDescription": { + "text": "Use unsigned right shift operator '>>>' instead of manual casting and shifting", + "markdown": "Use unsigned right shift operator '\\>\\>\\>' instead of manual casting and shifting" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseUnsignedRightShiftOperator", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedDeclarations", + "shortDescription": { + "text": "deprecated-declarations clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-declarations clang diagnostic · Learn more", + "markdown": "-Wdeprecated-declarations clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-declarations)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedDeclarations", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnreachableCodeLoopIncrement", + "shortDescription": { + "text": "unreachable-code-loop-increment clang diagnostic" + }, + "fullDescription": { + "text": "-Wunreachable-code-loop-increment clang diagnostic · Learn more", + "markdown": "-Wunreachable-code-loop-increment clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunreachable-code-loop-increment)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnreachableCodeLoopIncrement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithOfType.Last.1", + "shortDescription": { + "text": "Replace with OfType().Last() (replace with OfType(Of ..)().Last())" + }, + "fullDescription": { + "text": "$seq$.Select(Function ($x$) TryCast($x$, $T$)).Last(Function ($y$) $y$ IsNot Nothing)", + "markdown": "$seq$.Select(Function ($x$) TryCast($x$, $T$)).Last(Function ($y$) $y$ IsNot Nothing)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithOfType.Last.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Methods marked with OperationContract attribute as OneWay operations must not return values [Learn more...](https://www.jetbrains.com/help/rider/OneWayOperationContractWithReturnType.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "OneWayOperationContractWithReturnType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithOfType.Last.2", + "shortDescription": { + "text": "Replace with OfType().Last() (replace with OfType(Of ..)().Last(..))" + }, + "fullDescription": { + "text": "$seq$.Select(Function ($x$) TryCast($x$, $T$)).Last(Function ($y$) $y$ IsNot Nothing AndAlso $expr$)", + "markdown": "$seq$.Select(Function ($x$) TryCast($x$, $T$)).Last(Function ($y$) $y$ IsNot Nothing AndAlso $expr$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithOfType.Last.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Type member is inferred to be nullable: consider annotating it with \\[CanBeNull\\] or \\[ItemCanBeNull\\] attribute" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "AnnotateCanBeNullTypeMember", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseThrowIfNullMethod", + "shortDescription": { + "text": "Use 'ArgumentNullException.ThrowIfNull'" + }, + "fullDescription": { + "text": "Replace throwing of 'ArgumentNullException' object with an invocation of the helper method", + "markdown": "Replace throwing of 'ArgumentNullException' object with an invocation of the helper method" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "UseThrowIfNullMethod", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToAutoPropertyWhenPossible", + "shortDescription": { + "text": "Convert property into auto-property (when possible)" + }, + "fullDescription": { + "text": "Converts property declaration into C# auto-property syntax", + "markdown": "Converts property declaration into C# auto-property syntax" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ConvertToAutoPropertyWhenPossible", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyStringInterpolation", + "shortDescription": { + "text": "Use format specifier in interpolated strings" + }, + "fullDescription": { + "text": "'.ToString()' call could be replaced with a format specifier", + "markdown": "'.ToString()' call could be replaced with a format specifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SimplifyStringInterpolation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "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": "note", + "parameters": { + "suppressToolId": "MoveVariableDeclarationInsideLoopCondition", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuIncludeNext", + "shortDescription": { + "text": "gnu-include-next clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-include-next clang diagnostic · Learn more", + "markdown": "-Wgnu-include-next clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wgnu-include-next)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGnuIncludeNext", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReferenceEqualsWithValueType", + "shortDescription": { + "text": "'Object.ReferenceEquals' is always false because it is called with value type" + }, + "fullDescription": { + "text": "'Object.ReferenceEquals' is always false because it is called with value type", + "markdown": "'Object.ReferenceEquals' is always false because it is called with value type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ReferenceEqualsWithValueType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "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 condition ? true : elseBranch\r\n condition ? thenBranch : true\r\n Learn more...", + "markdown": "Ternary expression contains 'true' or 'false' in result branch, for example\n\n```\n\r\n condition ? true : elseBranch\r\n condition ? thenBranch : true\r\n \n```\n\n[Learn more...](https://www.jetbrains.com/help/rider/SimplifyConditionalTernaryExpression.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SimplifyConditionalTernaryExpression", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEmbeddedDirective", + "shortDescription": { + "text": "embedded-directive clang diagnostic" + }, + "fullDescription": { + "text": "-Wembedded-directive clang diagnostic · Learn more", + "markdown": "-Wembedded-directive clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wembedded-directive)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticEmbeddedDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOptinOsxOSObjectCStyleCast", + "shortDescription": { + "text": "optin.osx.OSObjectCStyleCast clang static analyzer check" + }, + "fullDescription": { + "text": "optin.osx.OSObjectCStyleCast clang static analyzer check · Learn more", + "markdown": "optin.osx.OSObjectCStyleCast clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerOptinOsxOSObjectCStyleCast", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadAttributeBracketsSpaces", + "shortDescription": { + "text": "Incorrect spacing (around attributes)" + }, + "fullDescription": { + "text": "Around attributes Learn more...", + "markdown": "Around attributes [Learn more...](https://www.jetbrains.com/help/rider/BadAttributeBracketsSpaces.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadAttributeBracketsSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Formatting", + "index": 23, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.AreaNotResolved", + "shortDescription": { + "text": "MVC (unknown area)" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC Area", + "markdown": "Unknown ASP.NET MVC Area" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Mvc.AreaNotResolved", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Aspx/Potential Code Quality Issues", + "index": 64, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceImplicitConversionInLoop", + "shortDescription": { + "text": "performance-implicit-conversion-in-loop clang-tidy check" + }, + "fullDescription": { + "text": "performance-implicit-conversion-in-loop clang-tidy check · Learn more", + "markdown": "performance-implicit-conversion-in-loop clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance/implicit-conversion-in-loop.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyPerformanceImplicitConversionInLoop", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.ResolveWarning", + "shortDescription": { + "text": "ASP.NET Resolve Warning" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Asp.ResolveWarning", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Aspx/Potential Code Quality Issues", + "index": 64, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilitySimplifyBooleanExpr", + "shortDescription": { + "text": "readability-simplify-boolean-expr clang-tidy check" + }, + "fullDescription": { + "text": "readability-simplify-boolean-expr clang-tidy check · Learn more", + "markdown": "readability-simplify-boolean-expr clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/simplify-boolean-expr.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilitySimplifyBooleanExpr", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMalformedWarningCheck", + "shortDescription": { + "text": "malformed-warning-check clang diagnostic" + }, + "fullDescription": { + "text": "-Wmalformed-warning-check clang diagnostic · Learn more", + "markdown": "-Wmalformed-warning-check clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmalformed-warning-check)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMalformedWarningCheck", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedAltivecSrcCompat", + "shortDescription": { + "text": "deprecated-altivec-src-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-altivec-src-compat clang diagnostic · Learn more", + "markdown": "-Wdeprecated-altivec-src-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-altivec-src-compat)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedAltivecSrcCompat", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtraSemiStmt", + "shortDescription": { + "text": "extra-semi-stmt clang diagnostic" + }, + "fullDescription": { + "text": "-Wextra-semi-stmt clang diagnostic · Learn more", + "markdown": "-Wextra-semi-stmt clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wextra-semi-stmt)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticExtraSemiStmt", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Missing XML comment for private or internal type or member" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "InternalOrPrivateMemberNotDocumented", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedConstVariable", + "shortDescription": { + "text": "unused-const-variable clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-const-variable clang diagnostic · Learn more", + "markdown": "-Wunused-const-variable clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunused-const-variable)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnusedConstVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "The expression of 'is' operator is never of the provided type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "IsExpressionAlwaysFalse", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDllAttributeOnRedeclaration", + "shortDescription": { + "text": "dll-attribute-on-redeclaration clang diagnostic" + }, + "fullDescription": { + "text": "-Wdll-attribute-on-redeclaration clang diagnostic · Learn more", + "markdown": "-Wdll-attribute-on-redeclaration clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdll-attribute-on-redeclaration)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDllAttributeOnRedeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUENonExistentInputAction", + "shortDescription": { + "text": "Action with this name does not exist" + }, + "fullDescription": { + "text": "Action with this name does not exist", + "markdown": "Action with this name does not exist" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUENonExistentInputAction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Unreal Engine", + "index": 6, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcPerformSelectorLeaks", + "shortDescription": { + "text": "arc-performSelector-leaks clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-performSelector-leaks clang diagnostic · Learn more", + "markdown": "-Warc-performSelector-leaks clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#warc-performSelector-leaks)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticArcPerformSelectorLeaks", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeAvoidCArrays", + "shortDescription": { + "text": "modernize-avoid-c-arrays clang-tidy check" + }, + "fullDescription": { + "text": "modernize-avoid-c-arrays clang-tidy check · Learn more", + "markdown": "modernize-avoid-c-arrays clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/avoid-c-arrays.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeAvoidCArrays", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadControlBracesIndent", + "shortDescription": { + "text": "Incorrect indent (around statement braces)" + }, + "fullDescription": { + "text": "Around statement braces", + "markdown": "Around statement braces" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadControlBracesIndent", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAnonEnumEnumConversion", + "shortDescription": { + "text": "anon-enum-enum-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wanon-enum-enum-conversion clang diagnostic · Learn more", + "markdown": "-Wanon-enum-enum-conversion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wanon-enum-enum-conversion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticAnonEnumEnumConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "A coroutine-related function which is required by the C++20 standard cannot be resolved" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppCoroutineCallResolveError", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Compiler Warnings", + "index": 72, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRemoveRedundantBraces", + "shortDescription": { + "text": "Use preferred braces style (remove redundant braces)" + }, + "fullDescription": { + "text": "Braces can be safely removed without changing code semantics", + "markdown": "Braces can be safely removed without changing code semantics" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppRemoveRedundantBraces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Syntax Style", + "index": 90, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "'default' is a keyword in the C++ standard and cannot be used as an identifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDefaultIsUsedAsIdentifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompleteUmbrella", + "shortDescription": { + "text": "incomplete-umbrella clang diagnostic" + }, + "fullDescription": { + "text": "-Wincomplete-umbrella clang diagnostic · Learn more", + "markdown": "-Wincomplete-umbrella clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wincomplete-umbrella)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIncompleteUmbrella", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Prefer using named/positional argument for all expressions except literal, named and anonymous function [Learn more...](https://www.jetbrains.com/help/rider/ArgumentsStyleOther.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ArgumentsStyleOther", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantDefaultMemberInitializer", + "shortDescription": { + "text": "Redundant member initializer" + }, + "fullDescription": { + "text": "Initializing field/property/event with default value is redundant Learn more...", + "markdown": "Initializing field/property/event with default value is redundant [Learn more...](https://www.jetbrains.com/help/rider/RedundantDefaultMemberInitializer.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantDefaultMemberInitializer", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NetHardcodedPasswords", + "shortDescription": { + "text": "Possible hardcoded password" + }, + "fullDescription": {}, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NetHardcodedPasswords", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Security", + "index": 80, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.RedundantXamarinFormsClassDeclaration", + "shortDescription": { + "text": "Resource cannot be accessed by class name because of x:Key attribute" + }, + "fullDescription": { + "text": "Resource cannot be accessed by class name because of x:Key attribute", + "markdown": "Resource cannot be accessed by class name because of x:Key attribute" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Xaml.RedundantXamarinFormsClassDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Potential Code Quality Issues", + "index": 45, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedLabel", + "shortDescription": { + "text": "Unused label" + }, + "fullDescription": { + "text": "Label is never referenced", + "markdown": "Label is never referenced" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedLabel", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedCopy", + "shortDescription": { + "text": "deprecated-copy clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-copy clang diagnostic · Learn more", + "markdown": "-Wdeprecated-copy clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-copy)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedCopy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUESourceFileWithoutStandardLibrary", + "shortDescription": { + "text": "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.", + "markdown": "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": "error", + "parameters": { + "suppressToolId": "CppUESourceFileWithoutStandardLibrary", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Unreal Engine", + "index": 6, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDelegatingCtorCycles", + "shortDescription": { + "text": "delegating-ctor-cycles clang diagnostic" + }, + "fullDescription": { + "text": "-Wdelegating-ctor-cycles clang diagnostic · Learn more", + "markdown": "-Wdelegating-ctor-cycles clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdelegating-ctor-cycles)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDelegatingCtorCycles", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Razor.AssemblyNotResolved", + "shortDescription": { + "text": "Unknown Razor assembly" + }, + "fullDescription": { + "text": "Unknown Razor assembly", + "markdown": "Unknown Razor assembly" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Razor.AssemblyNotResolved", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Razor/Potential Code Quality Issues", + "index": 92, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeMakeShared", + "shortDescription": { + "text": "modernize-make-shared clang-tidy check" + }, + "fullDescription": { + "text": "modernize-make-shared clang-tidy check · Learn more", + "markdown": "modernize-make-shared clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/make-shared.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeMakeShared", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCompoundTokenSplitBySpace", + "shortDescription": { + "text": "compound-token-split-by-space clang diagnostic" + }, + "fullDescription": { + "text": "-Wcompound-token-split-by-space clang diagnostic · Learn more", + "markdown": "-Wcompound-token-split-by-space clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wcompound-token-split-by-space)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCompoundTokenSplitBySpace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAbstractFinalClass", + "shortDescription": { + "text": "abstract-final-class clang diagnostic" + }, + "fullDescription": { + "text": "-Wabstract-final-class clang diagnostic · Learn more", + "markdown": "-Wabstract-final-class clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wabstract-final-class)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticAbstractFinalClass", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedStringInterpolation", + "shortDescription": { + "text": "Nested string interpolation can be inlined" + }, + "fullDescription": { + "text": "Nested string interpolation can be inlined into containing one", + "markdown": "Nested string interpolation can be inlined into containing one" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "NestedStringInterpolation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReadAccessInDoubleCheckLocking", + "shortDescription": { + "text": "Possible incorrect implementation of Double-Check Locking pattern. Read access to checked field." + }, + "fullDescription": { + "text": "Possible incorrect implementation of Double-Check Locking pattern. Read access to checked field. Learn more...", + "markdown": "Possible incorrect implementation of Double-Check Locking pattern. Read access to checked field. [Learn more...](https://www.jetbrains.com/help/rider/ReadAccessInDoubleCheckLocking.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ReadAccessInDoubleCheckLocking", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertMsc50Cpp", + "shortDescription": { + "text": "cert-msc50-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-msc50-cpp clang-tidy check · Learn more", + "markdown": "cert-msc50-cpp clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/msc50-cpp.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCertMsc50Cpp", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLiteralRange", + "shortDescription": { + "text": "literal-range clang diagnostic" + }, + "fullDescription": { + "text": "-Wliteral-range clang diagnostic · Learn more", + "markdown": "-Wliteral-range clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wliteral-range)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticLiteralRange", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Local variable is declared in a wider scope than the scope of its actual use [Learn more...](https://www.jetbrains.com/help/rider/TooWideLocalVariableScope.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "TooWideLocalVariableScope", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "A '#pragma endregion' directive is missing a matching '#pragma region' directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnmatchedPragmaEndRegionDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AspOdsMethodReferenceResolveError", + "shortDescription": { + "text": "Object data source method resolve problem" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "AspOdsMethodReferenceResolveError", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Aspx/Potential Code Quality Issues", + "index": 64, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NUnit.RangeToValueIsNotReachable", + "shortDescription": { + "text": "NUnit. The maximum range value is not reachable with the step value." + }, + "fullDescription": { + "text": "NUnit. The maximum value of [Range] is not reachable, check range and step values. Learn more...", + "markdown": "NUnit. The maximum value of \\[Range\\] is not reachable, check range and step values. [Learn more...](https://www.jetbrains.com/help/rider/NUnit.RangeToValueIsNotReachable.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NUnit.RangeToValueIsNotReachable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/NUnit", + "index": 25, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticQualifiedVoidReturnType", + "shortDescription": { + "text": "qualified-void-return-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wqualified-void-return-type clang diagnostic · Learn more", + "markdown": "-Wqualified-void-return-type clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wqualified-void-return-type)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticQualifiedVoidReturnType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3001", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению кода SQL" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3001", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3002", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к межсайтовым сценариям (XSS)" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3002", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStaticFloatInit", + "shortDescription": { + "text": "static-float-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wstatic-float-init clang diagnostic · Learn more", + "markdown": "-Wstatic-float-init clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wstatic-float-init)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticStaticFloatInit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3003", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению пути к файлу " + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3003", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Web.MappedPath", + "shortDescription": { + "text": "Mapped path" + }, + "fullDescription": { + "text": "Path is mapped to a different path in project settings", + "markdown": "Path is mapped to a different path in project settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "Web.MappedPath", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "Web.Config/Code Notification", + "index": 93, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3004", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к раскрытию информации" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3004", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3005", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению LDAP" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3005", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3006", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению команд процесса" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3006", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3007", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к открытому перенаправлению" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3007", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr33C", + "shortDescription": { + "text": "cert-err33-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-err33-c clang-tidy check · Learn more", + "markdown": "cert-err33-c clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/err33-c.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyCertErr33C", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3008", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению кода XPath" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3008", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneNarrowingConversions", + "shortDescription": { + "text": "bugprone-narrowing-conversions clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-narrowing-conversions clang-tidy check · Learn more", + "markdown": "bugprone-narrowing-conversions clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/narrowing-conversions.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneNarrowingConversions", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3009", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению кода XML" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3009", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadBracesSpaces", + "shortDescription": { + "text": "Incorrect spacing (around braces)" + }, + "fullDescription": { + "text": "Around braces Learn more...", + "markdown": "Around braces [Learn more...](https://www.jetbrains.com/help/rider/BadBracesSpaces.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadBracesSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Formatting", + "index": 23, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr60Cpp", + "shortDescription": { + "text": "cert-err60-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-err60-cpp clang-tidy check · Learn more", + "markdown": "cert-err60-cpp clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/err60-cpp.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyCertErr60Cpp", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceSliceWithRangeIndexer", + "shortDescription": { + "text": "Replace 'Slice' with range indexer" + }, + "fullDescription": { + "text": "Replace 'Slice' method call with range indexer access", + "markdown": "Replace 'Slice' method call with range indexer access" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceSliceWithRangeIndexer", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3010", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению кода XAML" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3010", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3011", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению DLL " + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3011", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3012", + "shortDescription": { + "text": "RoslynAnalyzers Проверьте код на наличие уязвимостей к внедрению регулярных выражений" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CA3012", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantPropertyPatternClause", + "shortDescription": { + "text": "Redundant property pattern clause" + }, + "fullDescription": { + "text": "Empty property pattern clause can be omitted", + "markdown": "Empty property pattern clause can be omitted" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RedundantPropertyPatternClause", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerUnixCstringBadSizeArg", + "shortDescription": { + "text": "unix.cstring.BadSizeArg clang static analyzer check" + }, + "fullDescription": { + "text": "unix.cstring.BadSizeArg clang static analyzer check · Learn more", + "markdown": "unix.cstring.BadSizeArg clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerUnixCstringBadSizeArg", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftMutableReference", + "shortDescription": { + "text": "microsoft-mutable-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-mutable-reference clang diagnostic · Learn more", + "markdown": "-Wmicrosoft-mutable-reference clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmicrosoft-mutable-reference)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMicrosoftMutableReference", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRewriteNotBool", + "shortDescription": { + "text": "rewrite-not-bool clang diagnostic" + }, + "fullDescription": { + "text": "-Wrewrite-not-bool clang diagnostic · Learn more", + "markdown": "-Wrewrite-not-bool clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wrewrite-not-bool)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticRewriteNotBool", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppParameterMayBeConst", + "shortDescription": { + "text": "Parameter can be made const" + }, + "fullDescription": { + "text": "Parameter can be made const", + "markdown": "Parameter can be made const" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppParameterMayBeConst", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Common Practices and Code Improvements", + "index": 17, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadParensLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks (around parenthesis)" + }, + "fullDescription": { + "text": "Around parenthesis Learn more...", + "markdown": "Around parenthesis [Learn more...](https://www.jetbrains.com/help/rider/BadParensLineBreaks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadParensLineBreaks", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Formatting", + "index": 23, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityFunctionCognitiveComplexity", + "shortDescription": { + "text": "readability-function-cognitive-complexity clang-tidy check" + }, + "fullDescription": { + "text": "readability-function-cognitive-complexity clang-tidy check · Learn more", + "markdown": "readability-function-cognitive-complexity clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/function-cognitive-complexity.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityFunctionCognitiveComplexity", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "The switch statement doesn't cover the whole range of the enumeration used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppIncompleteSwitchStatement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPortabilityRestrictSystemIncludes", + "shortDescription": { + "text": "portability-restrict-system-includes clang-tidy check" + }, + "fullDescription": { + "text": "portability-restrict-system-includes clang-tidy check · Learn more", + "markdown": "portability-restrict-system-includes clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/portability/restrict-system-includes.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyPortabilityRestrictSystemIncludes", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentInConditionalExpression", + "shortDescription": { + "text": "Assignment in conditional expression" + }, + "fullDescription": { + "text": "Assignment in conditional expression; did you mean to use '==' instead of '='? Learn more...", + "markdown": "Assignment in conditional expression; did you mean to use '==' instead of '='? [Learn more...](https://www.jetbrains.com/help/rider/AssignmentInConditionalExpression.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentInConditionalExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WebConfig.TypeNotResolved", + "shortDescription": { + "text": "Cannot resolve symbol" + }, + "fullDescription": { + "text": "Cannot resolve symbol", + "markdown": "Cannot resolve symbol" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "WebConfig.TypeNotResolved", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Web.Config/Potential Code Quality Issues", + "index": 79, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerNullabilityNullableReturnedFromNonnull", + "shortDescription": { + "text": "nullability.NullableReturnedFromNonnull clang static analyzer check" + }, + "fullDescription": { + "text": "nullability.NullableReturnedFromNonnull clang static analyzer check · Learn more", + "markdown": "nullability.NullableReturnedFromNonnull clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerNullabilityNullableReturnedFromNonnull", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA1200", + "shortDescription": { + "text": "RoslynAnalyzers Не используйте теги cref в префиксе" + }, + "fullDescription": { + "text": "Теги cref не следует использовать в префиксах, так как это мешает компилятору проверить ссылки, а интегрированной среде разработки — обновить их во время рефакторинга. Эту ошибку можно скрыть на отдельном сайте документации, если для cref нужен префикс, так как упомянутый тип не может быть найден компилятором. Например, если cref упоминает специальный атрибут в полной платформе, но вы работаете с файлом, который компилируется для переносимой платформы, или хотите сослаться на тип на более высоком уровне Roslyn, вам следует скрыть эту ошибку. Не следует скрывать эту ошибку, если вы хотите сократить объем работы и не использовать полный синтаксис.", + "markdown": "Теги cref не следует использовать в префиксах, так как это мешает компилятору проверить ссылки, а интегрированной среде разработки --- обновить их во время рефакторинга. Эту ошибку можно скрыть на отдельном сайте документации, если для cref нужен префикс, так как упомянутый тип не может быть найден компилятором. Например, если cref упоминает специальный атрибут в полной платформе, но вы работаете с файлом, который компилируется для переносимой платформы, или хотите сослаться на тип на более высоком уровне Roslyn, вам следует скрыть эту ошибку. Не следует скрывать эту ошибку, если вы хотите сократить объем работы и не использовать полный синтаксис." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA1200", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticKeywordCompat", + "shortDescription": { + "text": "keyword-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wkeyword-compat clang diagnostic · Learn more", + "markdown": "-Wkeyword-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wkeyword-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticKeywordCompat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIntegerOverflow", + "shortDescription": { + "text": "integer-overflow clang diagnostic" + }, + "fullDescription": { + "text": "-Winteger-overflow clang diagnostic · Learn more", + "markdown": "-Winteger-overflow clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#winteger-overflow)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIntegerOverflow", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDocumentationDeprecatedSync", + "shortDescription": { + "text": "documentation-deprecated-sync clang diagnostic" + }, + "fullDescription": { + "text": "-Wdocumentation-deprecated-sync clang diagnostic · Learn more", + "markdown": "-Wdocumentation-deprecated-sync clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdocumentation-deprecated-sync)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDocumentationDeprecatedSync", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExpansionToDefined", + "shortDescription": { + "text": "expansion-to-defined clang diagnostic" + }, + "fullDescription": { + "text": "-Wexpansion-to-defined clang diagnostic · Learn more", + "markdown": "-Wexpansion-to-defined clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wexpansion-to-defined)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticExpansionToDefined", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDllimportStaticFieldDef", + "shortDescription": { + "text": "dllimport-static-field-def clang diagnostic" + }, + "fullDescription": { + "text": "-Wdllimport-static-field-def clang diagnostic · Learn more", + "markdown": "-Wdllimport-static-field-def clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdllimport-static-field-def)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDllimportStaticFieldDef", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SwapViaDeconstruction", + "shortDescription": { + "text": "Use deconstruction to swap variables" + }, + "fullDescription": { + "text": "Replace multiple assignments with single deconstructing assignment to perform swapping", + "markdown": "Replace multiple assignments with single deconstructing assignment to perform swapping" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SwapViaDeconstruction", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RemoveConstructorInvocation", + "shortDescription": { + "text": "Remove constructor invocation" + }, + "fullDescription": { + "text": "new List<$T$>($seq$).ToArray()", + "markdown": "new List\\<$T$\\>($seq$).ToArray()" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "RemoveConstructorInvocation", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.CompiledBindingMissingDataTypeErrorHighlighting", + "shortDescription": { + "text": "x:DataType not specified for CompiledBinding" + }, + "fullDescription": { + "text": "x:DataType not specified for CompiledBinding", + "markdown": "x:DataType not specified for CompiledBinding" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "Xaml.CompiledBindingMissingDataTypeErrorHighlighting", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Code Notification", + "index": 5, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InlineOutVariableDeclaration", + "shortDescription": { + "text": "Inline 'out' variable declaration" + }, + "fullDescription": { + "text": "Replace ordinary variable declaration with inline variable declaration under 'out' argument", + "markdown": "Replace ordinary variable declaration with inline variable declaration under 'out' argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "InlineOutVariableDeclaration", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertErr34C", + "shortDescription": { + "text": "cert-err34-c clang-tidy check" + }, + "fullDescription": { + "text": "cert-err34-c clang-tidy check · Learn more", + "markdown": "cert-err34-c clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/err34-c.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCertErr34C", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithSingleCallToFirstOrDefault", + "shortDescription": { + "text": "Replace with single call to FirstOrDefault(..)" + }, + "fullDescription": { + "text": "$seq$.Where(Function ($x$) $expr$).FirstOrDefault()", + "markdown": "$seq$.Where(Function ($x$) $expr$).FirstOrDefault()" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithSingleCallToFirstOrDefault", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VirtualMemberCallInConstructor", + "shortDescription": { + "text": "Virtual member call in constructor" + }, + "fullDescription": { + "text": "When a virtual method is called, the actual type that executes the method is not selected until run time. When a constructor calls a virtual method, it is possible that the constructor for the instance that invokes the method has not executed. See http://msdn2.microsoft.com/en-us/library/ms182331.aspx. Learn more...", + "markdown": "When a virtual method is called, the actual type that executes the method is not selected until run time. When a constructor calls a virtual method, it is possible that the constructor for the instance that invokes the method has not executed. See . [Learn more...](https://www.jetbrains.com/help/rider/VirtualMemberCallInConstructor.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "VirtualMemberCallInConstructor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp98Cpp11Compat", + "shortDescription": { + "text": "c++98-c++11-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++98-c++11-compat clang diagnostic · Learn more", + "markdown": "-Wc++98-c++11-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-98-c-11-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp98Cpp11Compat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnreachableCodeBreak", + "shortDescription": { + "text": "unreachable-code-break clang diagnostic" + }, + "fullDescription": { + "text": "-Wunreachable-code-break clang diagnostic · Learn more", + "markdown": "-Wunreachable-code-break clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunreachable-code-break)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnreachableCodeBreak", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Captured field reference of a marshal-by-reference class may cause a runtime exception" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "AddressOfMarshalByRefObject", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Nullability attribute usage with declaration of void or value type does not affect code analysis [Learn more...](https://www.jetbrains.com/help/rider/AnnotationRedundancyAtValueType.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "AnnotationRedundancyAtValueType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClearAttributeIsObsolete", + "shortDescription": { + "text": "Obsolete tags and attributes (attribute 'clear' is obsolete)" + }, + "fullDescription": { + "text": "<$tag$ ([)clear=\"$val$\"(]) $a1$>", + "markdown": "\\<$tag$ (\\[)clear=\"$val$\"(\\]) $a1$\\>" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ClearAttributeIsObsolete", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Common Practices and Code Improvements", + "index": 71, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantExplicitPositionalPropertyDeclaration", + "shortDescription": { + "text": "Redundant explicit positional property declaration" + }, + "fullDescription": { + "text": "Redundant explicit positional property declaration in record type with primary constructor", + "markdown": "Redundant explicit positional property declaration in record type with primary constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantExplicitPositionalPropertyDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Marking method as OperationContract without ServiceContract attribute on the containing type could cause runtime exception" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "OperationContractWithoutServiceContract", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadSquareBracketsSpaces", + "shortDescription": { + "text": "Incorrect spacing (around square brackets within a statement)" + }, + "fullDescription": { + "text": "Around square brackets within a statement Learn more...", + "markdown": "Around square brackets within a statement [Learn more...](https://www.jetbrains.com/help/rider/BadSquareBracketsSpaces.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadSquareBracketsSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Formatting", + "index": 23, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedMethodReturnValue.Global", + "shortDescription": { + "text": "Method return value is never used (non-private accessibility)" + }, + "fullDescription": { + "text": "Method return value is never used", + "markdown": "Method return value is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UnusedMethodReturnValue.Global", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidConstexpr", + "shortDescription": { + "text": "invalid-constexpr clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-constexpr clang diagnostic · Learn more", + "markdown": "-Winvalid-constexpr clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#winvalid-constexpr)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticInvalidConstexpr", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ClearAttributeIsObsolete.All", + "shortDescription": { + "text": "Obsolete tags and attributes (attribute 'clear' is obsolete)" + }, + "fullDescription": { + "text": "<$tag$ ([)clear=all(]) $a1$>", + "markdown": "\\<$tag$ (\\[)clear=all(\\]) $a1$\\>" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ClearAttributeIsObsolete.All", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Common Practices and Code Improvements", + "index": 71, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyObjcMissingHash", + "shortDescription": { + "text": "objc-missing-hash clang-tidy check" + }, + "fullDescription": { + "text": "objc-missing-hash clang-tidy check · Learn more", + "markdown": "objc-missing-hash clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/objc/missing-hash.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyObjcMissingHash", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnreachableSwitchArmDueToIntegerAnalysis", + "shortDescription": { + "text": "Heuristically unreachable switch arm according to integer analysis" + }, + "fullDescription": { + "text": "Heuristically unreachable switch arm according to integer analysis Learn more...", + "markdown": "Heuristically unreachable switch arm according to integer analysis [Learn more...](https://www.jetbrains.com/help/rider/UnreachableSwitchArmDueToIntegerAnalysis.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UnreachableSwitchArmDueToIntegerAnalysis", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMissingDeclarations", + "shortDescription": { + "text": "missing-declarations clang diagnostic" + }, + "fullDescription": { + "text": "-Wmissing-declarations clang diagnostic · Learn more", + "markdown": "-Wmissing-declarations clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmissing-declarations)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMissingDeclarations", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Use braces to separate 'do-while' statement body [Learn more...](https://www.jetbrains.com/help/rider/EnforceDoWhileStatementBraces.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "EnforceDoWhileStatementBraces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Slash symbol used in #include directive does not match code style settings" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppWrongSlashesInIncludeDirective", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Syntax Style", + "index": 90, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PropertyCanBeMadeInitOnly.Global", + "shortDescription": { + "text": "Property can be made init-only (non-private accessibility)" + }, + "fullDescription": { + "text": "Property setter can be replaced with 'init' accessor to enforce property immutability", + "markdown": "Property setter can be replaced with 'init' accessor to enforce property immutability" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PropertyCanBeMadeInitOnly.Global", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseWithExpressionToCopyTuple", + "shortDescription": { + "text": "Use 'with' expression to copy tuple" + }, + "fullDescription": { + "text": "Use 'with' expression to create a modified copy of a tuple", + "markdown": "Use 'with' expression to create a modified copy of a tuple" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseWithExpressionToCopyTuple", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantPreprocessor", + "shortDescription": { + "text": "readability-redundant-preprocessor clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-preprocessor clang-tidy check · Learn more", + "markdown": "readability-redundant-preprocessor clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/redundant-preprocessor.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityRedundantPreprocessor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "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) Learn more...", + "markdown": "Convert if simple type (not an array and does not have generic parameters) [Learn more...](https://www.jetbrains.com/help/rider/SuggestVarOrType_SimpleTypes.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SuggestVarOrType_SimpleTypes", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "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": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS8305", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InParameterWithMustDisposeResourceAttribute", + "shortDescription": { + "text": "Meaningless [MustDisposeResource] annotation for an input parameter" + }, + "fullDescription": { + "text": "Meaningless [MustDisposeResource] annotation for an input parameter", + "markdown": "Meaningless \\[MustDisposeResource\\] annotation for an input parameter" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "InParameterWithMustDisposeResourceAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantQualifier", + "shortDescription": { + "text": "Redundant qualifier" + }, + "fullDescription": { + "text": "Qualifier is redundant", + "markdown": "Qualifier is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantQualifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Redundancies in Code", + "index": 95, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3061", + "shortDescription": { + "text": "RoslynAnalyzers Не добавляйте схему по URL-адресу" + }, + "fullDescription": { + "text": "Эта внутренняя перегрузка метода XmlSchemaCollection.Add включает обработку DTD в используемом экземпляре модуля чтения XML, а также использует UrlResolver для разрешения внешних сущностей XML. Результатом является раскрытие информации. Содержимое из файловой системы или общих папок на компьютере, обрабатывающем XML-код, может быть раскрыто для злоумышленника. Кроме того, злоумышленник может использовать этот вектор для проведения атак типа \"отказ в обслуживании\".", + "markdown": "Эта внутренняя перегрузка метода XmlSchemaCollection.Add включает обработку DTD в используемом экземпляре модуля чтения XML, а также использует UrlResolver для разрешения внешних сущностей XML. Результатом является раскрытие информации. Содержимое из файловой системы или общих папок на компьютере, обрабатывающем XML-код, может быть раскрыто для злоумышленника. Кроме того, злоумышленник может использовать этот вектор для проведения атак типа \"отказ в обслуживании\"." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA3061", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.RedundantGridSpan", + "shortDescription": { + "text": "Single-cell grid column/row span is redundant" + }, + "fullDescription": { + "text": "Single-cell grid column/row span is redundant", + "markdown": "Single-cell grid column/row span is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Xaml.RedundantGridSpan", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Redundancies in Code", + "index": 74, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Enforce the 'virtual' and 'override' specifiers on overriding functions" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppEnforceOverridingFunctionStyle", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Syntax Style", + "index": 90, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerDeadcodeDeadStores", + "shortDescription": { + "text": "deadcode.DeadStores clang static analyzer check" + }, + "fullDescription": { + "text": "deadcode.DeadStores clang static analyzer check · Learn more", + "markdown": "deadcode.DeadStores clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerDeadcodeDeadStores", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCtadMaybeUnsupported", + "shortDescription": { + "text": "ctad-maybe-unsupported clang diagnostic" + }, + "fullDescription": { + "text": "-Wctad-maybe-unsupported clang diagnostic · Learn more", + "markdown": "-Wctad-maybe-unsupported clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wctad-maybe-unsupported)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCtadMaybeUnsupported", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInlineAsm", + "shortDescription": { + "text": "inline-asm clang diagnostic" + }, + "fullDescription": { + "text": "-Winline-asm clang diagnostic · Learn more", + "markdown": "-Winline-asm clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#winline-asm)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticInlineAsm", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Parameter is inferred always not to be null: consider annotating it with \\[NotNull\\] or \\[ItemNotNull\\] attribute" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "AnnotateNotNullParameter", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeThisQualifier", + "shortDescription": { + "text": "Add/remove 'this.' qualifier" + }, + "fullDescription": { + "text": "'this.' qualifier can be safely added/removed without changing code semantics Learn more...", + "markdown": "'this.' qualifier can be safely added/removed without changing code semantics [Learn more...](https://www.jetbrains.com/help/rider/ArrangeThisQualifier.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ArrangeThisQualifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcRetainCycles", + "shortDescription": { + "text": "arc-retain-cycles clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-retain-cycles clang diagnostic · Learn more", + "markdown": "-Warc-retain-cycles clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#warc-retain-cycles)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticArcRetainCycles", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNewDeleteOperators", + "shortDescription": { + "text": "hicpp-new-delete-operators clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-new-delete-operators clang-tidy check · Learn more", + "markdown": "hicpp-new-delete-operators clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/new-delete-operators.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppNewDeleteOperators", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseUsing", + "shortDescription": { + "text": "modernize-use-using clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-using clang-tidy check · Learn more", + "markdown": "modernize-use-using clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/use-using.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeUseUsing", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneTooSmallLoopVariable", + "shortDescription": { + "text": "bugprone-too-small-loop-variable clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-too-small-loop-variable clang-tidy check · Learn more", + "markdown": "bugprone-too-small-loop-variable clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneTooSmallLoopVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscNonPrivateMemberVariablesInClasses", + "shortDescription": { + "text": "misc-non-private-member-variables-in-classes clang-tidy check" + }, + "fullDescription": { + "text": "misc-non-private-member-variables-in-classes clang-tidy check · Learn more", + "markdown": "misc-non-private-member-variables-in-classes clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyMiscNonPrivateMemberVariablesInClasses", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0116", + "shortDescription": { + "text": "RoslynAnalyzers Changing attribute '{0}' requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0116", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0117", + "shortDescription": { + "text": "RoslynAnalyzers Changing attribute '{0}' requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0117", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticXorUsedAsPow", + "shortDescription": { + "text": "xor-used-as-pow clang diagnostic" + }, + "fullDescription": { + "text": "-Wxor-used-as-pow clang diagnostic · Learn more", + "markdown": "-Wxor-used-as-pow clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wxor-used-as-pow)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticXorUsedAsPow", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityIdentifierLength", + "shortDescription": { + "text": "readability-identifier-length clang-tidy check" + }, + "fullDescription": { + "text": "readability-identifier-length clang-tidy check · Learn more", + "markdown": "readability-identifier-length clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/identifier-length.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityIdentifierLength", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftRedeclareStatic", + "shortDescription": { + "text": "microsoft-redeclare-static clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-redeclare-static clang diagnostic · Learn more", + "markdown": "-Wmicrosoft-redeclare-static clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmicrosoft-redeclare-static)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMicrosoftRedeclareStatic", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantExplicitArraySize", + "shortDescription": { + "text": "Redundant explicit size specification in array creation" + }, + "fullDescription": { + "text": "When array initializer has the same number of elements as specified in size expression, explicit size specification is redundant Learn more...", + "markdown": "When array initializer has the same number of elements as specified in size expression, explicit size specification is redundant [Learn more...](https://www.jetbrains.com/help/rider/RedundantExplicitArraySize.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantExplicitArraySize", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNonPowerOfTwoAlignment", + "shortDescription": { + "text": "non-power-of-two-alignment clang diagnostic" + }, + "fullDescription": { + "text": "-Wnon-power-of-two-alignment clang diagnostic · Learn more", + "markdown": "-Wnon-power-of-two-alignment clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wnon-power-of-two-alignment)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticNonPowerOfTwoAlignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Function body is too complex to analyze, consider decomposing it or reducing number of variables" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "FunctionComplexityOverflow", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDoublePromotion", + "shortDescription": { + "text": "double-promotion clang diagnostic" + }, + "fullDescription": { + "text": "-Wdouble-promotion clang diagnostic · Learn more", + "markdown": "-Wdouble-promotion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdouble-promotion)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDoublePromotion", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3075", + "shortDescription": { + "text": "RoslynAnalyzers Небезопасная обработка DTD в формате XML" + }, + "fullDescription": { + "text": "Использование XmlTextReader.Load(), создание небезопасного экземпляра XmlReaderSettings при вызове XmlReader.Create(), задание свойства InnerXml для XmlDocument и включение обработки DTD путем небезопасного использования XmlUrlResolver могут привести к раскрытию информации. Замените его на вызов перегрузки метода Load(), которая принимает экземпляр XmlReader, используйте XmlReader.Create(), чтобы принять аргументы XmlReaderSettings, либо рассмотрите возможность явного задания безопасных значений. Свойство DataViewSettingCollectionString для DataViewManager должно всегда назначаться из доверенного источника, свойство DtdProcessing должно иметь значение ЛОЖЬ, а свойство XmlResolver нужно изменить на XmlSecureResolver или null.", + "markdown": "Использование XmlTextReader.Load(), создание небезопасного экземпляра XmlReaderSettings при вызове XmlReader.Create(), задание свойства InnerXml для XmlDocument и включение обработки DTD путем небезопасного использования XmlUrlResolver могут привести к раскрытию информации. Замените его на вызов перегрузки метода Load(), которая принимает экземпляр XmlReader, используйте XmlReader.Create(), чтобы принять аргументы XmlReaderSettings, либо рассмотрите возможность явного задания безопасных значений. Свойство DataViewSettingCollectionString для DataViewManager должно всегда назначаться из доверенного источника, свойство DtdProcessing должно иметь значение ЛОЖЬ, а свойство XmlResolver нужно изменить на XmlSecureResolver или null." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA3075", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3076", + "shortDescription": { + "text": "RoslynAnalyzers Небезопасная обработка скрипта XSLT." + }, + "fullDescription": { + "text": "Передача небезопасных экземпляров XsltSettings и XmlResolver в метод XslCompiledTransform.Load может представлять риск, так как это позволяет обработать скрипт в XSL, что при ненадежных входных данных может привести к запуску вредоносного кода. Замените небезопасный аргумент XsltSettings на XsltSettings.Default или на экземпляр, в котором отключены функции документирования и выполнения скриптов, либо замените аргумент XmlResolver на null или на экземпляр XmlSecureResolver. Это сообщение можно скрыть, если известно, что входные данные получены из надежного источника, при этом должно поддерживаться разрешение внешних ресурсов из неизвестных заранее расположений.", + "markdown": "Передача небезопасных экземпляров XsltSettings и XmlResolver в метод XslCompiledTransform.Load может представлять риск, так как это позволяет обработать скрипт в XSL, что при ненадежных входных данных может привести к запуску вредоносного кода. Замените небезопасный аргумент XsltSettings на XsltSettings.Default или на экземпляр, в котором отключены функции документирования и выполнения скриптов, либо замените аргумент XmlResolver на null или на экземпляр XmlSecureResolver. Это сообщение можно скрыть, если известно, что входные данные получены из надежного источника, при этом должно поддерживаться разрешение внешних ресурсов из неизвестных заранее расположений." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA3076", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CA3077", + "shortDescription": { + "text": "RoslynAnalyzers Небезопасная обработка в структуре API, XmlDocument и XmlTextReader" + }, + "fullDescription": { + "text": "Включение обработки DTD для всех экземпляров, производных от XmlTextReader или XmlDocument , и использование XmlUrlResolver для разрешения внешних объектов XML может привести к раскрытию сведений. Обязательно задайте для свойства XmlResolver значение null, создайте экземпляр XmlSecureResolver при обработке ненадежных входных данных или используйте метод XmlReader.Create с безопасным аргументом XmlReaderSettings. Если вам не нужно включать его, убедитесь, что для свойства DtdProcessing установлено значение ЛОЖЬ.", + "markdown": "Включение обработки DTD для всех экземпляров, производных от XmlTextReader или XmlDocument , и использование XmlUrlResolver для разрешения внешних объектов XML может привести к раскрытию сведений. Обязательно задайте для свойства XmlResolver значение null, создайте экземпляр XmlSecureResolver при обработке ненадежных входных данных или используйте метод XmlReader.Create с безопасным аргументом XmlReaderSettings. Если вам не нужно включать его, убедитесь, что для свойства DtdProcessing установлено значение ЛОЖЬ." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CA3077", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReorderCtor", + "shortDescription": { + "text": "reorder-ctor clang diagnostic" + }, + "fullDescription": { + "text": "-Wreorder-ctor clang diagnostic · Learn more", + "markdown": "-Wreorder-ctor clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wreorder-ctor)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticReorderCtor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PolymorphicFieldLikeEventInvocation", + "shortDescription": { + "text": "Invocation of polymorphic field-like event" + }, + "fullDescription": { + "text": "Invocation of 'virtual' or 'override' field-like event leads to unpredictable result because the invocation list is not virtual Learn more...", + "markdown": "Invocation of 'virtual' or 'override' field-like event leads to unpredictable result because the invocation list is not virtual [Learn more...](https://www.jetbrains.com/help/rider/PolymorphicFieldLikeEventInvocation.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PolymorphicFieldLikeEventInvocation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadEmptyBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks (around empty braces)" + }, + "fullDescription": { + "text": "Around empty braces", + "markdown": "Around empty braces" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadEmptyBracesLineBreaks", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentLogPropertyNaming", + "shortDescription": { + "text": "Property name '{0}' does not match naming rules. Suggested name is '{1}'." + }, + "fullDescription": { + "text": "Property name '{0}' does not match naming rules. Suggested name is '{1}'. Learn more...", + "markdown": "Property name '{0}' does not match naming rules. Suggested name is '{1}'. [Learn more...](https://github.com/olsh/resharper-structured-logging/blob/master/rules/InconsistentLogPropertyNaming.md)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "InconsistentLogPropertyNaming", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Structured Logging Misuse", + "index": 59, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantCast", + "shortDescription": { + "text": "Redundant cast" + }, + "fullDescription": { + "text": "Type cast can be safely removed Learn more...", + "markdown": "Type cast can be safely removed [Learn more...](https://www.jetbrains.com/help/rider/RedundantCast.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantCast", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerApiModelingLlvmCastValue", + "shortDescription": { + "text": "apiModeling.llvm.CastValue clang static analyzer check" + }, + "fullDescription": { + "text": "apiModeling.llvm.CastValue clang static analyzer check · Learn more", + "markdown": "apiModeling.llvm.CastValue clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerApiModelingLlvmCastValue", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0109", + "shortDescription": { + "text": "RoslynAnalyzers Changing the containing namespace of '{0}' from '{1}' to '{2}' requires restarting the application" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0109", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringLiteralAsInterpolationArgument", + "shortDescription": { + "text": "String literal can be inlined" + }, + "fullDescription": { + "text": "String literal can be inlined into interpolation", + "markdown": "String literal can be inlined into interpolation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "StringLiteralAsInterpolationArgument", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0107", + "shortDescription": { + "text": "RoslynAnalyzers Renaming {0} requires restarting the application because it is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0107", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0108", + "shortDescription": { + "text": "RoslynAnalyzers Changing pseudo-custom attribute '{0}' of {1} requires restarting the application" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0108", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedStaticAnalyzerFlag", + "shortDescription": { + "text": "deprecated-static-analyzer-flag clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-static-analyzer-flag clang diagnostic · Learn more", + "markdown": "-Wdeprecated-static-analyzer-flag clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-static-analyzer-flag)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedStaticAnalyzerFlag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0105", + "shortDescription": { + "text": "RoslynAnalyzers Changing constraints of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0105", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0106", + "shortDescription": { + "text": "RoslynAnalyzers Updating a reloadable type (marked by {0}) or its member requires restarting the application because is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0106", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0114", + "shortDescription": { + "text": "RoslynAnalyzers Capturing primary constructor parameter '{0}' that hasn't been capture before requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0114", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0115", + "shortDescription": { + "text": "RoslynAnalyzers Ceasing to capture primary constructor parameter '{0}' of '{1}' requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0115", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0112", + "shortDescription": { + "text": "RoslynAnalyzers Updating async or iterator requires restarting the application because is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0112", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0113", + "shortDescription": { + "text": "RoslynAnalyzers Updating {0} within generic type or method requires restarting the application because is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0113", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0110", + "shortDescription": { + "text": "RoslynAnalyzers Changing the signature of {0} requires restarting the application because is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0110", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerFuchsiaHandleChecker", + "shortDescription": { + "text": "fuchsia.HandleChecker clang static analyzer check" + }, + "fullDescription": { + "text": "fuchsia.HandleChecker clang static analyzer check · Learn more", + "markdown": "fuchsia.HandleChecker clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerFuchsiaHandleChecker", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0111", + "shortDescription": { + "text": "RoslynAnalyzers Deleting {0} requires restarting the application because is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0111", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShadowField", + "shortDescription": { + "text": "shadow-field clang diagnostic" + }, + "fullDescription": { + "text": "-Wshadow-field clang diagnostic · Learn more", + "markdown": "-Wshadow-field clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wshadow-field)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticShadowField", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantWithExpression", + "shortDescription": { + "text": "Empty 'with' expression is redundant" + }, + "fullDescription": { + "text": "Empty 'with' expression applied to newly created object instance results in unnecessary clone creation", + "markdown": "Empty 'with' expression applied to newly created object instance results in unnecessary clone creation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RedundantWithExpression", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtraQualification", + "shortDescription": { + "text": "extra-qualification clang diagnostic" + }, + "fullDescription": { + "text": "-Wextra-qualification clang diagnostic · Learn more", + "markdown": "-Wextra-qualification clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wextra-qualification)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticExtraQualification", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToVbAutoPropertyWhenPossible", + "shortDescription": { + "text": "Convert property to auto-property when possible" + }, + "fullDescription": { + "text": "Converts property declaration to VB.NET auto-property syntax.", + "markdown": "Converts property declaration to VB.NET auto-property syntax." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ConvertToVbAutoPropertyWhenPossible", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNoexceptMove", + "shortDescription": { + "text": "hicpp-noexcept-move clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-noexcept-move clang-tidy check · Learn more", + "markdown": "hicpp-noexcept-move clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/noexcept-move.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppNoexceptMove", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAutoStorageClass", + "shortDescription": { + "text": "auto-storage-class clang diagnostic" + }, + "fullDescription": { + "text": "-Wauto-storage-class clang diagnostic · Learn more", + "markdown": "-Wauto-storage-class clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wauto-storage-class)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticAutoStorageClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WebConfig.UnusedElementDueToConfigSourceAttribute", + "shortDescription": { + "text": "Redundant element or attribute because of 'configSource' attribute" + }, + "fullDescription": { + "text": "Element or attribute is not applied because of 'configSource' attribute and can be safely removed", + "markdown": "Element or attribute is not applied because of 'configSource' attribute and can be safely removed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "WebConfig.UnusedElementDueToConfigSourceAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Web.Config/Redundancies in Code", + "index": 97, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppConceptNeverUsed", + "shortDescription": { + "text": "Concept is never used" + }, + "fullDescription": { + "text": "Concept is never used", + "markdown": "Concept is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppConceptNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadExpressionBracesLineBreaks", + "shortDescription": { + "text": "Incorrect line breaks (around expression braces)" + }, + "fullDescription": { + "text": "Around expression braces Learn more...", + "markdown": "Around expression braces [Learn more...](https://www.jetbrains.com/help/rider/BadExpressionBracesLineBreaks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadExpressionBracesLineBreaks", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Formatting", + "index": 23, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompleteModule", + "shortDescription": { + "text": "incomplete-module clang diagnostic" + }, + "fullDescription": { + "text": "-Wincomplete-module clang diagnostic · Learn more", + "markdown": "-Wincomplete-module clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wincomplete-module)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIncompleteModule", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppMissingKeywordThrow", + "shortDescription": { + "text": "May be missing keyword 'throw'" + }, + "fullDescription": { + "text": "Object of exception type is created, but is not thrown", + "markdown": "Object of exception type is created, but is not thrown" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMissingKeywordThrow", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0103", + "shortDescription": { + "text": "RoslynAnalyzers Changing parameter types of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0103", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0104", + "shortDescription": { + "text": "RoslynAnalyzers Changing type parameters of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0104", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0101", + "shortDescription": { + "text": "RoslynAnalyzers Updating the attributes of {0} requires restarting the application because it is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0101", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0102", + "shortDescription": { + "text": "RoslynAnalyzers An update that causes the return type of the implicit Main method to change requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0102", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "A function definition in a header file that will lead to a multiple definition linkage error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppNonInlineFunctionDefinitionInHeaderFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0100", + "shortDescription": { + "text": "RoslynAnalyzers Adding {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0100", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedMemberHierarchy.Local", + "shortDescription": { + "text": "Type member is only used in overrides (private accessibility)" + }, + "fullDescription": { + "text": "Type member is never used from outside of implementation hierarchy, it is only accessed from overrides through base call", + "markdown": "Type member is never used from outside of implementation hierarchy, it is only accessed from overrides through base call" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedMemberHierarchy.Local", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuStaticFloatInit", + "shortDescription": { + "text": "gnu-static-float-init clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-static-float-init clang diagnostic · Learn more", + "markdown": "-Wgnu-static-float-init clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wgnu-static-float-init)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGnuStaticFloatInit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAssume", + "shortDescription": { + "text": "assume clang diagnostic" + }, + "fullDescription": { + "text": "-Wassume clang diagnostic · Learn more", + "markdown": "-Wassume clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wassume)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticAssume", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "-Wc++98-compat-unnamed-type-template-args clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-98-compat-unnamed-type-template-args)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp98CompatUnnamedTypeTemplateArgs", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS1717", + "shortDescription": { + "text": "Assignment made to same variable" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://msdn.microsoft.com/en-us/library/a1kzfw0z.aspx)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS1717", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "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": "Learn more...", + "markdown": "[Learn more...](https://learn.microsoft.com/en-us/dotnet/csharp/misc/cs1711)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS1711", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS1712", + "shortDescription": { + "text": "Type parameter has no matching typeparam tag in the XML comment" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://msdn.microsoft.com/en-us/library/t8zca749.aspx)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS1712", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithSimpleAssignment.False", + "shortDescription": { + "text": "Replace with simple assignment" + }, + "fullDescription": { + "text": "$bool1$ &= false", + "markdown": "$bool1$ \\&= false" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithSimpleAssignment.False", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CSharpWarnings__CS1710", + "shortDescription": { + "text": "Duplicate typeparam tag in XML comment" + }, + "fullDescription": { + "text": "Learn more...", + "markdown": "[Learn more...](https://msdn.microsoft.com/en-us/library/k5ya7w1x.aspx)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CSharpWarnings__CS1710", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidComparisonInTempFailureRetry", + "shortDescription": { + "text": "android-comparison-in-temp-failure-retry clang-tidy check" + }, + "fullDescription": { + "text": "android-comparison-in-temp-failure-retry clang-tidy check · Learn more", + "markdown": "android-comparison-in-temp-failure-retry clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android/comparison-in-temp-failure-retry.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyAndroidComparisonInTempFailureRetry", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp20CompatPedantic", + "shortDescription": { + "text": "c++20-compat-pedantic clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++20-compat-pedantic clang diagnostic · Learn more", + "markdown": "-Wc++20-compat-pedantic clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-20-compat-pedantic)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp20CompatPedantic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Non-abstract class has virtual (overridable) members but has no inheritors" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ClassWithVirtualMembersNeverInherited.Local", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertOop57Cpp", + "shortDescription": { + "text": "cert-oop57-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-oop57-cpp clang-tidy check · Learn more", + "markdown": "cert-oop57-cpp clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/oop57-cpp.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyCertOop57Cpp", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NUnit.TestCaseResultPropertyIsObsolete", + "shortDescription": { + "text": "NUnit. Test case Result property is obsolete." + }, + "fullDescription": { + "text": "NUnit. Test case Result property is obsolete since NUnit 2.6. Learn more...", + "markdown": "NUnit. Test case Result property is obsolete since NUnit 2.6. [Learn more...](https://www.jetbrains.com/help/rider/NUnit.TestCaseResultPropertyIsObsolete.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NUnit.TestCaseResultPropertyIsObsolete", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/NUnit", + "index": 25, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCertDcl21Cpp", + "shortDescription": { + "text": "cert-dcl21-cpp clang-tidy check" + }, + "fullDescription": { + "text": "cert-dcl21-cpp clang-tidy check · Learn more", + "markdown": "cert-dcl21-cpp clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cert/dcl21-cpp.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCertDcl21Cpp", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Objects stored in non-uproperty member can be destroyed during garbage collection, resulting in stale pointers" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUE4ProbableMemoryIssuesWithUObjectsInContainer", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Unreal Engine", + "index": 6, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppPrintfRiskyFormat", + "shortDescription": { + "text": "Possibly invalid printf format specifier" + }, + "fullDescription": { + "text": "Format string contains a potential error", + "markdown": "Format string contains a potential error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppPrintfRiskyFormat", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TemplateFormatStringProblem", + "shortDescription": { + "text": "Non-existing argument in message template" + }, + "fullDescription": { + "text": "Non-existing argument in message template", + "markdown": "Non-existing argument in message template" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "TemplateFormatStringProblem", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Structured Logging Misuse", + "index": 59, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UsePositionalDeconstructionPattern", + "shortDescription": { + "text": "Use positional deconstruction pattern" + }, + "fullDescription": { + "text": "Replace property pattern member(s) of recursive pattern with positional deconstruction patterns", + "markdown": "Replace property pattern member(s) of recursive pattern with positional deconstruction patterns" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "UsePositionalDeconstructionPattern", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPadded", + "shortDescription": { + "text": "padded clang diagnostic" + }, + "fullDescription": { + "text": "-Wpadded clang diagnostic · Learn more", + "markdown": "-Wpadded clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpadded)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPadded", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantLogicalConditionalExpressionOperand", + "shortDescription": { + "text": "Redundant operand in logical conditional expression" + }, + "fullDescription": { + "text": "Redundant operand in logical conditional expression, for example \r\n expr || false\r\n expr && true\r\n Learn more...", + "markdown": "Redundant operand in logical conditional expression, for example\n\n```\n\r\n expr || false\r\n expr && true\r\n```\n\n[Learn more...](https://www.jetbrains.com/help/rider/RedundantLogicalConditionalExpressionOperand.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantLogicalConditionalExpressionOperand", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticLanguageExtensionToken", + "shortDescription": { + "text": "language-extension-token clang diagnostic" + }, + "fullDescription": { + "text": "-Wlanguage-extension-token clang diagnostic · Learn more", + "markdown": "-Wlanguage-extension-token clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wlanguage-extension-token)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticLanguageExtensionToken", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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.", + "markdown": "Suspicious 'volatile' field usage: compound operation is not atomic. 'Interlocked' class can be used instead." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NonAtomicCompoundOperator", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHighlighting", + "shortDescription": { + "text": "Unknown clang-tidy checks" + }, + "fullDescription": { + "text": "Unknown clang-tidy checks.", + "markdown": "Unknown clang-tidy checks." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHighlighting", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedButSetVariable", + "shortDescription": { + "text": "unused-but-set-variable clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-but-set-variable clang diagnostic · Learn more", + "markdown": "-Wunused-but-set-variable clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunused-but-set-variable)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnusedButSetVariable", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalObjcBoolCompare", + "shortDescription": { + "text": "tautological-objc-bool-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-objc-bool-compare clang diagnostic · Learn more", + "markdown": "-Wtautological-objc-bool-compare clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wtautological-objc-bool-compare)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticTautologicalObjcBoolCompare", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OverriddenWithSameValue", + "shortDescription": { + "text": "Resource is overridden with identical value" + }, + "fullDescription": { + "text": "Base resource item and the current item have the same value Learn more...", + "markdown": "Base resource item and the current item have the same value [Learn more...](https://www.jetbrains.com/help/rider/OverriddenWithSameValue.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "OverriddenWithSameValue", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "ResX/Redundancies in Code", + "index": 98, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asxx.PathError", + "shortDescription": { + "text": "Path error" + }, + "fullDescription": { + "text": "Path error", + "markdown": "Path error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Asxx.PathError", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HttpHandler or WebService/Potential Code Quality Issues", + "index": 100, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMisspelledAssumption", + "shortDescription": { + "text": "misspelled-assumption clang diagnostic" + }, + "fullDescription": { + "text": "-Wmisspelled-assumption clang diagnostic · Learn more", + "markdown": "-Wmisspelled-assumption clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmisspelled-assumption)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMisspelledAssumption", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ArrangeNamespaceBody", + "shortDescription": { + "text": "Use preferred namespace body style" + }, + "fullDescription": { + "text": "Use file-scoped or block-scoped namespace body Learn more...", + "markdown": "Use file-scoped or block-scoped namespace body [Learn more...](https://www.jetbrains.com/help/rider/ArrangeNamespaceBody.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ArrangeNamespaceBody", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeUseTrailingReturnType", + "shortDescription": { + "text": "modernize-use-trailing-return-type clang-tidy check" + }, + "fullDescription": { + "text": "modernize-use-trailing-return-type clang-tidy check · Learn more", + "markdown": "modernize-use-trailing-return-type clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeUseTrailingReturnType", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftStaticAssert", + "shortDescription": { + "text": "microsoft-static-assert clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-static-assert clang diagnostic · Learn more", + "markdown": "-Wmicrosoft-static-assert clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmicrosoft-static-assert)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMicrosoftStaticAssert", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PropertyCanBeMadeInitOnly.Local", + "shortDescription": { + "text": "Property can be made init-only (private accessibility)" + }, + "fullDescription": { + "text": "Property setter can be replaced with 'init' accessor to enforce property immutability", + "markdown": "Property setter can be replaced with 'init' accessor to enforce property immutability" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "PropertyCanBeMadeInitOnly.Local", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastQual", + "shortDescription": { + "text": "cast-qual clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-qual clang diagnostic · Learn more", + "markdown": "-Wcast-qual clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wcast-qual)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCastQual", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11Compat", + "shortDescription": { + "text": "c++11-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-compat clang diagnostic · Learn more", + "markdown": "-Wc++11-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-11-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp11Compat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMicrosoftEnumValue", + "shortDescription": { + "text": "microsoft-enum-value clang diagnostic" + }, + "fullDescription": { + "text": "-Wmicrosoft-enum-value clang diagnostic · Learn more", + "markdown": "-Wmicrosoft-enum-value clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmicrosoft-enum-value)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMicrosoftEnumValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnusedRaii", + "shortDescription": { + "text": "bugprone-unused-raii clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unused-raii clang-tidy check · Learn more", + "markdown": "bugprone-unused-raii clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/unused-raii.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneUnusedRaii", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneMisplacedOperatorInStrlenInAlloc", + "shortDescription": { + "text": "bugprone-misplaced-operator-in-strlen-in-alloc clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-misplaced-operator-in-strlen-in-alloc clang-tidy check · Learn more", + "markdown": "bugprone-misplaced-operator-in-strlen-in-alloc clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/misplaced-operator-in-strlen-in-alloc.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneMisplacedOperatorInStrlenInAlloc", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticShorten64To32", + "shortDescription": { + "text": "shorten-64-to-32 clang diagnostic" + }, + "fullDescription": { + "text": "-Wshorten-64-to-32 clang diagnostic · Learn more", + "markdown": "-Wshorten-64-to-32 clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wshorten-64-to-32)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticShorten64To32", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Html.EventNotResolved", + "shortDescription": { + "text": "Unknown event" + }, + "fullDescription": { + "text": "Unknown event in HTML and related technologies", + "markdown": "Unknown event in HTML and related technologies" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "Html.EventNotResolved", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Potential Code Quality Issues", + "index": 54, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecEpollCreate", + "shortDescription": { + "text": "android-cloexec-epoll-create clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-epoll-create clang-tidy check · Learn more", + "markdown": "android-cloexec-epoll-create clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android/cloexec-epoll-create.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyAndroidCloexecEpollCreate", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityAvoidUnconditionalPreprocessorIf", + "shortDescription": { + "text": "readability-avoid-unconditional-preprocessor-if clang-tidy check" + }, + "fullDescription": { + "text": "readability-avoid-unconditional-preprocessor-if clang-tidy check · Learn more", + "markdown": "readability-avoid-unconditional-preprocessor-if clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/avoid-unconditional-preprocessor-if.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityAvoidUnconditionalPreprocessorIf", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUninitializedDependentBaseClass", + "shortDescription": { + "text": "Uninitialized dependent base class" + }, + "fullDescription": { + "text": "Possibly uninitialized dependent base class", + "markdown": "Possibly uninitialized dependent base class" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUninitializedDependentBaseClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Compiler Warnings", + "index": 72, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticParenthesesEquality", + "shortDescription": { + "text": "parentheses-equality clang diagnostic" + }, + "fullDescription": { + "text": "-Wparentheses-equality clang diagnostic · Learn more", + "markdown": "-Wparentheses-equality clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wparentheses-equality)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticParenthesesEquality", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyLinqExpressionUseMinByAndMaxBy", + "shortDescription": { + "text": "Use 'MinBy' or 'MaxBy' instead of ordering and taking 'First' or 'Last'" + }, + "fullDescription": { + "text": "Replace ordering and taking 'First' or 'Last' with 'MinBy' or 'MaxBy' invocation", + "markdown": "Replace ordering and taking 'First' or 'Last' with 'MinBy' or 'MaxBy' invocation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SimplifyLinqExpressionUseMinByAndMaxBy", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "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'", + "markdown": "A numeric type can be replaced with 'auto'" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseAutoForNumeric", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Syntax Style", + "index": 90, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithSingleAssignment.1", + "shortDescription": { + "text": "Replace with single assignment" + }, + "fullDescription": { + "text": "Dim $x$ = False If($bool1$) Then $x$ = True", + "markdown": "Dim $x$ = False If($bool1$) Then $x$ = True" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithSingleAssignment.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithSingleAssignment.2", + "shortDescription": { + "text": "Replace with single assignment" + }, + "fullDescription": { + "text": "Dim $x$ = True If($bool1$) Then $x$ = False", + "markdown": "Dim $x$ = True If($bool1$) Then $x$ = False" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithSingleAssignment.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppTypeAliasNeverUsed", + "shortDescription": { + "text": "Type alias is never used" + }, + "fullDescription": { + "text": "A type alias is never used", + "markdown": "A type alias is never used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppTypeAliasNeverUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantReadonlyModifier", + "shortDescription": { + "text": "Redundant 'readonly' modifier" + }, + "fullDescription": { + "text": "Readonly 'redundant' member/accessor modifier in struct declaration", + "markdown": "Readonly 'redundant' member/accessor modifier in struct declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RedundantReadonlyModifier", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticSelfAssignField", + "shortDescription": { + "text": "self-assign-field clang diagnostic" + }, + "fullDescription": { + "text": "-Wself-assign-field clang diagnostic · Learn more", + "markdown": "-Wself-assign-field clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wself-assign-field)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticSelfAssignField", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "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": "note", + "parameters": { + "suppressToolId": "CppPassValueParameterByConstReference", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Common Practices and Code Improvements", + "index": 17, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticConditionalTypeMismatch", + "shortDescription": { + "text": "conditional-type-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Wconditional-type-mismatch clang diagnostic · Learn more", + "markdown": "-Wconditional-type-mismatch clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wconditional-type-mismatch)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticConditionalTypeMismatch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantArrayLowerBoundSpecification", + "shortDescription": { + "text": "Redundant array lower bound specification" + }, + "fullDescription": { + "text": "Array lower bound specification is redundant", + "markdown": "Array lower bound specification is redundant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantArrayLowerBoundSpecification", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Redundancies in Code", + "index": 95, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0099", + "shortDescription": { + "text": "RoslynAnalyzers Making a method an iterator requires restarting the application because is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0099", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBoostUseToString", + "shortDescription": { + "text": "boost-use-to-string clang-tidy check" + }, + "fullDescription": { + "text": "boost-use-to-string clang-tidy check · Learn more", + "markdown": "boost-use-to-string clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/boost/use-to-string.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyBoostUseToString", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0097", + "shortDescription": { + "text": "RoslynAnalyzers Applying source changes while the application is running is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0097", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0098", + "shortDescription": { + "text": "RoslynAnalyzers Making a method asynchronous requires restarting the application because is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0098", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JoinDeclarationAndInitializer", + "shortDescription": { + "text": "Join local variable declaration and assignment" + }, + "fullDescription": { + "text": "Join local variable declaration and assignment Learn more...", + "markdown": "Join local variable declaration and assignment [Learn more...](https://www.jetbrains.com/help/rider/JoinDeclarationAndInitializer.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "JoinDeclarationAndInitializer", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RouteTemplates.SyntaxError", + "shortDescription": { + "text": "Syntax error" + }, + "fullDescription": { + "text": "Syntax error", + "markdown": "Syntax error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RouteTemplates.SyntaxError", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "ASP.NET route templates/Code Notification", + "index": 49, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Some values of the enum are not processed inside 'switch' statement [Learn more...](https://www.jetbrains.com/help/rider/SwitchStatementMissingSomeEnumCasesNoDefault.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SwitchStatementMissingSomeEnumCasesNoDefault", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneThrowKeywordMissing", + "shortDescription": { + "text": "bugprone-throw-keyword-missing clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-throw-keyword-missing clang-tidy check · Learn more", + "markdown": "bugprone-throw-keyword-missing clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/throw-keyword-missing.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneThrowKeywordMissing", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0090", + "shortDescription": { + "text": "RoslynAnalyzers Modifying the body of {0} requires restarting the application because the body has too many statements." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0090", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "\\[MustDisposeResource\\] annotation is not inherited from the base constructor [Learn more...](https://www.jetbrains.com/help/rider/ConstructorWithMustDisposeResourceAttributeBaseIsNotAnnotated.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ConstructorWithMustDisposeResourceAttributeBaseIsNotAnnotated", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantPatternParentheses", + "shortDescription": { + "text": "Remove redundant pattern-matching parentheses" + }, + "fullDescription": { + "text": "Parentheses surrounding a pattern are redundant if they do not change precedence of `or`-/`and`-patterns", + "markdown": "Parentheses surrounding a pattern are redundant if they do not change precedence of \\`or\\`-/\\`and\\`-patterns" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RedundantPatternParentheses", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConvertToPrimaryConstructor", + "shortDescription": { + "text": "Convert constructor into primary constructor" + }, + "fullDescription": { + "text": "Replace ordinary constructor with primary constructor", + "markdown": "Replace ordinary constructor with primary constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ConvertToPrimaryConstructor", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantLinebreak", + "shortDescription": { + "text": "Incorrect line breaks (line break is redundant elsewhere)" + }, + "fullDescription": { + "text": "Line break is redundant elsewhere", + "markdown": "Line break is redundant elsewhere" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantLinebreak", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyZirconTemporaryObjects", + "shortDescription": { + "text": "zircon-temporary-objects clang-tidy check" + }, + "fullDescription": { + "text": "zircon-temporary-objects clang-tidy check · Learn more", + "markdown": "zircon-temporary-objects clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/zircon/temporary-objects.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyZirconTemporaryObjects", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGlobalConstructors", + "shortDescription": { + "text": "global-constructors clang diagnostic" + }, + "fullDescription": { + "text": "-Wglobal-constructors clang diagnostic · Learn more", + "markdown": "-Wglobal-constructors clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wglobal-constructors)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGlobalConstructors", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantTypenameKeyword", + "shortDescription": { + "text": "Redundant 'typename' keyword" + }, + "fullDescription": { + "text": "Redundant 'typename' keyword", + "markdown": "Redundant 'typename' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRedundantTypenameKeyword", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Redundancies in Code", + "index": 34, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppDoxygenSyntaxError", + "shortDescription": { + "text": "Syntax error in doxygen comment" + }, + "fullDescription": { + "text": "Syntax error in a doxygen comment", + "markdown": "Syntax error in a doxygen comment" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppDoxygenSyntaxError", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0088", + "shortDescription": { + "text": "RoslynAnalyzers Modifying the body of {0} requires restarting the application due to internal error: {1}" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0088", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UselessComparisonToIntegralConstant", + "shortDescription": { + "text": "Comparison to integral constant is useless" + }, + "fullDescription": { + "text": "Comparison to integral constant is useless; the constant is outside the range of the target type", + "markdown": "Comparison to integral constant is useless; the constant is outside the range of the target type" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UselessComparisonToIntegralConstant", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0089", + "shortDescription": { + "text": "RoslynAnalyzers Modifying source file '{0}' requires restarting the application because the file is too big." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0089", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantElseKeyword", + "shortDescription": { + "text": "Redundant 'else' keyword" + }, + "fullDescription": { + "text": "Redundant 'else' keyword", + "markdown": "Redundant 'else' keyword" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantElseKeyword", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Redundancies in Code", + "index": 34, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0086", + "shortDescription": { + "text": "RoslynAnalyzers Changing '{0}' to '{1}' requires restarting the application because it changes the shape of the state machine." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0086", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPackedNonPod", + "shortDescription": { + "text": "packed-non-pod clang diagnostic" + }, + "fullDescription": { + "text": "-Wpacked-non-pod clang diagnostic · Learn more", + "markdown": "-Wpacked-non-pod clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpacked-non-pod)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPackedNonPod", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0087", + "shortDescription": { + "text": "RoslynAnalyzers Modifying {0} which contains an Aggregate, Group By, or Join query clauses requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0087", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesSpecialMemberFunctions", + "shortDescription": { + "text": "cppcoreguidelines-special-member-functions clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-special-member-functions clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-special-member-functions clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/special-member-functions.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesSpecialMemberFunctions", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0085", + "shortDescription": { + "text": "RoslynAnalyzers Changing {0} from asynchronous to synchronous requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0085", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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. Learn more...", + "markdown": "Empty public constructor declaration with no parameters is redundant. The compiler generates the same by default. [Learn more...](https://www.jetbrains.com/help/rider/EmptyConstructor.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyConstructor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0082", + "shortDescription": { + "text": "RoslynAnalyzers Adding {0} into an interface requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0082", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0083", + "shortDescription": { + "text": "RoslynAnalyzers Adding {0} into an interface method requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0083", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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$) Learn more...", + "markdown": "$s$.IndexOf($sarg$, $iarg1$) [Learn more...](https://www.jetbrains.com/help/rider/StringIndexOfIsCultureSpecific.2.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "StringIndexOfIsCultureSpecific.2", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneUnsafeFunctions", + "shortDescription": { + "text": "bugprone-unsafe-functions clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-unsafe-functions clang-tidy check · Learn more", + "markdown": "bugprone-unsafe-functions clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/unsafe-functions.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneUnsafeFunctions", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0080", + "shortDescription": { + "text": "RoslynAnalyzers Modifying source file '{0}' requires restarting the application due to internal error: {1}" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0080", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesSlicing", + "shortDescription": { + "text": "cppcoreguidelines-slicing clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-slicing clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-slicing clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/slicing.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesSlicing", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "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$) Learn more...", + "markdown": "$s$.IndexOf($sarg$, $iarg1$, $iarg2$) [Learn more...](https://www.jetbrains.com/help/rider/StringIndexOfIsCultureSpecific.3.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "StringIndexOfIsCultureSpecific.3", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0081", + "shortDescription": { + "text": "RoslynAnalyzers Adding a method with an explicit interface specifier requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0081", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringIndexOfIsCultureSpecific.1", + "shortDescription": { + "text": "String.IndexOf is culture-specific (string.IndexOf(string) is culture-specific)" + }, + "fullDescription": { + "text": "$s$.IndexOf($sarg$) Learn more...", + "markdown": "$s$.IndexOf($sarg$) [Learn more...](https://www.jetbrains.com/help/rider/StringIndexOfIsCultureSpecific.1.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "StringIndexOfIsCultureSpecific.1", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscMisleadingBidirectional", + "shortDescription": { + "text": "misc-misleading-bidirectional clang-tidy check" + }, + "fullDescription": { + "text": "misc-misleading-bidirectional clang-tidy check · Learn more", + "markdown": "misc-misleading-bidirectional clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc/misleading-bidirectional.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyMiscMisleadingBidirectional", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityConvertMemberFunctionsToStatic", + "shortDescription": { + "text": "readability-convert-member-functions-to-static clang-tidy check" + }, + "fullDescription": { + "text": "readability-convert-member-functions-to-static clang-tidy check · Learn more", + "markdown": "readability-convert-member-functions-to-static clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/convert-member-functions-to-static.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityConvertMemberFunctionsToStatic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Static field or auto-property in generic type may result in state duplication per each generic type instantiation [Learn more...](https://www.jetbrains.com/help/rider/StaticMemberInGenericType.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "StaticMemberInGenericType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticReservedMacroIdentifier", + "shortDescription": { + "text": "reserved-macro-identifier clang diagnostic" + }, + "fullDescription": { + "text": "-Wreserved-macro-identifier clang diagnostic · Learn more", + "markdown": "-Wreserved-macro-identifier clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wreserved-macro-identifier)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticReservedMacroIdentifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppVararg", + "shortDescription": { + "text": "hicpp-vararg clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-vararg clang-tidy check · Learn more", + "markdown": "hicpp-vararg clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/vararg.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppVararg", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0075", + "shortDescription": { + "text": "RoslynAnalyzers Attribute '{0}' is missing. Updating an async method or an iterator requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0075", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscDefinitionsInHeaders", + "shortDescription": { + "text": "misc-definitions-in-headers clang-tidy check" + }, + "fullDescription": { + "text": "misc-definitions-in-headers clang-tidy check · Learn more", + "markdown": "misc-definitions-in-headers clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc/definitions-in-headers.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyMiscDefinitionsInHeaders", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0076", + "shortDescription": { + "text": "RoslynAnalyzers Switching between a lambda and a local function requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0076", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0073", + "shortDescription": { + "text": "RoslynAnalyzers Removing {0} that contains an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0073", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0074", + "shortDescription": { + "text": "RoslynAnalyzers Updating async or iterator modifier around an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0074", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0071", + "shortDescription": { + "text": "RoslynAnalyzers Adding a new file requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0071", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantUsingDirective.Global", + "shortDescription": { + "text": "Redundant global using directive" + }, + "fullDescription": { + "text": "Global using directive is not required by the code and can be safely removed", + "markdown": "Global using directive is not required by the code and can be safely removed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantUsingDirective.Global", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0072", + "shortDescription": { + "text": "RoslynAnalyzers Updating an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0072", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0070", + "shortDescription": { + "text": "RoslynAnalyzers Adding {0} with the Handles clause requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0070", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseIndexedProperty", + "shortDescription": { + "text": "Use indexed property" + }, + "fullDescription": { + "text": "Use indexed property in COM import types instead of the accessor usage", + "markdown": "Use indexed property in COM import types instead of the accessor usage" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseIndexedProperty", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyMiscNewDeleteOverloads", + "shortDescription": { + "text": "misc-new-delete-overloads clang-tidy check" + }, + "fullDescription": { + "text": "misc-new-delete-overloads clang-tidy check · Learn more", + "markdown": "misc-new-delete-overloads clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/misc/new-delete-overloads.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyMiscNewDeleteOverloads", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDeprecatedEnumFloatConversion", + "shortDescription": { + "text": "deprecated-enum-float-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wdeprecated-enum-float-conversion clang diagnostic · Learn more", + "markdown": "-Wdeprecated-enum-float-conversion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdeprecated-enum-float-conversion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDeprecatedEnumFloatConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantComplexityInComparison", + "shortDescription": { + "text": "Expression can be simplified" + }, + "fullDescription": { + "text": "Expression can be simplified", + "markdown": "Expression can be simplified" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantComplexityInComparison", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticRangeLoopBindReference", + "shortDescription": { + "text": "range-loop-bind-reference clang diagnostic" + }, + "fullDescription": { + "text": "-Wrange-loop-bind-reference clang diagnostic · Learn more", + "markdown": "-Wrange-loop-bind-reference clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wrange-loop-bind-reference)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticRangeLoopBindReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSuspiciousReallocUsage", + "shortDescription": { + "text": "bugprone-suspicious-realloc-usage clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-suspicious-realloc-usage clang-tidy check · Learn more", + "markdown": "bugprone-suspicious-realloc-usage clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/suspicious-realloc-usage.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneSuspiciousReallocUsage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringCompareToIsCultureSpecific", + "shortDescription": { + "text": "String.CompareTo is culture-specific" + }, + "fullDescription": { + "text": "$s1$.CompareTo($s2$) Learn more...", + "markdown": "$s1$.CompareTo($s2$) [Learn more...](https://www.jetbrains.com/help/rider/StringCompareToIsCultureSpecific.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "StringCompareToIsCultureSpecific", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "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.", + "markdown": "Event never invoked. Note that in C# this warning is the compiler warning CS0067 and is not configured here." + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "EventNeverInvoked", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaNSAutoreleasePool", + "shortDescription": { + "text": "osx.cocoa.NSAutoreleasePool clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.NSAutoreleasePool clang static analyzer check · Learn more", + "markdown": "osx.cocoa.NSAutoreleasePool clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerOsxCocoaNSAutoreleasePool", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0068", + "shortDescription": { + "text": "RoslynAnalyzers Adding a constructor to a type with a field or property initializer that contains an anonymous function requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0068", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0069", + "shortDescription": { + "text": "RoslynAnalyzers Renaming a captured variable, from '{0}' to '{1}' requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0069", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverridingMethodMismatch", + "shortDescription": { + "text": "overriding-method-mismatch clang diagnostic" + }, + "fullDescription": { + "text": "-Woverriding-method-mismatch clang diagnostic · Learn more", + "markdown": "-Woverriding-method-mismatch clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#woverriding-method-mismatch)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticOverridingMethodMismatch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0066", + "shortDescription": { + "text": "RoslynAnalyzers Modifying a catch handler around an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0066", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Add or remove explicit type specification in 'new' expression when type is not evident from the usage [Learn more...](https://www.jetbrains.com/help/rider/ArrangeObjectCreationWhenTypeNotEvident.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ArrangeObjectCreationWhenTypeNotEvident", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0067", + "shortDescription": { + "text": "RoslynAnalyzers Modifying {0} which contains a static variable requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0067", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0064", + "shortDescription": { + "text": "RoslynAnalyzers Modifying a catch/finally handler with an active statement in the try block requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0064", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0065", + "shortDescription": { + "text": "RoslynAnalyzers Modifying a try/catch/finally statement when the finally block is active requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0065", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0062", + "shortDescription": { + "text": "RoslynAnalyzers Removing {0} that contains an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0062", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyForStatement", + "shortDescription": { + "text": "Empty 'for' loop is redundant" + }, + "fullDescription": { + "text": "Empty 'for' loop is redundant Learn more...", + "markdown": "Empty 'for' loop is redundant [Learn more...](https://www.jetbrains.com/help/rider/EmptyForStatement.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyForStatement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0063", + "shortDescription": { + "text": "RoslynAnalyzers Updating a {0} around an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0063", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Asp.NotResolved", + "shortDescription": { + "text": "Unknown symbol" + }, + "fullDescription": { + "text": "Unknown symbol in ASP.NET and related technologies", + "markdown": "Unknown symbol in ASP.NET and related technologies" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "Asp.NotResolved", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Aspx/Potential Code Quality Issues", + "index": 64, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0060", + "shortDescription": { + "text": "RoslynAnalyzers Adding {0} around an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0060", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnsupportedFriend", + "shortDescription": { + "text": "unsupported-friend clang diagnostic" + }, + "fullDescription": { + "text": "-Wunsupported-friend clang diagnostic · Learn more", + "markdown": "-Wunsupported-friend clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunsupported-friend)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnsupportedFriend", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0061", + "shortDescription": { + "text": "RoslynAnalyzers Deleting {0} around an active statement requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0061", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSpuriouslyWakeUpFunctions", + "shortDescription": { + "text": "bugprone-spuriously-wake-up-functions clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-spuriously-wake-up-functions clang-tidy check · Learn more", + "markdown": "bugprone-spuriously-wake-up-functions clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneSpuriouslyWakeUpFunctions", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAndroidCloexecAccept4", + "shortDescription": { + "text": "android-cloexec-accept4 clang-tidy check" + }, + "fullDescription": { + "text": "android-cloexec-accept4 clang-tidy check · Learn more", + "markdown": "android-cloexec-accept4 clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/android/cloexec-accept4.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyAndroidCloexecAccept4", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaDealloc", + "shortDescription": { + "text": "osx.cocoa.Dealloc clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.Dealloc clang static analyzer check · Learn more", + "markdown": "osx.cocoa.Dealloc clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerOsxCocoaDealloc", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Division by zero in at least one execution path" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "IntDivisionByZero", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticEnumTooLarge", + "shortDescription": { + "text": "enum-too-large clang diagnostic" + }, + "fullDescription": { + "text": "-Wenum-too-large clang diagnostic · Learn more", + "markdown": "-Wenum-too-large clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wenum-too-large)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticEnumTooLarge", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticProfileInstrUnprofiled", + "shortDescription": { + "text": "profile-instr-unprofiled clang diagnostic" + }, + "fullDescription": { + "text": "-Wprofile-instr-unprofiled clang diagnostic · Learn more", + "markdown": "-Wprofile-instr-unprofiled clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wprofile-instr-unprofiled)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticProfileInstrUnprofiled", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0059", + "shortDescription": { + "text": "RoslynAnalyzers Changing the signature of {0} requires restarting the application because is not supported by the runtime." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0059", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedBranch", + "shortDescription": { + "text": "core.uninitialized.Branch clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.Branch clang static analyzer check · Learn more", + "markdown": "core.uninitialized.Branch clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerCoreUninitializedBranch", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0053", + "shortDescription": { + "text": "RoslynAnalyzers Changing the parameters of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0053", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0054", + "shortDescription": { + "text": "RoslynAnalyzers Changing the return type of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0054", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0051", + "shortDescription": { + "text": "RoslynAnalyzers Changing the type of a captured variable '{0}' previously of type '{1}' requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0051", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0052", + "shortDescription": { + "text": "RoslynAnalyzers Changing the declaration scope of a captured variable '{0}' requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0052", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaVariadicMethodTypes", + "shortDescription": { + "text": "osx.cocoa.VariadicMethodTypes clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.VariadicMethodTypes clang static analyzer check · Learn more", + "markdown": "osx.cocoa.VariadicMethodTypes clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerOsxCocoaVariadicMethodTypes", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnonymousObjectDestructuringProblem", + "shortDescription": { + "text": "Anonymous objects must be destructured" + }, + "fullDescription": { + "text": "Anonymous objects must be destructured Learn more...", + "markdown": "Anonymous objects must be destructured [Learn more...](https://github.com/olsh/resharper-structured-logging/blob/master/rules/AnonymousObjectDestructuringProblem.md)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "AnonymousObjectDestructuringProblem", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Structured Logging Misuse", + "index": 59, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyLlvmlibcCalleeNamespace", + "shortDescription": { + "text": "llvmlibc-callee-namespace clang-tidy check" + }, + "fullDescription": { + "text": "llvmlibc-callee-namespace clang-tidy check · Learn more", + "markdown": "llvmlibc-callee-namespace clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/llvmlibc/callee-namespace.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyLlvmlibcCalleeNamespace", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyAbseilDurationComparison", + "shortDescription": { + "text": "abseil-duration-comparison clang-tidy check" + }, + "fullDescription": { + "text": "abseil-duration-comparison clang-tidy check · Learn more", + "markdown": "abseil-duration-comparison clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/abseil/duration-comparison.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyAbseilDurationComparison", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAutoVarId", + "shortDescription": { + "text": "auto-var-id clang diagnostic" + }, + "fullDescription": { + "text": "-Wauto-var-id clang diagnostic · Learn more", + "markdown": "-Wauto-var-id clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wauto-var-id)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticAutoVarId", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseCollectionExpression", + "shortDescription": { + "text": "Use collection expression syntax" + }, + "fullDescription": { + "text": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax Learn more...", + "markdown": "Suggest to replace collection object construction and items additions with C# 12 collection expression syntax [Learn more...](https://www.jetbrains.com/help/rider/UseCollectionExpression.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseCollectionExpression", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0046", + "shortDescription": { + "text": "RoslynAnalyzers Updating a complex statement containing an await expression requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0046", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0047", + "shortDescription": { + "text": "RoslynAnalyzers Changing visibility of {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0047", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0044", + "shortDescription": { + "text": "RoslynAnalyzers Modifying {0} which contains the stackalloc operator requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0044", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0045", + "shortDescription": { + "text": "RoslynAnalyzers Modifying source with experimental language features enabled requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0045", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "A '#pragma region' directive is missing a matching '#pragma endregion' directive" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppUnmatchedPragmaRegionDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithSingleOrDefault.4", + "shortDescription": { + "text": "Replace with SingleOrDefault($args$)" + }, + "fullDescription": { + "text": "$expr$ && $seq$.Any($args$) ? $seq$.Single($args$) : default($T$)", + "markdown": "$expr$ \\&\\& $seq$.Any($args$) ? $seq$.Single($args$) : default($T$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithSingleOrDefault.4", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithSingleOrDefault.2", + "shortDescription": { + "text": "Replace with SingleOrDefault($args$)" + }, + "fullDescription": { + "text": "$expr$ && $seq$.Any($args$) ? $seq$.Single($args$) : null", + "markdown": "$expr$ \\&\\& $seq$.Any($args$) ? $seq$.Single($args$) : null" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithSingleOrDefault.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithSingleOrDefault.3", + "shortDescription": { + "text": "Replace with SingleOrDefault($args$)" + }, + "fullDescription": { + "text": "$seq$.Any($args$) ? $seq$.Single($args$) : default($T$)", + "markdown": "$seq$.Any($args$) ? $seq$.Single($args$) : default($T$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithSingleOrDefault.3", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticModuleFileExtension", + "shortDescription": { + "text": "module-file-extension clang diagnostic" + }, + "fullDescription": { + "text": "-Wmodule-file-extension clang diagnostic · Learn more", + "markdown": "-Wmodule-file-extension clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmodule-file-extension)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticModuleFileExtension", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppFunctionSize", + "shortDescription": { + "text": "hicpp-function-size clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-function-size clang-tidy check · Learn more", + "markdown": "hicpp-function-size clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/function-size.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppFunctionSize", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReturnTypeCanBeEnumerable.Local", + "shortDescription": { + "text": "Return type can be IEnumerable (private accessibility)" + }, + "fullDescription": { + "text": "All usages of a method (or read-only property/indexer) use returned value as IEnumerable, but it is declared with more specific type (e.g. List) Learn more...", + "markdown": "All usages of a method (or read-only property/indexer) use returned value as IEnumerable, but it is declared with more specific type (e.g. List) [Learn more...](https://www.jetbrains.com/help/rider/ReturnTypeCanBeEnumerable.Local.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReturnTypeCanBeEnumerable.Local", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnusedMemberFunction", + "shortDescription": { + "text": "unused-member-function clang diagnostic" + }, + "fullDescription": { + "text": "-Wunused-member-function clang diagnostic · Learn more", + "markdown": "-Wunused-member-function clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunused-member-function)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnusedMemberFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExtraTokens", + "shortDescription": { + "text": "extra-tokens clang diagnostic" + }, + "fullDescription": { + "text": "-Wextra-tokens clang diagnostic · Learn more", + "markdown": "-Wextra-tokens clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wextra-tokens)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticExtraTokens", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceWithSingleOrDefault.1", + "shortDescription": { + "text": "Replace with SingleOrDefault($args$)" + }, + "fullDescription": { + "text": "$seq$.Any($args$) ? $seq$.Single($args$) : null", + "markdown": "$seq$.Any($args$) ? $seq$.Single($args$) : null" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceWithSingleOrDefault.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StaticProblemInText", + "shortDescription": { + "text": "Cannot access static symbol in text argument" + }, + "fullDescription": { + "text": "Cannot access static symbol in text argument", + "markdown": "Cannot access static symbol in text argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "StaticProblemInText", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RouteTemplates.ActionRoutePrefixCanBeExtractedToControllerRoute", + "shortDescription": { + "text": "Action's route prefix can be extracted to controller's route" + }, + "fullDescription": { + "text": "When all controller's actions' route templates have same prefixes, it's possible to extract their common prefix to controller's route template", + "markdown": "When all controller's actions' route templates have same prefixes, it's possible to extract their common prefix to controller's route template" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RouteTemplates.ActionRoutePrefixCanBeExtractedToControllerRoute", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "ASP.NET route templates/Code Notification", + "index": 49, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticAixCompat", + "shortDescription": { + "text": "aix-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Waix-compat clang diagnostic · Learn more", + "markdown": "-Waix-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#waix-compat)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticAixCompat", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Formatting is specified, but interpolated string expression is not IFormattable" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "InterpolatedStringExpressionIsNotIFormattable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticOverridingTOption", + "shortDescription": { + "text": "overriding-t-option clang diagnostic" + }, + "fullDescription": { + "text": "-Woverriding-t-option clang diagnostic · Learn more", + "markdown": "-Woverriding-t-option clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#woverriding-t-option)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticOverridingTOption", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0029", + "shortDescription": { + "text": "RoslynAnalyzers Adding an imported method requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0029", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InvertIf", + "shortDescription": { + "text": "Invert 'if' statement to reduce nesting" + }, + "fullDescription": { + "text": "Invert 'if' statement to reduce nesting Learn more...", + "markdown": "Invert 'if' statement to reduce nesting [Learn more...](https://www.jetbrains.com/help/rider/InvertIf.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "InvertIf", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0038", + "shortDescription": { + "text": "RoslynAnalyzers Modifying a method inside the context of a generic type requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0038", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0036", + "shortDescription": { + "text": "RoslynAnalyzers Modifying a generic method requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0036", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0033", + "shortDescription": { + "text": "RoslynAnalyzers Deleting {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0033", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0031", + "shortDescription": { + "text": "RoslynAnalyzers Adding {0} into a class with explicit or sequential layout requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0031", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedField.Compiler", + "shortDescription": { + "text": "Field is never used" + }, + "fullDescription": { + "text": "Field is never used (compiler warning)", + "markdown": "Field is never used (compiler warning)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedField.Compiler", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Compiler Warnings", + "index": 26, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0032", + "shortDescription": { + "text": "RoslynAnalyzers Moving {0} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0032", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ENC0030", + "shortDescription": { + "text": "RoslynAnalyzers Adding {0} into a {1} requires restarting the application." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ENC0030", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Roslyn Analyzers", + "index": 35, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyFuchsiaOverloadedOperator", + "shortDescription": { + "text": "fuchsia-overloaded-operator clang-tidy check" + }, + "fullDescription": { + "text": "fuchsia-overloaded-operator clang-tidy check · Learn more", + "markdown": "fuchsia-overloaded-operator clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/fuchsia/overloaded-operator.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyFuchsiaOverloadedOperator", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCastOfSelType", + "shortDescription": { + "text": "cast-of-sel-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wcast-of-sel-type clang diagnostic · Learn more", + "markdown": "-Wcast-of-sel-type clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wcast-of-sel-type)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCastOfSelType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IntVariableOverflowInUncheckedContext", + "shortDescription": { + "text": "Possible overflow in unchecked context" + }, + "fullDescription": { + "text": "Possible overflow in unchecked context", + "markdown": "Possible overflow in unchecked context" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "IntVariableOverflowInUncheckedContext", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Object created by 'new' expression is possibly not assigned anywhere" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ObjectCreationAsStatement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantNullnessAttributeWithNullableReferenceTypes", + "shortDescription": { + "text": "[NotNull] or [CanBeNull] attribute is applied to a type that already has the same annotation from nullable reference types" + }, + "fullDescription": { + "text": "[NotNull] or [CanBeNull] attribute has no effect because the target type already has the same annotation from nullable reference types", + "markdown": "\\[NotNull\\] or \\[CanBeNull\\] attribute has no effect because the target type already has the same annotation from nullable reference types" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantNullnessAttributeWithNullableReferenceTypes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCoreUninitializedNewArraySize", + "shortDescription": { + "text": "core.uninitialized.NewArraySize clang static analyzer check" + }, + "fullDescription": { + "text": "core.uninitialized.NewArraySize clang static analyzer check · Learn more", + "markdown": "core.uninitialized.NewArraySize clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerCoreUninitializedNewArraySize", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Keyword 'export' is redundant, because there is enclosing export declaration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppRedundantExportKeyword", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Redundancies in Code", + "index": 34, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Xaml.PathError", + "shortDescription": { + "text": "Path error" + }, + "fullDescription": { + "text": "Path error", + "markdown": "Path error" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Xaml.PathError", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XAML/Potential Code Quality Issues", + "index": 45, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticC2xCompat", + "shortDescription": { + "text": "c2x-compat clang diagnostic" + }, + "fullDescription": { + "text": "-Wc2x-compat clang diagnostic · Learn more", + "markdown": "-Wc2x-compat clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc2x-compat)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticC2xCompat", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceFasterStringFind", + "shortDescription": { + "text": "performance-faster-string-find clang-tidy check" + }, + "fullDescription": { + "text": "performance-faster-string-find clang-tidy check · Learn more", + "markdown": "performance-faster-string-find clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance/faster-string-find.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyPerformanceFasterStringFind", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Value of a boolean expression is always the same at this point [Learn more...](https://www.jetbrains.com/help/rider/ConditionIsAlwaysTrueOrFalse.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ConditionIsAlwaysTrueOrFalse", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStringPlusInt", + "shortDescription": { + "text": "string-plus-int clang diagnostic" + }, + "fullDescription": { + "text": "-Wstring-plus-int clang diagnostic · Learn more", + "markdown": "-Wstring-plus-int clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wstring-plus-int)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticStringPlusInt", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstructorInitializerLoop", + "shortDescription": { + "text": "Possible cyclic constructor call" + }, + "fullDescription": { + "text": "Possible cyclic constructor call Learn more...", + "markdown": "Possible cyclic constructor call [Learn more...](https://www.jetbrains.com/help/rider/ConstructorInitializerLoop.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ConstructorInitializerLoop", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithFirstOrDefault", + "shortDescription": { + "text": "Replace with FirstOrDefault($args$)" + }, + "fullDescription": { + "text": "If ($seq$.Any($args$), $seq$.First($args$), Nothing)", + "markdown": "If ($seq$.Any($args$), $seq$.First($args$), Nothing)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithFirstOrDefault", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppUseAssociativeContains", + "shortDescription": { + "text": "'contains' member function can be used" + }, + "fullDescription": { + "text": "'contains' member function can be used", + "markdown": "'contains' member function can be used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppUseAssociativeContains", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Common Practices and Code Improvements", + "index": 17, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticMultichar", + "shortDescription": { + "text": "multichar clang diagnostic" + }, + "fullDescription": { + "text": "-Wmultichar clang diagnostic · Learn more", + "markdown": "-Wmultichar clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wmultichar)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticMultichar", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppMemberInit", + "shortDescription": { + "text": "hicpp-member-init clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-member-init clang-tidy check · Learn more", + "markdown": "hicpp-member-init clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/member-init.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppMemberInit", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.9", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.All(Function ($x$) $expr$ Is $expr2$)", + "markdown": "!$seq$.All(Function ($x$) $expr$ Is $expr2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.9", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyReadabilityRedundantAccessSpecifiers", + "shortDescription": { + "text": "readability-redundant-access-specifiers clang-tidy check" + }, + "fullDescription": { + "text": "readability-redundant-access-specifiers clang-tidy check · Learn more", + "markdown": "readability-redundant-access-specifiers clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/redundant-access-specifiers.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyReadabilityRedundantAccessSpecifiers", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticInvalidOffsetof", + "shortDescription": { + "text": "invalid-offsetof clang diagnostic" + }, + "fullDescription": { + "text": "-Winvalid-offsetof clang diagnostic · Learn more", + "markdown": "-Winvalid-offsetof clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#winvalid-offsetof)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticInvalidOffsetof", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPrivateExtern", + "shortDescription": { + "text": "private-extern clang diagnostic" + }, + "fullDescription": { + "text": "-Wprivate-extern clang diagnostic · Learn more", + "markdown": "-Wprivate-extern clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wprivate-extern)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPrivateExtern", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.1", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.Any(Function ($x$) Not $expr$)", + "markdown": "!$seq$.Any(Function ($x$) Not $expr$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.1", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.2", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.All(Function ($x$) Not $expr$)", + "markdown": "!$seq$.All(Function ($x$) Not $expr$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.2", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.3", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.Any(Function ($x$) $expr$ IsNot $expr2$)", + "markdown": "!$seq$.Any(Function ($x$) $expr$ IsNot $expr2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.3", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HeapView.DelegateAllocation", + "shortDescription": { + "text": "Delegate allocation" + }, + "fullDescription": { + "text": "Highlights places where delegate instance creation happens", + "markdown": "Highlights places where delegate instance creation happens" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "HeapView.DelegateAllocation", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/[Heap Allocations Plugin] Allocation hints", + "index": 46, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.4", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.Any(Function ($x$) $expr$ <> $expr2$)", + "markdown": "!$seq$.Any(Function ($x$) $expr$ \\<\\> $expr2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.4", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.5", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.All(Function ($x$) $expr$ IsNot $expr2$)", + "markdown": "!$seq$.All(Function ($x$) $expr$ IsNot $expr2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.5", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.6", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.All(Function ($x$) $expr$ <> $expr2$)", + "markdown": "!$seq$.All(Function ($x$) $expr$ \\<\\> $expr2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.6", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticStaticLocalInInline", + "shortDescription": { + "text": "static-local-in-inline clang diagnostic" + }, + "fullDescription": { + "text": "-Wstatic-local-in-inline clang diagnostic · Learn more", + "markdown": "-Wstatic-local-in-inline clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wstatic-local-in-inline)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticStaticLocalInInline", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.7", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.Any(Function ($x$) $expr$ Is $expr2$)", + "markdown": "!$seq$.Any(Function ($x$) $expr$ Is $expr2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.7", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBSimplifyLinqExpression.8", + "shortDescription": { + "text": "Simplify expression" + }, + "fullDescription": { + "text": "!$seq$.Any(Function ($x$) $expr$ = $expr2$)", + "markdown": "!$seq$.Any(Function ($x$) $expr$ = $expr2$)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBSimplifyLinqExpression.8", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AccessRightsInText", + "shortDescription": { + "text": "Cannot access symbol in text argument" + }, + "fullDescription": { + "text": "Cannot access symbol in text argument", + "markdown": "Cannot access symbol in text argument" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "AccessRightsInText", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticArcNonPodMemaccess", + "shortDescription": { + "text": "arc-non-pod-memaccess clang diagnostic" + }, + "fullDescription": { + "text": "-Warc-non-pod-memaccess clang diagnostic · Learn more", + "markdown": "-Warc-non-pod-memaccess clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#warc-non-pod-memaccess)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticArcNonPodMemaccess", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WebConfig.RedundantAddNamespaceTag", + "shortDescription": { + "text": "Redundant add namespace element" + }, + "fullDescription": { + "text": "Add namespace element is redundant because it duplicates another element of is cleared later and can be safely removed", + "markdown": "Add namespace element is redundant because it duplicates another element of is cleared later and can be safely removed" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "WebConfig.RedundantAddNamespaceTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Web.Config/Redundancies in Code", + "index": 97, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticCpp11InlineNamespace", + "shortDescription": { + "text": "c++11-inline-namespace clang diagnostic" + }, + "fullDescription": { + "text": "-Wc++11-inline-namespace clang diagnostic · Learn more", + "markdown": "-Wc++11-inline-namespace clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wc-11-inline-namespace)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticCpp11InlineNamespace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EntityFramework.ClientSideDbFunctionCall", + "shortDescription": { + "text": "Database function must not be called in non-database context" + }, + "fullDescription": { + "text": "Reports database-only methods that can produce runtime exceptions when called outside the 'LINQ to Entities' context Learn more...", + "markdown": "Reports database-only methods that can produce runtime exceptions when called outside the 'LINQ to Entities' context [Learn more...](https://www.jetbrains.com/help/rider/EntityFramework.ClientSideDbFunctionCall.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "EntityFramework.ClientSideDbFunctionCall", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Entity Framework", + "index": 37, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyModernizeMakeUnique", + "shortDescription": { + "text": "modernize-make-unique clang-tidy check" + }, + "fullDescription": { + "text": "modernize-make-unique clang-tidy check · Learn more", + "markdown": "modernize-make-unique clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/make-unique.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyModernizeMakeUnique", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppNonExplicitConvertingConstructor", + "shortDescription": { + "text": "Non-explicit converting constructor" + }, + "fullDescription": { + "text": "Non-explicit converting constructor", + "markdown": "Non-explicit converting constructor" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppNonExplicitConvertingConstructor", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Common Practices and Code Improvements", + "index": 17, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleBuildUsingNamespace", + "shortDescription": { + "text": "google-build-using-namespace clang-tidy check" + }, + "fullDescription": { + "text": "google-build-using-namespace clang-tidy check · Learn more", + "markdown": "google-build-using-namespace clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/build-using-namespace.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyGoogleBuildUsingNamespace", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseDiscardAssignment", + "shortDescription": { + "text": "Use discard assignment" + }, + "fullDescription": { + "text": "Replace intentionally ignored variable declaration 'var _ = ...' with discard assignment '_ = ...'.", + "markdown": "Replace intentionally ignored variable declaration 'var _ = ...' with discard assignment '_ = ...'." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseDiscardAssignment", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleRuntimeInt", + "shortDescription": { + "text": "google-runtime-int clang-tidy check" + }, + "fullDescription": { + "text": "google-runtime-int clang-tidy check · Learn more", + "markdown": "google-runtime-int clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/runtime-int.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyGoogleRuntimeInt", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContractAnnotationNotParsed", + "shortDescription": { + "text": "Problem in contract annotation definition" + }, + "fullDescription": { + "text": "Input string in ContractAnnotation attribute could not be parsed Learn more...", + "markdown": "Input string in ContractAnnotation attribute could not be parsed [Learn more...](https://www.jetbrains.com/help/rider/ContractAnnotationNotParsed.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ContractAnnotationNotParsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Constraints Violations", + "index": 77, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppRedundantDereferencingAndTakingAddress", + "shortDescription": { + "text": "Redundant dereferencing and taking address" + }, + "fullDescription": { + "text": "Redundant dereferencing and taking address", + "markdown": "Redundant dereferencing and taking address" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "CppRedundantDereferencingAndTakingAddress", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Redundancies in Code", + "index": 34, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticTautologicalBitwiseCompare", + "shortDescription": { + "text": "tautological-bitwise-compare clang diagnostic" + }, + "fullDescription": { + "text": "-Wtautological-bitwise-compare clang diagnostic · Learn more", + "markdown": "-Wtautological-bitwise-compare clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wtautological-bitwise-compare)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticTautologicalBitwiseCompare", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBReplaceWithLastOrDefault", + "shortDescription": { + "text": "Replace with LastOrDefault($args$)" + }, + "fullDescription": { + "text": "If ($seq$.Any($args$), $seq$.Last($args$), Nothing)", + "markdown": "If ($seq$.Any($args$), $seq$.Last($args$), Nothing)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "VBReplaceWithLastOrDefault", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WithExpressionInsteadOfInitializer", + "shortDescription": { + "text": "'with' expression is used instead of object initializer" + }, + "fullDescription": { + "text": "'with' expression applied to a newly created object instance results in unnecessary clone creation", + "markdown": "'with' expression applied to a newly created object instance results in unnecessary clone creation" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "WithExpressionInsteadOfInitializer", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticExperimentalHeaderUnits", + "shortDescription": { + "text": "experimental-header-units clang diagnostic" + }, + "fullDescription": { + "text": "-Wexperimental-header-units clang diagnostic · Learn more", + "markdown": "-Wexperimental-header-units clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wexperimental-header-units)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticExperimentalHeaderUnits", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullPointerSubtraction", + "shortDescription": { + "text": "null-pointer-subtraction clang diagnostic" + }, + "fullDescription": { + "text": "-Wnull-pointer-subtraction clang diagnostic · Learn more", + "markdown": "-Wnull-pointer-subtraction clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wnull-pointer-subtraction)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticNullPointerSubtraction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceObjectPatternWithVarPattern", + "shortDescription": { + "text": "Replace object pattern not performing any additional checks with 'var' pattern" + }, + "fullDescription": { + "text": "Replace '{ } x' object pattern not performing any additional checks with 'var x' pattern", + "markdown": "Replace '{ } x' object pattern not performing any additional checks with 'var x' pattern" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ReplaceObjectPatternWithVarPattern", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantExplicitArrayCreation", + "shortDescription": { + "text": "Redundant explicit type in array creation" + }, + "fullDescription": { + "text": "When array type can be inferred from the initializer, you can use an implicitly-typed array Learn more...", + "markdown": "When array type can be inferred from the initializer, you can use an implicitly-typed array [Learn more...](https://www.jetbrains.com/help/rider/RedundantExplicitArrayCreation.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantExplicitArrayCreation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SimplifyIIf", + "shortDescription": { + "text": "Simplify 'IIf'" + }, + "fullDescription": { + "text": "'IIf' contains 'True' or 'False' in result branch, for example \r\n IIf(condition, True, elseBranch)\r\n IIf(condition, thenBranch : True)", + "markdown": "'IIf' contains 'True' or 'False' in result branch, for example\n\n```\n\r\n IIf(condition, True, elseBranch)\r\n IIf(condition, thenBranch : True)\r\n \n```" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "SimplifyIIf", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Common Practices and Code Improvements", + "index": 40, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PartialTypeWithSinglePart", + "shortDescription": { + "text": "Redundant 'partial' modifier on type declaration" + }, + "fullDescription": { + "text": "Class is declared as 'partial', but has only one part Learn more...", + "markdown": "Class is declared as 'partial', but has only one part [Learn more...](https://www.jetbrains.com/help/rider/PartialTypeWithSinglePart.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PartialTypeWithSinglePart", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Symbol Declarations", + "index": 36, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PossibleInvalidOperationExceptionCollectionWasModified", + "shortDescription": { + "text": "Possible 'System.InvalidOperationException: Collection was modified'" + }, + "fullDescription": { + "text": "Modifying the collection could result in a 'System.InvalidOperationException: Collection was modified' in the next foreach iteration", + "markdown": "Modifying the collection could result in a 'System.InvalidOperationException: Collection was modified' in the next foreach iteration" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "PossibleInvalidOperationExceptionCollectionWasModified", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticUnknownPragmas", + "shortDescription": { + "text": "unknown-pragmas clang diagnostic" + }, + "fullDescription": { + "text": "-Wunknown-pragmas clang diagnostic · Learn more", + "markdown": "-Wunknown-pragmas clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wunknown-pragmas)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticUnknownPragmas", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MemberCanBeInternal", + "shortDescription": { + "text": "Member or type can be made internal (friend)" + }, + "fullDescription": { + "text": "Member or type can be made internal (friend)", + "markdown": "Member or type can be made internal (friend)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "MemberCanBeInternal", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticDisabledMacroExpansion", + "shortDescription": { + "text": "disabled-macro-expansion clang diagnostic" + }, + "fullDescription": { + "text": "-Wdisabled-macro-expansion clang diagnostic · Learn more", + "markdown": "-Wdisabled-macro-expansion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wdisabled-macro-expansion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticDisabledMacroExpansion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneSharedPtrArrayMismatch", + "shortDescription": { + "text": "bugprone-shared-ptr-array-mismatch clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-shared-ptr-array-mismatch clang-tidy check · Learn more", + "markdown": "bugprone-shared-ptr-array-mismatch clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/shared-ptr-array-mismatch.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneSharedPtrArrayMismatch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyHicppNamedParameter", + "shortDescription": { + "text": "hicpp-named-parameter clang-tidy check" + }, + "fullDescription": { + "text": "hicpp-named-parameter clang-tidy check · Learn more", + "markdown": "hicpp-named-parameter clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/hicpp/named-parameter.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyHicppNamedParameter", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UseFormatSpecifierInFormatString", + "shortDescription": { + "text": "Use format specifier in format strings" + }, + "fullDescription": { + "text": "'.ToString()' call can be replaced with format specifier", + "markdown": "'.ToString()' call can be replaced with format specifier" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "UseFormatSpecifierInFormatString", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MissingSpace", + "shortDescription": { + "text": "Incorrect spacing (space is missing elsewhere)" + }, + "fullDescription": { + "text": "Space is missing elsewhere Learn more...", + "markdown": "Space is missing elsewhere [Learn more...](https://www.jetbrains.com/help/rider/MissingSpace.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "MissingSpace", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Formatting", + "index": 23, + "toolComponent": { + "name": "RD" + } + }, + "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' ('For Each' for VB.NET) can be converted into a LINQ-expression but another 'GetEnumerator' method will be used", + "markdown": "A 'foreach' ('For Each' for VB.NET) can be converted into a LINQ-expression but another 'GetEnumerator' method will be used" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ForeachCanBeConvertedToQueryUsingAnotherGetEnumerator", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Language Usage Opportunities", + "index": 7, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerOsxCocoaMissingSuperCall", + "shortDescription": { + "text": "osx.cocoa.MissingSuperCall clang static analyzer check" + }, + "fullDescription": { + "text": "osx.cocoa.MissingSuperCall clang static analyzer check · Learn more", + "markdown": "osx.cocoa.MissingSuperCall clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerOsxCocoaMissingSuperCall", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HeuristicUnreachableCode", + "shortDescription": { + "text": "Heuristically unreachable code" + }, + "fullDescription": { + "text": "Heuristically unreachable code detected", + "markdown": "Heuristically unreachable code detected" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "HeuristicUnreachableCode", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantSuppressNullableWarningExpression", + "shortDescription": { + "text": "Redundant nullable warning suppression expression" + }, + "fullDescription": { + "text": "Nullable warning suppression expression does not suppress any warnings and is applied to an already non-nullable operand", + "markdown": "Nullable warning suppression expression does not suppress any warnings and is applied to an already non-nullable operand" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantSuppressNullableWarningExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Redundancies in Code", + "index": 22, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyBugproneParentVirtualCall", + "shortDescription": { + "text": "bugprone-parent-virtual-call clang-tidy check" + }, + "fullDescription": { + "text": "bugprone-parent-virtual-call clang-tidy check · Learn more", + "markdown": "bugprone-parent-virtual-call clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/bugprone/parent-virtual-call.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyBugproneParentVirtualCall", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "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 Learn more...", + "markdown": "Use expression or block body [Learn more...](https://www.jetbrains.com/help/rider/ArrangeAccessorOwnerBody.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "ArrangeAccessorOwnerBody", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Syntax Style", + "index": 20, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NotAccessedPositionalProperty.Global", + "shortDescription": { + "text": "Non-accessed positional property (non-private accessibility)" + }, + "fullDescription": { + "text": "Positional property is never accessed for reading Learn more...", + "markdown": "Positional property is never accessed for reading [Learn more...](https://www.jetbrains.com/help/rider/NotAccessedPositionalProperty.Global.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "NotAccessedPositionalProperty.Global", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticIncompatiblePropertyType", + "shortDescription": { + "text": "incompatible-property-type clang diagnostic" + }, + "fullDescription": { + "text": "-Wincompatible-property-type clang diagnostic · Learn more", + "markdown": "-Wincompatible-property-type clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wincompatible-property-type)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticIncompatiblePropertyType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Mvc.ViewNotResolved", + "shortDescription": { + "text": "MVC (unknown view)" + }, + "fullDescription": { + "text": "Unknown ASP.NET MVC View Learn more...", + "markdown": "Unknown ASP.NET MVC View [Learn more...](https://www.jetbrains.com/help/rider/Mvc.ViewNotResolved.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "Mvc.ViewNotResolved", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Aspx/Potential Code Quality Issues", + "index": 64, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppBadAngleBracketsSpaces", + "shortDescription": { + "text": "Incorrect spacing (around angle brackets)" + }, + "fullDescription": { + "text": "Around angle brackets", + "markdown": "Around angle brackets" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppBadAngleBracketsSpaces", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Formatting", + "index": 27, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyGoogleReadabilityAvoidUnderscoreInGoogletestName", + "shortDescription": { + "text": "google-readability-avoid-underscore-in-googletest-name clang-tidy check" + }, + "fullDescription": { + "text": "google-readability-avoid-underscore-in-googletest-name clang-tidy check · Learn more", + "markdown": "google-readability-avoid-underscore-in-googletest-name clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/readability-avoid-underscore-in-googletest-name.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyGoogleReadabilityAvoidUnderscoreInGoogletestName", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangAnalyzerCplusplusPureVirtualCall", + "shortDescription": { + "text": "cplusplus.PureVirtualCall clang static analyzer check" + }, + "fullDescription": { + "text": "cplusplus.PureVirtualCall clang static analyzer check · Learn more", + "markdown": "cplusplus.PureVirtualCall clang static analyzer check · [Learn more](https://clang-analyzer.llvm.org/available_checks.html)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppClangTidyClangAnalyzerCplusplusPureVirtualCall", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Static Analyzer Checks", + "index": 31, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "An argument of boost::format should contain either positional (%N%, %\\|N$...\\|) or serial (%\\|...\\|, %s) arguments, not both" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "CppBoostFormatMixedArgs", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Enforce usage of the trailing return type or the regular return type syntax" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CppEnforceFunctionDeclarationStyle", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Syntax Style", + "index": 90, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticNullConversion", + "shortDescription": { + "text": "null-conversion clang diagnostic" + }, + "fullDescription": { + "text": "-Wnull-conversion clang diagnostic · Learn more", + "markdown": "-Wnull-conversion clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wnull-conversion)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticNullConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticPedanticCoreFeatures", + "shortDescription": { + "text": "pedantic-core-features clang diagnostic" + }, + "fullDescription": { + "text": "-Wpedantic-core-features clang diagnostic · Learn more", + "markdown": "-Wpedantic-core-features clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wpedantic-core-features)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticPedanticCoreFeatures", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyPerformanceNoAutomaticMove", + "shortDescription": { + "text": "performance-no-automatic-move clang-tidy check" + }, + "fullDescription": { + "text": "performance-no-automatic-move clang-tidy check · Learn more", + "markdown": "performance-no-automatic-move clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/performance/no-automatic-move.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyPerformanceNoAutomaticMove", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticVexingParse", + "shortDescription": { + "text": "vexing-parse clang diagnostic" + }, + "fullDescription": { + "text": "-Wvexing-parse clang diagnostic · Learn more", + "markdown": "-Wvexing-parse clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wvexing-parse)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticVexingParse", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBWarnings__BC42505", + "shortDescription": { + "text": "The CallerArgumentExpressionAttribute applied to parameter will have no effect. It is applied with an invalid parameter name." + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "VBWarnings__BC42505", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Compiler Warnings", + "index": 108, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Casting from nullptr to pointer type with reinterpret_cast is non-standard Microsoft C++ extension" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppMsExtReinterpretCastFromNullptr", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Potential Code Quality Issues", + "index": 9, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnreachableSwitchCaseDueToIntegerAnalysis", + "shortDescription": { + "text": "Heuristically unreachable case according to integer analysis" + }, + "fullDescription": { + "text": "Heuristically unreachable case label according to integer analysis Learn more...", + "markdown": "Heuristically unreachable case label according to integer analysis [Learn more...](https://www.jetbrains.com/help/rider/UnreachableSwitchCaseDueToIntegerAnalysis.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "UnreachableSwitchCaseDueToIntegerAnalysis", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Potential Code Quality Issues", + "index": 1, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyCppcoreguidelinesInterfacesGlobalInit", + "shortDescription": { + "text": "cppcoreguidelines-interfaces-global-init clang-tidy check" + }, + "fullDescription": { + "text": "cppcoreguidelines-interfaces-global-init clang-tidy check · Learn more", + "markdown": "cppcoreguidelines-interfaces-global-init clang-tidy check · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/cppcoreguidelines/interfaces-global-init.html)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyCppcoreguidelinesInterfacesGlobalInit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang-Tidy Checks", + "index": 8, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VBWarnings__BC42504", + "shortDescription": { + "text": "The CallerArgumentExpressionAttribute applied to parameter will have no effect because it's self-referential" + }, + "fullDescription": { + "text": "", + "markdown": "" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "VBWarnings__BC42504", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "VB.NET/Compiler Warnings", + "index": 108, + "toolComponent": { + "name": "RD" + } + }, + "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", + "markdown": "Convert local variable or field into constant" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "ConvertToConstant.Local", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "C#/Common Practices and Code Improvements", + "index": 14, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CppClangTidyClangDiagnosticGnuOffsetofExtensions", + "shortDescription": { + "text": "gnu-offsetof-extensions clang diagnostic" + }, + "fullDescription": { + "text": "-Wgnu-offsetof-extensions clang diagnostic · Learn more", + "markdown": "-Wgnu-offsetof-extensions clang diagnostic · [Learn more](https://releases.llvm.org/17.0.1/tools/clang/docs/DiagnosticsReference.html#wgnu-offsetof-extensions)" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CppClangTidyClangDiagnosticGnuOffsetofExtensions", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "C++/Clang Diagnostics", + "index": 3, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OtherTagsInsideScript1", + "shortDescription": { + "text": "Script tag errors (other tags inside \n '", + "markdown": "Reports empty tags that do not work in some browsers.\n\n**Example:**\n\n\n \n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckEmptyScriptTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownTarget", + "shortDescription": { + "text": "Unresolved file in a link" + }, + "fullDescription": { + "text": "Reports an unresolved file in a link.", + "markdown": "Reports an unresolved file in a link." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownTarget", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlWrongRootElement", + "shortDescription": { + "text": "Wrong root element" + }, + "fullDescription": { + "text": "Reports a root tag name different from the name specified in the '' tag.", + "markdown": "Reports a root tag name different from the name specified in the `` tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlWrongRootElement", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownAttribute", + "shortDescription": { + "text": "Unknown attribute" + }, + "fullDescription": { + "text": "Reports an unknown HTML attribute. Suggests configuring attributes that should not be reported.", + "markdown": "Reports an unknown HTML attribute. Suggests configuring attributes that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantEscape", + "shortDescription": { + "text": "Redundant character escape" + }, + "fullDescription": { + "text": "Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning. Many escape sequences that are necessary outside of a character class are redundant inside square brackets '[]' of a character class. Although unescaped opening curly braces '{' outside of character classes are allowed in some dialects (JavaScript, Python, and so on), it can cause confusion and make the pattern less portable, because there are dialects that require escaping curly braces as characters. For this reason the inspection does not report escaped opening curly braces. Example: '\\-\\;[\\.]' After the quick-fix is applied: '-;[.]' The Ignore escaped closing brackets '}' and ']' option specifies whether to report '\\}' and '\\]' outside of a character class when they are allowed to be unescaped by the RegExp dialect. New in 2017.3", + "markdown": "Reports redundant character escape sequences that can be replaced with unescaped characters preserving the meaning. Many escape sequences that are necessary outside of a character class are redundant inside square brackets `[]` of a character class.\n\n\nAlthough unescaped opening curly braces `{` outside of character classes are allowed in some dialects (JavaScript, Python, and so on),\nit can cause confusion and make the pattern less portable, because there are dialects that require escaping curly braces as characters.\nFor this reason the inspection does not report escaped opening curly braces.\n\n**Example:**\n\n\n \\-\\;[\\.]\n\nAfter the quick-fix is applied:\n\n\n -;[.]\n\n\nThe **Ignore escaped closing brackets '}' and '\\]'** option specifies whether to report `\\}` and `\\]` outside of a character class\nwhen they are allowed to be unescaped by the RegExp dialect.\n\nNew in 2017.3" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRedundantEscape", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlExtraClosingTag", + "shortDescription": { + "text": "Redundant closing tag" + }, + "fullDescription": { + "text": "Reports redundant closing tags on empty elements, for example, 'img' or 'br'. Example: '\n \n

\n \n ' After the quick-fix is applied: '\n \n
\n \n '", + "markdown": "Reports redundant closing tags on empty elements, for example, `img` or `br`.\n\n**Example:**\n\n\n \n \n

\n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n
\n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlExtraClosingTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDuplicatedId", + "shortDescription": { + "text": "Duplicate 'id' attribute" + }, + "fullDescription": { + "text": "Reports a duplicate 'id' attribute in XML.", + "markdown": "Reports a duplicate `id` attribute in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlDuplicatedId", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlUnboundNsPrefix", + "shortDescription": { + "text": "Unbound namespace prefix" + }, + "fullDescription": { + "text": "Reports an unbound namespace prefix in XML.", + "markdown": "Reports an unbound namespace prefix in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlUnboundNsPrefix", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlPathReference", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference in XML.", + "markdown": "Reports an unresolved file reference in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlPathReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LossyEncoding", + "shortDescription": { + "text": "Lossy encoding" + }, + "fullDescription": { + "text": "Reports characters that cannot be displayed because of the current document encoding. Examples: If you type international characters in a document with the US-ASCII charset, some characters will be lost on save. If you load a UTF-8-encoded file using the ISO-8859-1 one-byte charset, some characters will be displayed incorrectly. You can fix this by changing the file encoding either by specifying the encoding directly in the file, e.g. by editing 'encoding=' attribute in the XML prolog of XML file, or by changing the corresponding options in Settings | Editor | File Encodings.", + "markdown": "Reports characters that cannot be displayed because of the current document encoding.\n\nExamples:\n\n* If you type international characters in a document with the **US-ASCII** charset, some characters will be lost on save.\n* If you load a **UTF-8** -encoded file using the **ISO-8859-1** one-byte charset, some characters will be displayed incorrectly.\n\nYou can fix this by changing the file encoding\neither by specifying the encoding directly in the file, e.g. by editing `encoding=` attribute in the XML prolog of XML file,\nor by changing the corresponding options in **Settings \\| Editor \\| File Encodings**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LossyEncoding", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Internationalization", + "index": 120, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonSchemaDeprecation", + "shortDescription": { + "text": "Deprecated JSON property" + }, + "fullDescription": { + "text": "Reports a deprecated property in a JSON file. Note that deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard extension 'deprecationMessage'.", + "markdown": "Reports a deprecated property in a JSON file. \nNote that deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard extension 'deprecationMessage'." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JsonSchemaDeprecation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 82, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantNestedCharacterClass", + "shortDescription": { + "text": "Redundant nested character class" + }, + "fullDescription": { + "text": "Reports unnecessary nested character classes. Example: '[a-c[x-z]]' After the quick-fix is applied: '[a-cx-z]' New in 2020.2", + "markdown": "Reports unnecessary nested character classes.\n\n**Example:**\n\n\n [a-c[x-z]]\n\nAfter the quick-fix is applied:\n\n\n [a-cx-z]\n\nNew in 2020.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRedundantNestedCharacterClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpOctalEscape", + "shortDescription": { + "text": "Octal escape" + }, + "fullDescription": { + "text": "Reports octal escapes, which are easily confused with back references. Use hexadecimal escapes to avoid confusion. Example: '\\07' After the quick-fix is applied: '\\x07' New in 2017.1", + "markdown": "Reports octal escapes, which are easily confused with back references. Use hexadecimal escapes to avoid confusion.\n\n**Example:**\n\n\n \\07\n\nAfter the quick-fix is applied:\n\n\n \\x07\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "RegExpOctalEscape", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedDefine", + "shortDescription": { + "text": "Unused define" + }, + "fullDescription": { + "text": "Reports an unused named pattern ('define') in a RELAX-NG file (XML or Compact Syntax). 'define' elements that are used through an include in another file are ignored.", + "markdown": "Reports an unused named pattern (`define`) in a RELAX-NG file (XML or Compact Syntax). `define` elements that are used through an include in another file are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedDefine", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RELAX NG", + "index": 124, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpDuplicateAlternationBranch", + "shortDescription": { + "text": "Duplicate branch in alternation" + }, + "fullDescription": { + "text": "Reports duplicate branches in a RegExp alternation. Duplicate branches slow down matching and obscure the intent of the expression. Example: '(alpha|bravo|charlie|alpha)' After the quick-fix is applied: '(alpha|bravo|charlie)' New in 2017.1", + "markdown": "Reports duplicate branches in a RegExp alternation. Duplicate branches slow down matching and obscure the intent of the expression.\n\n**Example:**\n\n\n (alpha|bravo|charlie|alpha)\n\nAfter the quick-fix is applied:\n\n\n (alpha|bravo|charlie)\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpDuplicateAlternationBranch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantSuppression", + "shortDescription": { + "text": "Redundant suppression" + }, + "fullDescription": { + "text": "Reports usages of the following elements that can be safely removed because the inspection they affect is no longer applicable in this context: '@SuppressWarning' annotation, or '// noinspection' line comment, or '/** noinspection */' JavaDoc comment Example: 'public class C {\n // symbol is already private,\n // but annotation is still around\n @SuppressWarnings({\"WeakerAccess\"})\n private boolean CONST = true;\n void f() {\n CONST = false;\n }\n}'", + "markdown": "Reports usages of the following elements that can be safely removed because the inspection they affect is no longer applicable in this context:\n\n* `@SuppressWarning` annotation, or\n* `// noinspection` line comment, or\n* `/** noinspection */` JavaDoc comment\n\nExample:\n\n\n public class C {\n // symbol is already private,\n // but annotation is still around\n @SuppressWarnings({\"WeakerAccess\"})\n private boolean CONST = true;\n void f() {\n CONST = false;\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantSuppression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 47, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CustomRegExpInspection", + "shortDescription": { + "text": "Custom RegExp inspection" + }, + "fullDescription": { + "text": "Custom Regex Inspection", + "markdown": "Custom Regex Inspection" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "CustomRegExpInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpUnexpectedAnchor", + "shortDescription": { + "text": "Begin or end anchor in unexpected position" + }, + "fullDescription": { + "text": "Reports '^' or '\\A' anchors not at the beginning of the pattern and '$', '\\Z' or '\\z' anchors not at the end of the pattern. In the wrong position these RegExp anchors prevent the pattern from matching anything. In case of the '^' and '$' anchors, most likely the literal character was meant and the escape forgotten. Example: '(Price $10)' New in 2018.1", + "markdown": "Reports `^` or `\\A` anchors not at the beginning of the pattern and `$`, `\\Z` or `\\z` anchors not at the end of the pattern. In the wrong position these RegExp anchors prevent the pattern from matching anything. In case of the `^` and `$` anchors, most likely the literal character was meant and the escape forgotten.\n\n**Example:**\n\n\n (Price $10)\n\n\nNew in 2018.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpUnexpectedAnchor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SpellCheckingInspection", + "shortDescription": { + "text": "Typo" + }, + "fullDescription": { + "text": "Reports typos and misspellings in your code, comments, and literals and fixes them with one click.", + "markdown": "Reports typos and misspellings in your code, comments, and literals and fixes them with one click." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "SpellCheckingInspection", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 51, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpSimplifiable", + "shortDescription": { + "text": "Regular expression can be simplified" + }, + "fullDescription": { + "text": "Reports regular expressions that can be simplified. Example: '[a] xx* [ah-hz]' After the quick-fix is applied: 'a x+ [ahz]' New in 2022.1", + "markdown": "Reports regular expressions that can be simplified.\n\n**Example:**\n\n\n [a] xx* [ah-hz]\n\nAfter the quick-fix is applied:\n\n\n a x+ [ahz]\n\nNew in 2022.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RegExpSimplifiable", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpEmptyAlternationBranch", + "shortDescription": { + "text": "Empty branch in alternation" + }, + "fullDescription": { + "text": "Reports empty branches in a RegExp alternation. An empty branch will only match the empty string, and in most cases that is not what is desired. This inspection will not report a single empty branch at the start or the end of an alternation. Example: '(alpha||bravo)' After the quick-fix is applied: '(alpha|bravo)' New in 2017.2", + "markdown": "Reports empty branches in a RegExp alternation. An empty branch will only match the empty string, and in most cases that is not what is desired. This inspection will not report a single empty branch at the start or the end of an alternation.\n\n**Example:**\n\n\n (alpha||bravo)\n\nAfter the quick-fix is applied:\n\n\n (alpha|bravo)\n\nNew in 2017.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpEmptyAlternationBranch", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TodoComment", + "shortDescription": { + "text": "TODO comment" + }, + "fullDescription": { + "text": "Reports TODO comments in your code. You can configure the format for TODO comments in Settings | Editor | TODO. Enable the Only warn on TODO comments without any details option to only warn on empty TODO comments, that don't provide any description on the task that should be done. Disable to report all TODO comments.", + "markdown": "Reports **TODO** comments in your code.\n\nYou can configure the format for **TODO** comments in [Settings \\| Editor \\| TODO](settings://preferences.toDoOptions).\n\nEnable the **Only warn on TODO comments without any details** option to only warn on empty TODO comments, that\ndon't provide any description on the task that should be done. Disable to report all TODO comments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TodoComment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 47, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDefaultAttributeValue", + "shortDescription": { + "text": "Redundant attribute with default value" + }, + "fullDescription": { + "text": "Reports a redundant assignment of the default value to an XML attribute.", + "markdown": "Reports a redundant assignment of the default value to an XML attribute." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlDefaultAttributeValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyDirectory", + "shortDescription": { + "text": "Empty directory" + }, + "fullDescription": { + "text": "Reports empty directories. Available only from Code | Inspect Code or Code | Analyze Code | Run Inspection by Name and isn't reported in the editor. Use the Only report empty directories located under a source folder option to have only directories under source roots reported.", + "markdown": "Reports empty directories.\n\nAvailable only from **Code \\| Inspect Code** or\n**Code \\| Analyze Code \\| Run Inspection by Name** and isn't reported in the editor.\n\nUse the **Only report empty directories located under a source folder** option to have only directories under source\nroots reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyDirectory", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 47, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonAsciiCharacters", + "shortDescription": { + "text": "Non-ASCII characters" + }, + "fullDescription": { + "text": "Reports code elements that use non-ASCII symbols in an unusual context. Example: Non-ASCII characters used in identifiers, strings, or comments. Identifiers written in different languages, such as 'myСollection' with the letter 'C' written in Cyrillic. Comments or strings containing Unicode symbols, such as long dashes and arrows.", + "markdown": "Reports code elements that use non-ASCII symbols in an unusual context.\n\nExample:\n\n* Non-ASCII characters used in identifiers, strings, or comments.\n* Identifiers written in different languages, such as `my`**С**`ollection` with the letter **C** written in Cyrillic.\n* Comments or strings containing Unicode symbols, such as long dashes and arrows." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NonAsciiCharacters", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Internationalization", + "index": 120, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IgnoreFileDuplicateEntry", + "shortDescription": { + "text": "Ignore file duplicates" + }, + "fullDescription": { + "text": "Reports duplicate entries (patterns) in the ignore file (e.g. .gitignore, .hgignore). Duplicate entries in these files are redundant and can be removed. Example: '# Output directories\n /out/\n /target/\n /out/'", + "markdown": "Reports duplicate entries (patterns) in the ignore file (e.g. .gitignore, .hgignore). Duplicate entries in these files are redundant and can be removed.\n\nExample:\n\n\n # Output directories\n /out/\n /target/\n /out/\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IgnoreFileDuplicateEntry", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Version control", + "index": 134, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonStandardCompliance", + "shortDescription": { + "text": "Compliance with JSON standard" + }, + "fullDescription": { + "text": "Reports the following discrepancies of a JSON file with the language specification: A line or block comment (configurable). Multiple top-level values (expect for JSON Lines files, configurable for others). A trailing comma in an object or array (configurable). A single quoted string. A property key is a not a double quoted strings. A NaN or Infinity/-Infinity numeric value as a floating point literal (configurable).", + "markdown": "Reports the following discrepancies of a JSON file with [the language specification](https://tools.ietf.org/html/rfc7159):\n\n* A line or block comment (configurable).\n* Multiple top-level values (expect for JSON Lines files, configurable for others).\n* A trailing comma in an object or array (configurable).\n* A single quoted string.\n* A property key is a not a double quoted strings.\n* A NaN or Infinity/-Infinity numeric value as a floating point literal (configurable)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JsonStandardCompliance", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 82, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonSchemaRefReference", + "shortDescription": { + "text": "Unresolved '$ref' and '$schema' references" + }, + "fullDescription": { + "text": "Reports an unresolved '$ref' or '$schema' path in a JSON schema.", + "markdown": "Reports an unresolved `$ref` or `$schema` path in a JSON schema. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonSchemaRefReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 82, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpSuspiciousBackref", + "shortDescription": { + "text": "Suspicious back reference" + }, + "fullDescription": { + "text": "Reports back references that will not be resolvable at runtime. This means that the back reference can never match anything. A back reference will not be resolvable when the group is defined after the back reference, or if the group is defined in a different branch of an alternation. Example of a group defined after its back reference: '\\1(abc)' Example of a group and a back reference in different branches: 'a(b)c|(xy)\\1z' New in 2022.1", + "markdown": "Reports back references that will not be resolvable at runtime. This means that the back reference can never match anything. A back reference will not be resolvable when the group is defined after the back reference, or if the group is defined in a different branch of an alternation.\n\n**Example of a group defined after its back reference:**\n\n\n \\1(abc)\n\n**Example of a group and a back reference in different branches:**\n\n\n a(b)c|(xy)\\1z\n\nNew in 2022.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpSuspiciousBackref", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnresolvedReference", + "shortDescription": { + "text": "Unresolved reference" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a named pattern ('define') in RELAX-NG files that use XML syntax. Suggests creating the referenced 'define' element.", + "markdown": "Reports an unresolved reference to a named pattern (`define`) in RELAX-NG files that use XML syntax. Suggests creating the referenced `define` element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "UnresolvedReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "RELAX NG", + "index": 124, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlMissingClosingTag", + "shortDescription": { + "text": "Missing closing tag" + }, + "fullDescription": { + "text": "Reports an HTML element without a closing tag. Some coding styles require that HTML elements have closing tags even where this is optional. Example: '\n \n

Behold!\n \n ' After the quick-fix is applied: '\n \n

Behold!

\n \n '", + "markdown": "Reports an HTML element without a closing tag. Some coding styles require that HTML elements have closing tags even where this is optional.\n\n**Example:**\n\n\n \n \n

Behold!\n \n \n\nAfter the quick-fix is applied:\n\n\n \n \n

Behold!

\n \n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlMissingClosingTag", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlInvalidId", + "shortDescription": { + "text": "Unresolved 'id' reference" + }, + "fullDescription": { + "text": "Reports an unresolved 'id' reference in XML.", + "markdown": "Reports an unresolved `id` reference in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlInvalidId", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlDeprecatedElement", + "shortDescription": { + "text": "Deprecated symbol" + }, + "fullDescription": { + "text": "Reports a deprecated XML element or attribute. Symbols can be marked by XML comment or documentation tag with text 'deprecated'.", + "markdown": "Reports a deprecated XML element or attribute.\n\nSymbols can be marked by XML comment or documentation tag with text 'deprecated'." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlDeprecatedElement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpAnonymousGroup", + "shortDescription": { + "text": "Anonymous capturing group or numeric back reference" + }, + "fullDescription": { + "text": "Reports anonymous capturing groups and numeric back references in a RegExp. These are only reported when the RegExp dialect supports named group and named group references. Named groups and named back references improve code readability and are recommended to use instead. When a capture is not needed, matching can be more performant and use less memory by using a non-capturing group, i.e. '(?:xxx)' instead of '(xxx)'. Example: '(\\d\\d\\d\\d)\\1' A better regex pattern could look like this: '(?\\d\\d\\d\\d)\\k' New in 2017.2", + "markdown": "Reports anonymous capturing groups and numeric back references in a RegExp. These are only reported when the RegExp dialect supports named group and named group references. Named groups and named back references improve code readability and are recommended to use instead. When a capture is not needed, matching can be more performant and use less memory by using a non-capturing group, i.e. `(?:xxx)` instead of `(xxx)`.\n\n**Example:**\n\n\n (\\d\\d\\d\\d)\\1\n\nA better regex pattern could look like this:\n\n\n (?\\d\\d\\d\\d)\\k\n\nNew in 2017.2" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpAnonymousGroup", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlUnresolvedReference", + "shortDescription": { + "text": "Unresolved references" + }, + "fullDescription": { + "text": "Reports an unresolved references in XML.", + "markdown": "Reports an unresolved references in XML." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlUnresolvedReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRepeatedSpace", + "shortDescription": { + "text": "Consecutive spaces" + }, + "fullDescription": { + "text": "Reports multiple consecutive spaces in a RegExp. Because spaces are not visible by default, it can be hard to see how many spaces are required. The RegExp can be made more clear by replacing the consecutive spaces with a single space and a counted quantifier. Example: '( )' After the quick-fix is applied: '( {5})' New in 2017.1", + "markdown": "Reports multiple consecutive spaces in a RegExp. Because spaces are not visible by default, it can be hard to see how many spaces are required. The RegExp can be made more clear by replacing the consecutive spaces with a single space and a counted quantifier.\n\n**Example:**\n\n\n ( )\n\nAfter the quick-fix is applied:\n\n\n ( {5})\n\n\nNew in 2017.1" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpRepeatedSpace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InconsistentLineSeparators", + "shortDescription": { + "text": "Inconsistent line separators" + }, + "fullDescription": { + "text": "Reports files with line separators different from the ones that are specified in the project's settings. For example, the inspection will be triggered if you set the line separator to '\\n' in Settings | Editor | Code Style | Line separator, while the file you are editing uses '\\r\\n' as a line separator. The inspection also warns you about mixed line separators within a file.", + "markdown": "Reports files with line separators different from the ones that are specified in the project's settings.\n\nFor example, the inspection will be triggered if you set the line separator to `\\n` in\n[Settings \\| Editor \\| Code Style \\| Line separator](settings://preferences.sourceCode?Line%20separator),\nwhile the file you are editing uses `\\r\\n` as a line separator.\n\nThe inspection also warns you about mixed line separators within a file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InconsistentLineSeparators", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 47, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ProblematicWhitespace", + "shortDescription": { + "text": "Problematic whitespace" + }, + "fullDescription": { + "text": "Reports the following problems: Tabs used for indentation when the code style is configured to use only spaces. Spaces used for indentation when the code style is configured to use only tabs. Spaces used for indentation and tabs used for alignment when the code style is configured to use smart tabs.", + "markdown": "Reports the following problems:\n\n* Tabs used for indentation when the code style is configured to use only spaces.\n* Spaces used for indentation when the code style is configured to use only tabs.\n* Spaces used for indentation and tabs used for alignment when the code style is configured to use smart tabs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ProblematicWhitespace", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 47, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LongLine", + "shortDescription": { + "text": "Line is longer than allowed by code style" + }, + "fullDescription": { + "text": "Reports lines that are longer than the Hard wrap at parameter specified in Settings | Editor | Code Style | General.", + "markdown": "Reports lines that are longer than the **Hard wrap at** parameter specified in [Settings \\| Editor \\| Code Style \\| General](settings://preferences.sourceCode?Hard%20wrap%20at)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LongLine", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 47, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownTag", + "shortDescription": { + "text": "Unknown tag" + }, + "fullDescription": { + "text": "Reports an unknown HTML tag. Suggests configuring tags that should not be reported.", + "markdown": "Reports an unknown HTML tag. Suggests configuring tags that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlHighlighting", + "shortDescription": { + "text": "XML highlighting" + }, + "fullDescription": { + "text": "Reports XML validation problems in the results of a batch code inspection.", + "markdown": "Reports XML validation problems in the results of a batch code inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XmlHighlighting", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XML", + "index": 56, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpDuplicateCharacterInClass", + "shortDescription": { + "text": "Duplicate character in character class" + }, + "fullDescription": { + "text": "Reports duplicate characters inside a RegExp character class. Duplicate characters are unnecessary and can be removed without changing the semantics of the regex. Example: '[aabc]' After the quick-fix is applied: '[abc]'", + "markdown": "Reports duplicate characters inside a RegExp character class. Duplicate characters are unnecessary and can be removed without changing the semantics of the regex.\n\n**Example:**\n\n\n [aabc]\n\nAfter the quick-fix is applied:\n\n\n [abc]\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "warning", + "parameters": { + "suppressToolId": "RegExpDuplicateCharacterInClass", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RequiredAttributes", + "shortDescription": { + "text": "Missing required attribute" + }, + "fullDescription": { + "text": "Reports a missing mandatory attribute in an XML/HTML tag. Suggests configuring attributes that should not be reported.", + "markdown": "Reports a missing mandatory attribute in an XML/HTML tag. Suggests configuring attributes that should not be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RequiredAttributes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RegExpRedundantClassElement", + "shortDescription": { + "text": "Redundant '\\d', '[:digit:]', or '\\D' class elements" + }, + "fullDescription": { + "text": "Reports redundant '\\d' or '[:digit:]' that are used in one class with '\\w' or '[:word:]' ('\\D' with '\\W') and can be removed. Example: '[\\w\\d]' After the quick-fix is applied: '[\\w]' New in 2022.2", + "markdown": "Reports redundant `\\d` or `[:digit:]` that are used in one class with `\\w` or `[:word:]` (`\\D` with `\\W`) and can be removed.\n\n**Example:**\n\n\n [\\w\\d]\n\nAfter the quick-fix is applied:\n\n\n [\\w]\n\nNew in 2022.2" + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "RegExpRedundantClassElement", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "RegExp", + "index": 57, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Json5StandardCompliance", + "shortDescription": { + "text": "Compliance with JSON5 standard" + }, + "fullDescription": { + "text": "Reports inconsistency with the language specification in a JSON5 file.", + "markdown": "Reports inconsistency with [the language specification](http://json5.org) in a JSON5 file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "Json5StandardCompliance", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 82, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlWrongAttributeValue", + "shortDescription": { + "text": "Wrong attribute value" + }, + "fullDescription": { + "text": "Reports an incorrect HTML attribute value.", + "markdown": "Reports an incorrect HTML attribute value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlWrongAttributeValue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MsbuildTargetFrameworkTagInspection", + "shortDescription": { + "text": "TargetFramework tag checks" + }, + "fullDescription": { + "text": "RIDER-83136", + "markdown": "[RIDER-83136](https://youtrack.jetbrains.com/issue/RIDER-83136/)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MsbuildTargetFrameworkTagInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MSBuild", + "index": 145, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckValidXmlInScriptTagBody", + "shortDescription": { + "text": "Malformed content of 'script' tag" + }, + "fullDescription": { + "text": "Reports contents of 'script' tags that are invalid XML. Example: '' After the quick-fix is applied: ''", + "markdown": "Reports contents of `script` tags that are invalid XML. \n\n**Example:**\n\n\n \n\nAfter the quick-fix is applied:\n\n\n \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CheckValidXmlInScriptTagBody", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlUnknownAnchorTarget", + "shortDescription": { + "text": "Unresolved fragment in a link" + }, + "fullDescription": { + "text": "Reports an unresolved last part of an URL after the '#' sign.", + "markdown": "Reports an unresolved last part of an URL after the `#` sign." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlUnknownAnchorTarget", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Annotator", + "shortDescription": { + "text": "Annotator" + }, + "fullDescription": { + "text": "Reports issues essential to this file (e.g., syntax errors) in the result of a batch code inspection run. These issues are usually always highlighted in the editor and can't be configured, unlike inspections. These options control the scope of checks performed by this inspection: Option \"Report syntax errors\": report parser-related issues. Option \"Report issues from language-specific annotators\": report issues found by annotators configured for the relevant language. See Custom Language Support: Annotators for details. Option \"Report other highlighting problems\": report issues specific to the language of the current file (e.g., type mismatches or unreported exceptions). See Custom Language Support: Highlighting for details.", + "markdown": "Reports issues essential to this file (e.g., syntax errors) in the result of a batch code inspection run. These issues are usually always highlighted in the editor and can't be configured, unlike inspections. These options control the scope of checks performed by this inspection:\n\n* Option \"**Report syntax errors**\": report parser-related issues.\n* Option \"**Report issues from language-specific annotators** \": report issues found by annotators configured for the relevant language. See [Custom Language Support: Annotators](https://plugins.jetbrains.com/docs/intellij/annotator.html) for details.\n* Option \"**Report other highlighting problems** \": report issues specific to the language of the current file (e.g., type mismatches or unreported exceptions). See [Custom Language Support: Highlighting](https://plugins.jetbrains.com/docs/intellij/syntax-highlighting-and-error-highlighting.html#semantic-highlighting) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "Annotator", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 47, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonDuplicatePropertyKeys", + "shortDescription": { + "text": "Duplicate keys in object literals" + }, + "fullDescription": { + "text": "Reports a duplicate key in an object literal.", + "markdown": "Reports a duplicate key in an object literal." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonDuplicatePropertyKeys", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JSON and JSON5", + "index": 82, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "JavaScript", + "version": "241.14494.107", + "rules": [ + { + "id": "FlowJSError", + "shortDescription": { + "text": "Flow type checker" + }, + "fullDescription": { + "text": "Reports errors from Flow.", + "markdown": "Reports errors from [Flow](https://flowtype.org/)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "FlowJSError", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 13, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ShiftOutOfRangeJS", + "shortDescription": { + "text": "Shift operation by possibly wrong constant" + }, + "fullDescription": { + "text": "Reports a shift operation where the second operand is a constant outside the reasonable range, for example, an integer shift operation outside the range '0..31', shifting by negative or overly large values.", + "markdown": "Reports a shift operation where the second operand is a constant outside the reasonable range, for example, an integer shift operation outside the range `0..31`, shifting by negative or overly large values." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ShiftOutOfRangeJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 16, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSClosureCompilerSyntax", + "shortDescription": { + "text": "Incorrect usage of JSDoc tags" + }, + "fullDescription": { + "text": "Reports warnings implied by Google Closure Compiler annotations including correct use of '@abstract', '@interface', and '@implements' tags.", + "markdown": "Reports warnings implied by *Google Closure Compiler* annotations including correct use of `@abstract`, `@interface`, and `@implements` tags." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSClosureCompilerSyntax", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BadExpressionStatementJS", + "shortDescription": { + "text": "Expression statement which is not assignment or call" + }, + "fullDescription": { + "text": "Reports an expression statement that is neither an assignment nor a call. Such statements usually indicate an error.", + "markdown": "Reports an expression statement that is neither an assignment nor a call. Such statements usually indicate an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "BadExpressionStatementJS", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 21, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContinueStatementJS", + "shortDescription": { + "text": "'continue' statement" + }, + "fullDescription": { + "text": "Reports a 'continue' statement.", + "markdown": "Reports a `continue` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ContinueStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXSyntaxUsed", + "shortDescription": { + "text": "JSX syntax used" + }, + "fullDescription": { + "text": "Reports a usage of a JSX tag in JavaScript code.", + "markdown": "Reports a usage of a JSX tag in JavaScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSXSyntaxUsed", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSJoinVariableDeclarationAndAssignment", + "shortDescription": { + "text": "Variable declaration can be merged with the first assignment to the variable" + }, + "fullDescription": { + "text": "Reports a variable that is declared without an initializer and is used much further in the code or in a single nested scope. Suggests moving the variable closer to its usages and joining it with the initializer expression.", + "markdown": "Reports a variable that is declared without an initializer and is used much further in the code or in a single nested scope. Suggests moving the variable closer to its usages and joining it with the initializer expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSJoinVariableDeclarationAndAssignment", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertModuleExportToExport", + "shortDescription": { + "text": "'module.exports' is used instead of 'export'" + }, + "fullDescription": { + "text": "Reports a 'module.export' statement. Suggests replacing it with an 'export' or 'export default' statement. Please note that the quick-fix for converting 'module.export' into 'export' is not available for 'module.export' inside functions or statements because 'export' statements can only be at the top level of a module.", + "markdown": "Reports a `module.export` statement. Suggests replacing it with an `export` or `export default` statement. \n\nPlease note that the quick-fix for converting `module.export` into `export` is not available for `module.export` inside functions or statements because `export` statements can only be at the top level of a module." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertModuleExportToExport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 50, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DocumentWriteJS", + "shortDescription": { + "text": "Call to 'document.write()'" + }, + "fullDescription": { + "text": "Reports a method call to 'document.write()' or 'document.writeln()'. Most usages of such calls are performed better with explicit DOM calls, such as 'getElementByID()' and 'createElement()'. Additionally, the 'write()' and 'writeln()' calls will not work with XML DOMs, including DOMs for XHTML if viewed as XML. This can result in difficulty to point out bugs.", + "markdown": "Reports a method call to `document.write()` or `document.writeln()`. Most usages of such calls are performed better with explicit DOM calls, such as `getElementByID()` and `createElement()`. Additionally, the `write()` and `writeln()` calls will not work with XML DOMs, including DOMs for XHTML if viewed as XML. This can result in difficulty to point out bugs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DocumentWriteJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/DOM issues", + "index": 52, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncompatibleMaskJS", + "shortDescription": { + "text": "Incompatible bitwise mask operation" + }, + "fullDescription": { + "text": "Reports a bitwise mask expression which for sure evaluates to 'true' or 'false'. Expressions are of the form '(var & constant1) == constant2' or '(var | constant1) == constant2', where 'constant1' and 'constant2' are incompatible bitmask constants. Example: '// Incompatible mask: as the last byte in mask is zero,\n// something like 0x1200 would be possible, but not 0x1234\nif ((mask & 0xFF00) == 0x1234) {...}'", + "markdown": "Reports a bitwise mask expression which for sure evaluates to `true` or `false`. Expressions are of the form `(var & constant1) == constant2` or `(var | constant1) == constant2`, where `constant1` and `constant2` are incompatible bitmask constants.\n\nExample:\n\n\n // Incompatible mask: as the last byte in mask is zero,\n // something like 0x1200 would be possible, but not 0x1234\n if ((mask & 0xFF00) == 0x1234) {...}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IncompatibleBitwiseMaskOperation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 16, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDuplicatedDeclaration", + "shortDescription": { + "text": "Duplicate declaration" + }, + "fullDescription": { + "text": "Reports multiple declarations in a scope.", + "markdown": "Reports multiple declarations in a scope." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSDuplicatedDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptValidateGenericTypes", + "shortDescription": { + "text": "Incorrect generic type argument" + }, + "fullDescription": { + "text": "Reports an invalid type argument in a function, interface, or class declaration.", + "markdown": "Reports an invalid type argument in a function, interface, or class declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptValidateGenericTypes", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSFileReferences", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference in a JavaScript file, including CommonJS and AMD modules references.", + "markdown": "Reports an unresolved file reference in a JavaScript file, including CommonJS and AMD modules references." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSFileReferences", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithInconsistentReturnsJS", + "shortDescription": { + "text": "Function with inconsistent returns" + }, + "fullDescription": { + "text": "Reports a function that returns a value in some cases while in other cases no value is returned. This usually indicates an error. Example: 'function foo() {\n if (true)\n return 3;\n return;\n}'", + "markdown": "Reports a function that returns a value in some cases while in other cases no value is returned. This usually indicates an error.\n\nExample:\n\n\n function foo() {\n if (true)\n return 3;\n return;\n }\n\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithInconsistentReturnsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 21, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ClassMemberInitializationOrder", + "shortDescription": { + "text": "Use of possibly unassigned property in a static initializer" + }, + "fullDescription": { + "text": "Reports a class member initializer which references another non-hoisted class member while the latter may be not initialized yet. Initialization of class members happens consequently for fields, so a field cannot reference another field that is declared later.", + "markdown": "Reports a class member initializer which references another non-hoisted class member while the latter may be not initialized yet. \n\nInitialization of class members happens consequently for fields, so a field cannot reference another field that is declared later." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ES6ClassMemberInitializationOrder", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedFunctionJS", + "shortDescription": { + "text": "Nested function" + }, + "fullDescription": { + "text": "Reports a function nested inside another function. Although JavaScript allows functions to be nested, such constructs may be confusing. Use the checkbox below to ignore anonymous nested functions.", + "markdown": "Reports a function nested inside another function. Although JavaScript allows functions to be nested, such constructs may be confusing.\n\n\nUse the checkbox below to ignore anonymous nested functions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptUMDGlobal", + "shortDescription": { + "text": "Referenced UMD global variable" + }, + "fullDescription": { + "text": "Reports a usage of a Universal Module Definition (UMD) global variable if the current file is a module (ECMAScript or CommonJS). Referencing UMD variables without explicit imports can lead to a runtime error if the library isn't included implicitly.", + "markdown": "Reports a usage of a Universal Module Definition (UMD) global variable if the current file is a module (ECMAScript or CommonJS). Referencing UMD variables without explicit imports can lead to a runtime error if the library isn't included implicitly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptUMDGlobal", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryReturnJS", + "shortDescription": { + "text": "Unnecessary 'return' statement" + }, + "fullDescription": { + "text": "Reports an unnecessary 'return' statement, that is, a 'return' statement that returns no value and occurs just before the function would have \"fallen through\" the bottom. These statements may be safely removed.", + "markdown": "Reports an unnecessary `return` statement, that is, a `return` statement that returns no value and occurs just before the function would have \"fallen through\" the bottom. These statements may be safely removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryReturnStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StandardJS", + "shortDescription": { + "text": "Standard code style" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the JavaScript Standard Style linter. The highlighting severity in the editor is based on the severity level the linter reports.", + "markdown": "Reports a discrepancy detected by the [JavaScript Standard Style](https://standardjs.com/) linter. \n\nThe highlighting severity in the editor is based on the severity level the linter reports." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "StandardJS", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 69, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSCommentMatchesSignature", + "shortDescription": { + "text": "Mismatched JSDoc and function signature" + }, + "fullDescription": { + "text": "Reports mismatch between the names and the number of parameters within a JSDoc comment and the actual parameters of a function. Suggests updating parameters in JSDoc comment. Example: '/**\n * @param height Height in pixels\n */\nfunction sq(height, width) {} // width is not documented' After the quick-fix is applied: '/**\n * @param height Height in pixels\n * @param width\n */\nfunction sq(height, width) {}'", + "markdown": "Reports mismatch between the names and the number of parameters within a JSDoc comment and the actual parameters of a function. Suggests updating parameters in JSDoc comment.\n\n**Example:**\n\n\n /**\n * @param height Height in pixels\n */\n function sq(height, width) {} // width is not documented\n\nAfter the quick-fix is applied:\n\n\n /**\n * @param height Height in pixels\n * @param width\n */\n function sq(height, width) {}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSCommentMatchesSignature", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithMultipleReturnPointsJS", + "shortDescription": { + "text": "Function with multiple return points" + }, + "fullDescription": { + "text": "Reports a function with multiple return points. Such functions are hard to understand and maintain.", + "markdown": "Reports a function with multiple return points. Such functions are hard to understand and maintain." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMultipleReturnPointsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 73, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSRemoveUnnecessaryParentheses", + "shortDescription": { + "text": "Unnecessary parentheses" + }, + "fullDescription": { + "text": "Reports redundant parentheses. In expressions: 'var x = ((1) + 2) + 3' In arrow function argument lists: 'var incrementer = (x) => x + 1' In TypeScript and Flow type declarations: 'type Card = (Suit & Rank) | (Suit & Number)'", + "markdown": "Reports redundant parentheses.\n\nIn expressions:\n\n var x = ((1) + 2) + 3\n\nIn arrow function argument lists:\n\n var incrementer = (x) => x + 1\n\nIn TypeScript and Flow type declarations:\n\n type Card = (Suit & Rank) | (Suit & Number)\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSRemoveUnnecessaryParentheses", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CommaExpressionJS", + "shortDescription": { + "text": "Comma expression" + }, + "fullDescription": { + "text": "Reports a comma expression. Such expressions are often a sign of overly clever code, and may lead to subtle bugs. Comma expressions in the initializer or in the update section of 'for' loops are ignored.", + "markdown": "Reports a comma expression. Such expressions are often a sign of overly clever code, and may lead to subtle bugs. Comma expressions in the initializer or in the update section of `for` loops are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CommaExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6BindWithArrowFunction", + "shortDescription": { + "text": "Suspicious usage of 'bind' with arrow function" + }, + "fullDescription": { + "text": "Reports 'bind' used together with an arrow function. Because arrow functions use lexical 'this', a 'bind' call will have no effect on them. See here for details.", + "markdown": "Reports `bind` used together with an arrow function. \nBecause arrow functions use lexical `this`, a `bind` call will have no effect on them. \nSee [here](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions#Lexical_this) for details." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ES6BindWithArrowFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSBitwiseOperatorUsage", + "shortDescription": { + "text": "Bitwise operator usage" + }, + "fullDescription": { + "text": "Reports a suspicious usage of a bitwise AND (\"'&'\") or OR (\"'|'\") operator. Usually it is a typo and the result of applying boolean operations AND (\"'&&'\") and OR (\"'||'\") is expected.", + "markdown": "Reports a suspicious usage of a bitwise AND (\"`&`\") or OR (\"`|`\") operator. Usually it is a typo and the result of applying boolean operations AND (\"`&&`\") and OR (\"`||`\") is expected." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSBitwiseOperatorUsage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 16, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IfStatementWithIdenticalBranchesJS", + "shortDescription": { + "text": "'if' statement with identical branches" + }, + "fullDescription": { + "text": "Reports an 'if' statement with identical 'then' and 'else' branches. Such statements are almost certainly an error.", + "markdown": "Reports an `if` statement with identical `then` and `else` branches. Such statements are almost certainly an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IfStatementWithIdenticalBranchesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSConsecutiveCommasInArrayLiteral", + "shortDescription": { + "text": "Consecutive commas in array literal" + }, + "fullDescription": { + "text": "Reports a consecutive comma in an array literal. The skipped element accepts the 'undefined' value, but it could be done unintentionally, for example, when commas are at the end of one line and at the beginning of the next one.", + "markdown": "Reports a consecutive comma in an array literal. The skipped element accepts the `undefined` value, but it could be done unintentionally, for example, when commas are at the end of one line and at the beginning of the next one." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSConsecutiveCommasInArrayLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSValidateTypes", + "shortDescription": { + "text": "Type mismatch" + }, + "fullDescription": { + "text": "Reports incorrect type of: a parameter in a function call a return value an assigned expression TypeScript code is ignored.", + "markdown": "Reports incorrect type of:\n\n* a parameter in a function call\n* a return value\n* an assigned expression\n\nTypeScript code is ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSValidateTypes", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidUsageOfClassThis", + "shortDescription": { + "text": "Potentially invalid reference to 'this' of a class from closure" + }, + "fullDescription": { + "text": "Reports an attempt to reference a member of an ECMAScript class via the 'this.' qualifier in a nested function that is not a lambda. 'this' in a nested function that is not a lambda is the function's own 'this' and doesn't relate to the outer class.", + "markdown": "Reports an attempt to reference a member of an ECMAScript class via the `this.` qualifier in a nested function that is not a lambda. \n`this` in a nested function that is not a lambda is the function's own `this` and doesn't relate to the outer class." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidUsageOfClassThis", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryContinueJS", + "shortDescription": { + "text": "Unnecessary 'continue' statement" + }, + "fullDescription": { + "text": "Reports an unnecessary 'continue' statement at the end of a loop. Suggests removing such statements.", + "markdown": "Reports an unnecessary `continue` statement at the end of a loop. Suggests removing such statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryContinueJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BreakStatementWithLabelJS", + "shortDescription": { + "text": "'break' statement with label" + }, + "fullDescription": { + "text": "Reports a labeled 'break' statement.", + "markdown": "Reports a labeled `break` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "BreakStatementWithLabelJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDeclarationsAtScopeStart", + "shortDescription": { + "text": "'var' declared not at the beginning of a function" + }, + "fullDescription": { + "text": "Checks that declarations of local variables declared with var are at the top of a function scope. By default, variable declarations are always moved (\"hoisted\") invisibly to the top of their containing scope when the code is executed. Therefore, declaring them at the top of the scope helps represent this behavior in the code.", + "markdown": "Checks that declarations of local variables declared with **var** are at the top of a function scope. \n\nBy default, variable declarations are always moved (\"hoisted\") invisibly to the top of their containing scope when the code is executed. Therefore, declaring them at the top of the scope helps represent this behavior in the code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSDeclarationsAtScopeStart", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertIndexedForToForOf", + "shortDescription": { + "text": "Indexed 'for' is used instead of 'for..of'" + }, + "fullDescription": { + "text": "Reports an indexed 'for' loop used on an array. Suggests replacing it with a 'for..of' loop. 'for..of' loops are introduced in ECMAScript 6 and iterate over 'iterable' objects.", + "markdown": "Reports an indexed [for](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for) loop used on an array. Suggests replacing it with a [for..of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) loop. \n`for..of` loops are introduced in ECMAScript 6 and iterate over `iterable` objects." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertIndexedForToForOf", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 50, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertVarToLetConst", + "shortDescription": { + "text": "'var' is used instead of 'let' or 'const'" + }, + "fullDescription": { + "text": "Reports a 'var' declaration that is used instead of 'let' or 'const'. Both 'let' and 'const' are block-scoped and behave more strictly. Suggests replacing all 'var' declarations with 'let' or 'const' declarations, depending on the semantics of a particular value. The declarations may be moved to the top of the function or placed before the first usage of the variable to avoid Reference errors. Select the 'Conservatively convert var with Fix all action' option to prevent any changes in these complex cases when using the 'Fix all' action.", + "markdown": "Reports a `var` declaration that is used instead of `let` or `const`. \nBoth `let` and `const` are block-scoped and behave more strictly. \n\nSuggests replacing all `var` declarations with `let` or `const` declarations, depending on the semantics of a particular value. The declarations may be moved to the top of the function or placed before the first usage of the variable to avoid Reference errors. \nSelect the 'Conservatively convert var with Fix all action' option to prevent any changes in these complex cases when using the 'Fix all' action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertVarToLetConst", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 50, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DynamicallyGeneratedCodeJS", + "shortDescription": { + "text": "Execution of dynamically generated code" + }, + "fullDescription": { + "text": "Reports a call of the 'eval()', 'setTimeout()', or 'setInterval()' function or an allocation of a 'Function' object. These functions are used to execute arbitrary strings of JavaScript text, which often dynamically generated. This can be very confusing, and may be a security risk. Ignores the cases when a callback function is provided to these methods statically, without code generation.", + "markdown": "Reports a call of the `eval()`, `setTimeout()`, or `setInterval()` function or an allocation of a `Function` object. These functions are used to execute arbitrary strings of JavaScript text, which often dynamically generated. This can be very confusing, and may be a security risk. \n\nIgnores the cases when a callback function is provided to these methods statically, without code generation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DynamicallyGeneratedCodeJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedCatchParameterJS", + "shortDescription": { + "text": "Unused 'catch' parameter" + }, + "fullDescription": { + "text": "Reports a 'catch' parameter that is not used in the corresponding block. The 'catch' parameters named 'ignore' or 'ignored' are ignored. Use the checkbox below to disable this inspection for 'catch' blocks with comments.", + "markdown": "Reports a `catch` parameter that is not used in the corresponding block. The `catch` parameters named `ignore` or `ignored` are ignored.\n\n\nUse the checkbox below to disable this inspection for `catch`\nblocks with comments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedCatchParameterJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 96, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AnonymousFunctionJS", + "shortDescription": { + "text": "Anonymous function" + }, + "fullDescription": { + "text": "Reports an anonymous function. An explicit name of a function expression may be helpful for debugging. Ignores function expressions without names if they have a 'name' property specified in the ECMAScript 6 standard. For example, 'var bar = function() {};' is not reported.", + "markdown": "Reports an anonymous function. An explicit name of a function expression may be helpful for debugging. Ignores function expressions without names if they have a `name` property specified in the ECMAScript 6 standard. For example, `var bar = function() {};` is not reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AnonymousFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyCatchBlockJS", + "shortDescription": { + "text": "Empty 'catch' block" + }, + "fullDescription": { + "text": "Reports an empty 'catch' block. This indicates that errors are simply ignored instead of handling them. Any comment in a 'catch' block mutes the inspection.", + "markdown": "Reports an empty `catch` block. This indicates that errors are simply ignored instead of handling them. \n\nAny comment in a `catch` block mutes the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyCatchBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 96, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThrowFromFinallyBlockJS", + "shortDescription": { + "text": "'throw' inside 'finally' block" + }, + "fullDescription": { + "text": "Reports s 'throw' statement inside a 'finally' block. Such 'throw' statements may mask exceptions thrown, and complicate debugging.", + "markdown": "Reports s `throw` statement inside a `finally` block. Such `throw` statements may mask exceptions thrown, and complicate debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ThrowInsideFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 96, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidUsageOfThis", + "shortDescription": { + "text": "Potentially invalid reference to 'this' from closure" + }, + "fullDescription": { + "text": "Reports a 'this' in closure that is used for referencing properties of outer context. Example: 'function Outer() {\n this.outerProp = 1;\n function inner() {\n // bad, because 'outerProp' of Outer\n // won't be updated here\n // on calling 'new Outer()' as may be expected\n this.outerProp = 2;\n }\n inner();\n}'", + "markdown": "Reports a `this` in closure that is used for referencing properties of outer context.\n\nExample:\n\n\n function Outer() {\n this.outerProp = 1;\n function inner() {\n // bad, because 'outerProp' of Outer\n // won't be updated here\n // on calling 'new Outer()' as may be expected\n this.outerProp = 2;\n }\n inner();\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidUsageOfThis", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnresolvedLibraryURL", + "shortDescription": { + "text": "Missed locally stored library for HTTP link" + }, + "fullDescription": { + "text": "Reports a URL of an external JavaScript library that is not associated with any locally stored file. Suggests downloading the library. Such association enables the IDE to provide proper code completion and navigation.", + "markdown": "Reports a URL of an external JavaScript library that is not associated with any locally stored file. Suggests downloading the library. Such association enables the IDE to provide proper code completion and navigation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnresolvedLibraryURL", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptFieldCanBeMadeReadonly", + "shortDescription": { + "text": "Field can be readonly" + }, + "fullDescription": { + "text": "Reports a private field that can be made readonly (for example, if the field is assigned only in the constructor).", + "markdown": "Reports a private field that can be made readonly (for example, if the field is assigned only in the constructor)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptFieldCanBeMadeReadonly", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegatedIfStatementJS", + "shortDescription": { + "text": "Negated 'if' statement" + }, + "fullDescription": { + "text": "Reports if statements which have an else branch and a negated condition. Flipping the order of the if and else branches will usually increase the clarity of such statements.", + "markdown": "Reports **if** statements which have an **else** branch and a negated condition. Flipping the order of the **if** and **else** branches will usually increase the clarity of such statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NegatedIfStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionalExpressionWithIdenticalBranchesJS", + "shortDescription": { + "text": "Conditional expression with identical branches" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression with identical 'then' and 'else' branches.", + "markdown": "Reports a ternary conditional expression with identical `then` and `else` branches." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConditionalExpressionWithIdenticalBranchesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSIncompatibleTypesComparison", + "shortDescription": { + "text": "Comparison of expressions having incompatible types" + }, + "fullDescription": { + "text": "Reports a comparison with operands of incompatible types or an operand with a type without possible common values.", + "markdown": "Reports a comparison with operands of incompatible types or an operand with a type without possible common values." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSIncompatibleTypesComparison", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6TopLevelAwaitExpression", + "shortDescription": { + "text": "Top-level 'await' expression" + }, + "fullDescription": { + "text": "Reports a usage of a top-level 'await' expression. While the new 'top-level async' proposal is on its way, using 'await' outside async functions is not allowed.", + "markdown": "Reports a usage of a top-level `await` expression. While the new 'top-level async' proposal is on its way, using `await` outside async functions is not allowed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ES6TopLevelAwaitExpression", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 102, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ParameterNamingConventionJS", + "shortDescription": { + "text": "Function parameter naming convention" + }, + "fullDescription": { + "text": "Reports a function parameter whose name is too short, too long, or doesn't follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length and regular expression expected for local variables names. Use the standard 'java.util.regex' format regular expressions.", + "markdown": "Reports a function parameter whose name is too short, too long, or doesn't follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length and regular expression\nexpected for local variables names. Use the standard `java.util.regex` format regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ParameterNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 103, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ParametersPerFunctionJS", + "shortDescription": { + "text": "Function with too many parameters" + }, + "fullDescription": { + "text": "Reports a function with too many parameters. Such functions often indicate problems with design. Use the field below to specify the maximum acceptable number of parameters for a function.", + "markdown": "Reports a function with too many parameters. Such functions often indicate problems with design.\n\n\nUse the field below to specify the maximum acceptable number of parameters for a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 73, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSSuspiciousNameCombination", + "shortDescription": { + "text": "Suspicious variable/parameter name combination" + }, + "fullDescription": { + "text": "Reports an assignment or a function call where the name of the target variable or the function parameter does not match the name of the value assigned to it. Example: 'var x = 0;\n var y = x;' or 'var x = 0, y = 0;\n var rc = new Rectangle(y, x, 20, 20);' Here the inspection guesses that 'x' and 'y' are mixed up. Specify the names that should not be used together. An error is reported if a parameter name or an assignment target name contains words from one group while the name of the assigned or passed variable contains words from another group.", + "markdown": "Reports an assignment or a function call where the name of the target variable or the function parameter does not match the name of the value assigned to it.\n\nExample:\n\n\n var x = 0;\n var y = x;\n\nor\n\n\n var x = 0, y = 0;\n var rc = new Rectangle(y, x, 20, 20);\n\nHere the inspection guesses that `x` and `y` are mixed up.\n\nSpecify the names that should not be used together. An error is reported\nif a parameter name or an assignment target name contains words from one group while the name of the assigned or passed\nvariable contains words from another group." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSSuspiciousNameCombination", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ChainedFunctionCallJS", + "shortDescription": { + "text": "Chained function call" + }, + "fullDescription": { + "text": "Reports a function call whose target is another function call, for example, 'foo().bar()'", + "markdown": "Reports a function call whose target is another function call, for example, `foo().bar()`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ChainedFunctionCallJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSCheckFunctionSignatures", + "shortDescription": { + "text": "Signature mismatch" + }, + "fullDescription": { + "text": "Reports a JavaScript call expression where the arguments do not match the signature of the referenced function, including the types of arguments and their number. Also, reports if the overloading function doesn't match the overloaded one in terms of parameters and return types. TypeScript code is ignored.", + "markdown": "Reports a JavaScript call expression where the arguments do not match the signature of the referenced function, including the types of arguments and their number. Also, reports if the overloading function doesn't match the overloaded one in terms of parameters and return types.\n\nTypeScript code is ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSCheckFunctionSignatures", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantOnLHSOfComparisonJS", + "shortDescription": { + "text": "Constant on left side of comparison" + }, + "fullDescription": { + "text": "Reports a comparison operation with a constant value in the left-hand side. According to coding conventions, constants should be in the right-hand side of comparisons.", + "markdown": "Reports a comparison operation with a constant value in the left-hand side. According to coding conventions, constants should be in the right-hand side of comparisons." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConstantOnLefSideOfComparisonJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptUnresolvedReference", + "shortDescription": { + "text": "Unresolved TypeScript reference" + }, + "fullDescription": { + "text": "Reports an unresolved reference in TypeScript code.", + "markdown": "Reports an unresolved reference in TypeScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptUnresolvedReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6RedundantAwait", + "shortDescription": { + "text": "Redundant 'await' expression" + }, + "fullDescription": { + "text": "Reports a redundant usage of 'await', such as 'await await', or awaiting a non-promise result. When the 'Report for promises' option is selected, suggests removing 'await' before promises when applicable (in 'return' statements, and with 'Promise.resolve/reject'). Removing 'await' in such contexts causes two problems. Surrounding your code with 'try-catch' and forgetting to add 'await' will change code semantics while you may fail to notice that. Having an explicit 'await' may prevent the V8 runtime from providing async stack traces.", + "markdown": "Reports a redundant usage of `await`, such as `await await`, or awaiting a non-promise result.\n\n\nWhen the 'Report for promises' option is selected, suggests removing `await` before promises when applicable\n(in `return` statements, and with `Promise.resolve/reject`).\n\nRemoving `await` in such contexts causes two problems.\n\n* Surrounding your code with `try-catch` and forgetting to add `await` will change code semantics while you may fail to notice that.\n* Having an explicit `await` may prevent the V8 runtime from providing [async stack traces](http://bit.ly/v8-zero-cost-async-stack-traces)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6RedundantAwait", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 102, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentToFunctionParameterJS", + "shortDescription": { + "text": "Assignment to function parameter" + }, + "fullDescription": { + "text": "Reports an assignment to a function parameter, including increment and decrement operations. Although occasionally intended, this construct can be extremely confusing, and is often a result of an error.", + "markdown": "Reports an assignment to a function parameter, including increment and decrement operations. Although occasionally intended, this construct can be extremely confusing, and is often a result of an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentToFunctionParameterJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 106, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FallThroughInSwitchStatementJS", + "shortDescription": { + "text": "Fallthrough in 'switch' statement" + }, + "fullDescription": { + "text": "Reports a 'switch' statement where control can proceed from a branch to the next one. Such \"fall-through\" often indicates an error, for example, a missing 'break' or 'return'.", + "markdown": "Reports a `switch` statement where control can proceed from a branch to the next one. Such \"fall-through\" often indicates an error, for example, a missing `break` or `return`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FallThroughInSwitchStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CallerJS", + "shortDescription": { + "text": "Use of 'caller' property" + }, + "fullDescription": { + "text": "Reports a usage of the 'caller' property in a JavaScript function. Using this property to access the stack frame of the calling method can be extremely confusing and result in subtle bugs.", + "markdown": "Reports a usage of the `caller` property in a JavaScript function. Using this property to access the stack frame of the calling method can be extremely confusing and result in subtle bugs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CallerJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSSwitchVariableDeclarationIssue", + "shortDescription": { + "text": "Variable is declared and being used in different 'case' clauses" + }, + "fullDescription": { + "text": "Reports a variable that is declared in one 'case' clause of a 'switch' statement but is used in another 'case' clause of the same statement. For block-scoped variables, this results in throwing a 'ReferenceError'. For 'var' variables, it indicates a potential error. Disable the inspection for 'var' variables if this pattern is used intentionally.", + "markdown": "Reports a variable that is declared in one `case` clause of a `switch` statement but is used in another `case` clause of the same statement. For block-scoped variables, this results in throwing a `ReferenceError`. For `var` variables, it indicates a potential error.\n\nDisable the inspection for `var` variables if this pattern is used intentionally." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSSwitchVariableDeclarationIssue", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReuseOfLocalVariableJS", + "shortDescription": { + "text": "Reuse of local variable" + }, + "fullDescription": { + "text": "Reports reusing a local variable and overwriting its value with a new value that is not related to the original variable usage. Reusing a local variable in this way may be confusing because the intended semantics of the local variable may vary with each usage. It may also cause bugs, if code changes result in values that were expected to be overwritten while they are actually live. It is good practices to keep variable lifetimes as short as possible, and not reuse local variables for the sake of brevity.", + "markdown": "Reports reusing a local variable and overwriting its value with a new value that is not related to the original variable usage. Reusing a local variable in this way may be confusing because the intended semantics of the local variable may vary with each usage. It may also cause bugs, if code changes result in values that were expected to be overwritten while they are actually live. It is good practices to keep variable lifetimes as short as possible, and not reuse local variables for the sake of brevity." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ReuseOfLocalVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Data flow", + "index": 110, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertLetToConst", + "shortDescription": { + "text": "'let' is used instead of 'const'" + }, + "fullDescription": { + "text": "Reports a 'let' declaration that can be made 'const'.", + "markdown": "Reports a `let` declaration that can be made `const`. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertLetToConst", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 50, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSReferencingMutableVariableFromClosure", + "shortDescription": { + "text": "Referencing mutable variable from closure" + }, + "fullDescription": { + "text": "Reports access to outer mutable variables from functions. Example: 'for (var i = 1; i <= 3; i++) {\n setTimeout(function() {\n console.log(i); // bad\n }, 0);\n }'", + "markdown": "Reports access to outer mutable variables from functions.\n\nExample:\n\n\n for (var i = 1; i <= 3; i++) {\n setTimeout(function() {\n console.log(i); // bad\n }, 0);\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSReferencingMutableVariableFromClosure", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertRequireIntoImport", + "shortDescription": { + "text": "'require()' is used instead of 'import'" + }, + "fullDescription": { + "text": "Reports a 'require()' statement. Suggests converting it to a 'require()' call with an 'import' statement. Enable 'Convert require() inside inner scopes with Fix all action' to convert all 'require()' calls inside the nested functions and statements when using the 'Fix all' action. Please note that converting 'require()' statements inside inner scopes to 'import' statements may cause changes in the semantics of the code. Import statements are static module dependencies and are hoisted, which means that they are moved to the top of the current module. 'require()' calls load modules dynamically. They can be executed conditionally, and their scope is defined by the expression in which they are used. Clear the 'Convert require() inside inner scopes with Fix all action' checkbox to prevent any changes in these complex cases when using the 'Fix all' action.", + "markdown": "Reports a `require()` statement. Suggests converting it to a `require()` call with an `import` statement. \n\nEnable 'Convert require() inside inner scopes with Fix all action' to convert all `require()` calls inside the nested functions and statements when using the 'Fix all' action. \n\nPlease note that converting `require()` statements inside inner scopes to `import` statements may cause changes in the semantics of the code. Import statements are static module dependencies and are hoisted, which means that they are moved to the top of the current module. `require()` calls load modules dynamically. They can be executed conditionally, and their scope is defined by the expression in which they are used. \nClear the 'Convert require() inside inner scopes with Fix all action' checkbox to prevent any changes in these complex cases when using the 'Fix all' action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertRequireIntoImport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 50, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnusedGlobalSymbols", + "shortDescription": { + "text": "Unused global symbol" + }, + "fullDescription": { + "text": "Reports an unused globally accessible public function, variable, class, or property.", + "markdown": "Reports an unused globally accessible public function, variable, class, or property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnusedGlobalSymbols", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unused symbols", + "index": 115, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedConditionalExpressionJS", + "shortDescription": { + "text": "Nested conditional expression" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression within another ternary condition. Such nested conditionals may be extremely confusing, and best replaced by more explicit conditional logic.", + "markdown": "Reports a ternary conditional expression within another ternary condition. Such nested conditionals may be extremely confusing, and best replaced by more explicit conditional logic." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6PossiblyAsyncFunction", + "shortDescription": { + "text": "'await' in non-async function" + }, + "fullDescription": { + "text": "Reports a usage of 'await' in a function that was possibly intended to be async but is actually missing the 'async' modifier. Although 'await' can be used as an identifier, it is likely that it was intended to be used as an operator, so the containing function should be made 'async'.", + "markdown": "Reports a usage of `await` in a function that was possibly intended to be async but is actually missing the `async` modifier. Although `await` can be used as an identifier, it is likely that it was intended to be used as an operator, so the containing function should be made `async`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6PossiblyAsyncFunction", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 102, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FlowJSFlagCommentPlacement", + "shortDescription": { + "text": "Misplaced @flow flag" + }, + "fullDescription": { + "text": "Reports a '@flow' flag comment that is not located at the top of a file.", + "markdown": "Reports a `@flow` flag comment that is not located at the top of a file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FlowJSFlagCommentPlacement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 13, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMissingSwitchDefault", + "shortDescription": { + "text": "'switch' statement has no 'default' branch" + }, + "fullDescription": { + "text": "Reports a 'switch' statement without a 'default' clause when some possible values are not enumerated.", + "markdown": "Reports a `switch` statement without a `default` clause when some possible values are not enumerated." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSMissingSwitchDefault", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXNamespaceValidation", + "shortDescription": { + "text": "Missing JSX namespace" + }, + "fullDescription": { + "text": "Reports a usage of a JSX construction without importing namespace. Having the namespace in the file scope ensures proper code compilation.", + "markdown": "Reports a usage of a JSX construction without importing namespace. Having the namespace in the file scope ensures proper code compilation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSXNamespaceValidation", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 117, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReservedWordUsedAsNameJS", + "shortDescription": { + "text": "Reserved word used as name" + }, + "fullDescription": { + "text": "Reports a JavaScript reserved word used as a name. The JavaScript specification reserves a number of words which are currently not used as keywords. Using those words as identifiers may result in broken code if later versions of JavaScript start using them as keywords.", + "markdown": "Reports a JavaScript reserved word used as a name. The JavaScript specification reserves a number of words which are currently not used as keywords. Using those words as identifiers may result in broken code if later versions of JavaScript start using them as keywords." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ReservedWordAsName", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 21, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncrementDecrementResultUsedJS", + "shortDescription": { + "text": "Result of increment or decrement used" + }, + "fullDescription": { + "text": "Reports an increment ('++') or decrement ('--') expression where the result of the assignment is used in a containing expression. Such assignments can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways. Example: 'var a = b++'", + "markdown": "Reports an increment (`++`) or decrement (`--`) expression where the result of the assignment is used in a containing expression. Such assignments can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways. Example: `var a = b++`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IncrementDecrementResultUsedJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SuspiciousTypeOfGuard", + "shortDescription": { + "text": "Unsound type guard check" + }, + "fullDescription": { + "text": "Reports a 'typeof' or 'instanceof' unsound type guard check. The 'typeof x' type guard can be unsound in one of the following two cases: 'typeof x' never corresponds to the specified value (for example, 'typeof x === 'number'' when 'x' is of the type 'string | boolean') 'typeof x' always corresponds to the specified value (for example, 'typeof x === 'string'' when 'x' is of the type 'string') The 'x instanceof A' type guard can be unsound in one of the following two cases: The type of 'x' is not related to 'A' The type of 'x' is 'A' or a subtype of 'A'", + "markdown": "Reports a `typeof` or `instanceof` unsound type guard check. The `typeof x` type guard can be unsound in one of the following two cases:\n\n* `typeof x` never corresponds to the specified value (for example, `typeof x === 'number'` when `x` is of the type 'string \\| boolean')\n* `typeof x` always corresponds to the specified value (for example, `typeof x === 'string'` when `x` is of the type 'string')\n\nThe `x instanceof A` type guard can be unsound in one of the following two cases:\n\n* The type of `x` is not related to `A`\n* The type of `x` is `A` or a subtype of `A`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SuspiciousTypeOfGuard", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LoopStatementThatDoesntLoopJS", + "shortDescription": { + "text": "Loop statement that doesn't loop" + }, + "fullDescription": { + "text": "Reports a 'for', 'while', or 'do' statement whose bodies are guaranteed to execute at most once. Normally, this indicates an error.", + "markdown": "Reports a `for`, `while`, or `do` statement whose bodies are guaranteed to execute at most once. Normally, this indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LoopStatementThatDoesntLoopJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSNonASCIINames", + "shortDescription": { + "text": "Identifiers with non-ASCII symbols" + }, + "fullDescription": { + "text": "Reports a non-ASCII symbol in a name. If the 'Allow only ASCII names' option is selected, reports all names that contain non-ASCII symbols. Otherwise reports all names that contain both ASCII and non-ASCII symbols.", + "markdown": "Reports a non-ASCII symbol in a name. \n\nIf the 'Allow only ASCII names' option is selected, reports all names that contain non-ASCII symbols. \nOtherwise reports all names that contain both ASCII and non-ASCII symbols." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSNonASCIINames", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 103, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6MissingAwait", + "shortDescription": { + "text": "Missing await for an async function call" + }, + "fullDescription": { + "text": "Reports an 'async' function call without an expected 'await' prefix inside an 'async' function. Such call returns a 'Promise' and control flow is continued immediately. Example: 'async function bar() { /* ... */ }\nasync function foo() {\n bar(); // bad\n}' After the quick-fix is applied, the 'await' prefix is added: 'async function bar() { /* ... */ }\nasync function foo() {\n await bar(); // good\n}' When the 'Report for promises in return statements' checkbox is selected, also suggests adding 'await' in return statements. While this is generally not necessary, it gives two main benefits. You won't forget to add 'await' when surrounding your code with 'try-catch'. An explicit 'await' helps V8 runtime to provide async stack traces.", + "markdown": "Reports an `async` function call without an expected `await` prefix inside an `async` function. Such call returns a `Promise` and control flow is continued immediately.\n\nExample:\n\n\n async function bar() { /* ... */ }\n async function foo() {\n bar(); // bad\n }\n\n\nAfter the quick-fix is applied, the `await` prefix is added:\n\n\n async function bar() { /* ... */ }\n async function foo() {\n await bar(); // good\n }\n\nWhen the 'Report for promises in return statements' checkbox is selected, also suggests adding `await` in return statements. \nWhile this is generally not necessary, it gives two main benefits. \n\n* You won't forget to add `await` when surrounding your code with `try-catch`.\n* An explicit `await` helps V8 runtime to provide [async stack traces](https://bit.ly/v8-zero-cost-async-stack-traces)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6MissingAwait", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 102, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TailRecursionJS", + "shortDescription": { + "text": "Tail recursion" + }, + "fullDescription": { + "text": "Reports a tail recursion, that is, when a function calls itself as its last action before returning. A tail recursion can always be replaced by looping, which will be considerably faster. Some JavaScript engines perform this optimization, while others do not. Thus, tail recursive solutions may have considerably different performance characteristics in different environments.", + "markdown": "Reports a tail recursion, that is, when a function calls itself as its last action before returning. A tail recursion can always be replaced by looping, which will be considerably faster. Some JavaScript engines perform this optimization, while others do not. Thus, tail recursive solutions may have considerably different performance characteristics in different environments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TailRecursionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConfusingPlusesOrMinusesJS", + "shortDescription": { + "text": "Confusing sequence of '+' or '-'" + }, + "fullDescription": { + "text": "Reports a suspicious combination of '+' or '-' characters in JavaScript code (for example, 'a+++b'. Such sequences are confusing, and their semantics may change through changes in the whitespace.", + "markdown": "Reports a suspicious combination of `+` or `-` characters in JavaScript code (for example, `a+++b`. Such sequences are confusing, and their semantics may change through changes in the whitespace." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConfusingPlusesOrMinusesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptConfig", + "shortDescription": { + "text": "Inconsistent tsconfig.json properties" + }, + "fullDescription": { + "text": "Reports inconsistency of a 'paths', 'checkJs', or 'extends' property in a tsconfig.json file. The 'checkJs' property requires 'allowJs'. The 'extends' property should be a valid file reference.", + "markdown": "Reports inconsistency of a `paths`, `checkJs`, or `extends` property in a tsconfig.json file. \nThe `checkJs` property requires `allowJs`. \nThe `extends` property should be a valid file reference." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptConfig", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OverlyComplexBooleanExpressionJS", + "shortDescription": { + "text": "Overly complex boolean expression" + }, + "fullDescription": { + "text": "Reports a boolean expression with too many terms. Such expressions may be confusing and bug-prone. Use the field below to specify the maximum number of terms allowed in an arithmetic expression.", + "markdown": "Reports a boolean expression with too many terms. Such expressions may be confusing and bug-prone.\n\n\nUse the field below to specify the maximum number of terms allowed in an arithmetic expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexBooleanExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OverlyComplexArithmeticExpressionJS", + "shortDescription": { + "text": "Overly complex arithmetic expression" + }, + "fullDescription": { + "text": "Reports an arithmetic expression with too many terms. Such expressions may be confusing and bug-prone. Use the field below to specify the maximum number of terms allowed in an arithmetic expression.", + "markdown": "Reports an arithmetic expression with too many terms. Such expressions may be confusing and bug-prone.\n\n\nUse the field below to specify the maximum number of terms allowed in an arithmetic expression." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexArithmeticExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicateConditionJS", + "shortDescription": { + "text": "Duplicate condition in 'if' statement" + }, + "fullDescription": { + "text": "Reports duplicate conditions in different branches of an 'if' statement. Duplicate conditions usually represent programmer oversight. Example: 'if (a) {\n ...\n } else if (a) {\n ...\n }'", + "markdown": "Reports duplicate conditions in different branches of an `if` statement. Duplicate conditions usually represent programmer oversight.\n\nExample:\n\n\n if (a) {\n ...\n } else if (a) {\n ...\n }\n\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DuplicateConditionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLabelJS", + "shortDescription": { + "text": "Unnecessary label" + }, + "fullDescription": { + "text": "Reports an unused label.", + "markdown": "Reports an unused label." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLabelJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InnerHTMLJS", + "shortDescription": { + "text": "Use of 'innerHTML' property" + }, + "fullDescription": { + "text": "Reports a JavaScript access to DOM nodes as text using the 'innerHTML' property. Most usages of 'innerHTML' are performed better with explicit DOM calls, such as 'getElementByID()' and 'createElement()'. Additionally, 'innerHTML' will not work with XML DOMs, including DOMs for XHTML if viewed as XML. This can lead to difficulties in diagnosing bugs.", + "markdown": "Reports a JavaScript access to DOM nodes as text using the `innerHTML` property. Most usages of `innerHTML` are performed better with explicit DOM calls, such as `getElementByID()` and `createElement()`. Additionally, `innerHTML` will not work with XML DOMs, including DOMs for XHTML if viewed as XML. This can lead to difficulties in diagnosing bugs." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InnerHTMLJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/DOM issues", + "index": 52, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6UnusedImports", + "shortDescription": { + "text": "Unused import" + }, + "fullDescription": { + "text": "Reports a redundant 'import' statement. This is usually the case if the imported symbols are not used in the source file. To avoid side-effects, consider using bare import 'import 'packageName'' instead of the regular one.", + "markdown": "Reports a redundant `import` statement. This is usually the case if the imported symbols are not used in the source file. To avoid side-effects, consider using bare import `import 'packageName'` instead of the regular one." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ES6UnusedImports", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 117, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSAssignmentUsedAsCondition", + "shortDescription": { + "text": "Assignment used as condition" + }, + "fullDescription": { + "text": "Reports an assignment that is used as the condition of an 'if', 'while', 'for', or 'do' statement. Although occasionally intended, this usage is confusing, and often indicates a typo (for example, '=' instead of '==').", + "markdown": "Reports an assignment that is used as the condition of an `if`, `while`, `for`, or `do` statement. Although occasionally intended, this usage is confusing, and often indicates a typo (for example, `=` instead of `==`)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSAssignmentUsedAsCondition", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 106, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ForLoopReplaceableByWhileJS", + "shortDescription": { + "text": "'for' loop may be replaced by 'while' loop" + }, + "fullDescription": { + "text": "Reports a 'for' loop that contains neither initialization nor an update component. Suggests replacing the loop with a simpler 'while' statement. Example: 'for(; exitCondition(); ) {\n process();\n }' After the quick-fix is applied the result looks like: 'while(exitCondition()) {\n process();\n }' Use the checkbox below if you wish this inspection to ignore for loops with trivial or non-existent conditions.", + "markdown": "Reports a `for` loop that contains neither initialization nor an update component. Suggests replacing the loop with a simpler `while` statement.\n\nExample:\n\n\n for(; exitCondition(); ) {\n process();\n }\n\nAfter the quick-fix is applied the result looks like:\n\n\n while(exitCondition()) {\n process();\n }\n\nUse the checkbox below if you wish this inspection to ignore **for** loops with trivial or non-existent conditions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ForLoopReplaceableByWhile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantConditionalExpressionJS", + "shortDescription": { + "text": "Constant conditional expression" + }, + "fullDescription": { + "text": "Reports a conditional expression in the format 'true? result1: result2' or 'false? result1: result2. Suggests simplifying the expression.'", + "markdown": "Reports a conditional expression in the format `true? result1: result2` or `false? result1: result2``.\nSuggests simplifying the expression.\n`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConstantConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NonBlockStatementBodyJS", + "shortDescription": { + "text": "Statement body without braces" + }, + "fullDescription": { + "text": "Reports a 'if', 'while', 'for', or 'with' statements whose body is not a block statement. Using code block in statement bodies is usually safer for downstream maintenance.", + "markdown": "Reports a `if`, `while`, `for`, or `with` statements whose body is not a block statement. Using code block in statement bodies is usually safer for downstream maintenance." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NonBlockStatementBodyJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSValidateJSDoc", + "shortDescription": { + "text": "Syntax errors and unresolved references in JSDoc" + }, + "fullDescription": { + "text": "Reports a syntax discrepancy in a documentation comment.", + "markdown": "Reports a syntax discrepancy in a documentation comment." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSValidateJSDoc", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FlowJSConfig", + "shortDescription": { + "text": "Missing .flowconfig" + }, + "fullDescription": { + "text": "Reports a JavaScript file with a '@flow' flag that doesn't have an associated '.flowconfig' file in the project.", + "markdown": "Reports a JavaScript file with a `@flow` flag that doesn't have an associated `.flowconfig` file in the project." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FlowJSConfig", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 13, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptValidateTypes", + "shortDescription": { + "text": "Type mismatch" + }, + "fullDescription": { + "text": "Reports a parameter, return value, or assigned expression of incorrect type.", + "markdown": "Reports a parameter, return value, or assigned expression of incorrect type." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptValidateTypes", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSObjectNullOrUndefined", + "shortDescription": { + "text": "Object is 'null' or 'undefined'" + }, + "fullDescription": { + "text": "Reports an error caused by invoking a method, accessing a property, or calling a function on an object that is 'undefined' or 'null'.", + "markdown": "Reports an error caused by invoking a method, accessing a property, or calling a function on an object that is `undefined` or `null`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSObjectNullOrUndefined", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PointlessArithmeticExpressionJS", + "shortDescription": { + "text": "Pointless arithmetic expression" + }, + "fullDescription": { + "text": "Reports an arithmetic expression that include adding or subtracting zero, multiplying by zero or one, division by one, and shift by zero. Such expressions may result from not fully completed automated refactoring.", + "markdown": "Reports an arithmetic expression that include adding or subtracting zero, multiplying by zero or one, division by one, and shift by zero. Such expressions may result from not fully completed automated refactoring." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PointlessArithmeticExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptSmartCast", + "shortDescription": { + "text": "Narrowed type" + }, + "fullDescription": { + "text": "Reports a usage of a variable where the variable type is narrowed by a type guard. Note that severity level doesn't affect this inspection.", + "markdown": "Reports a usage of a variable where the variable type is narrowed by a type guard. Note that severity level doesn't affect this inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptSmartCast", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSAccessibilityCheck", + "shortDescription": { + "text": "Inaccessible @private and @protected members referenced" + }, + "fullDescription": { + "text": "Reports a reference to a JavaScript member that is marked with a '@private' or '@protected' tag but does not comply with visibility rules that these tags imply.", + "markdown": "Reports a reference to a JavaScript member that is marked with a `@private` or `@protected` tag but does not comply with visibility rules that these tags imply." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSAccessibilityCheck", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionWithMultipleLoopsJS", + "shortDescription": { + "text": "Function with multiple loops" + }, + "fullDescription": { + "text": "Reports a function with multiple loop statements.", + "markdown": "Reports a function with multiple loop statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMultipleLoopsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 73, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NpmUsedModulesInstalled", + "shortDescription": { + "text": "Missing module dependency" + }, + "fullDescription": { + "text": "Reports a module from a 'require()' call or an 'import' statement that is not installed or is not listed in package.json dependencies. Suggests installing the module and/or including it into package.json. For 'require()' calls, works only in the files from the scope of Node.js Core JavaScript library.", + "markdown": "Reports a module from a `require()` call or an `import` statement that is not installed or is not listed in package.json dependencies.\n\nSuggests installing the module and/or including it into package.json.\n\nFor `require()` calls, works only in the files from the scope of *Node.js Core* JavaScript library." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "NpmUsedModulesInstalled", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 117, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FunctionNamingConventionJS", + "shortDescription": { + "text": "Function naming convention" + }, + "fullDescription": { + "text": "Reports a function whose name is too short, too long, or does not follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression for function names. Use the standard 'java.util.regex' format for regular expressions.", + "markdown": "Reports a function whose name is too short, too long, or does not follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nfor function names. Use the standard `java.util.regex` format for regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 103, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ObjectAllocationIgnoredJS", + "shortDescription": { + "text": "Result of object allocation ignored" + }, + "fullDescription": { + "text": "Reports object allocation where the result of the allocated object is ignored, for example, 'new Error();' as a statement, without any assignment. Such allocation expressions may indicate an odd object initialization strategy.", + "markdown": "Reports object allocation where the result of the allocated object is ignored, for example, `new Error();` as a statement, without any assignment. Such allocation expressions may indicate an odd object initialization strategy." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ObjectAllocationIgnored", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSHint", + "shortDescription": { + "text": "JSHint" + }, + "fullDescription": { + "text": "Reports a problem detected by the JSHint linter.", + "markdown": "Reports a problem detected by the [JSHint](https://jshint.com/) linter." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSHint", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 69, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ExceptionCaughtLocallyJS", + "shortDescription": { + "text": "Exception used for local control-flow" + }, + "fullDescription": { + "text": "Reports a 'throw' statement whose exceptions are always caught by the containing 'try' statement. Using 'throw' statements as a 'goto' to change the local flow of control is confusing.", + "markdown": "Reports a `throw` statement whose exceptions are always caught by the containing `try` statement. Using `throw` statements as a `goto` to change the local flow of control is confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ExceptionCaughtLocallyJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 96, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CyclomaticComplexityJS", + "shortDescription": { + "text": "Overly complex function" + }, + "fullDescription": { + "text": "Reports a function with too many branching points in a function (too high cyclomatic complexity). Such functions may be confusing and hard to test. Use the field provided below to specify the maximum acceptable cyclomatic complexity for a function.", + "markdown": "Reports a function with too many branching points in a function (too high cyclomatic complexity). Such functions may be confusing and hard to test.\n\n\nUse the field provided below to specify the maximum acceptable cyclomatic complexity for a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyComplexFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 73, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptJSXUnresolvedComponent", + "shortDescription": { + "text": "Unresolved JSX component" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a JSX component. Suggests adding an import statement if the referenced component is defined in the project or its dependencies or creating a new component with the specified name. The template for a new component can be modified in Editor | File and Code Templates.", + "markdown": "Reports an unresolved reference to a JSX component. Suggests adding an import statement if the referenced component is defined in the project or its dependencies or creating a new component with the specified name.\n\nThe template for a new component can be modified in Editor \\| File and Code Templates." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptJSXUnresolvedComponent", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnfilteredForInLoop", + "shortDescription": { + "text": "Unfiltered for..in loop" + }, + "fullDescription": { + "text": "Reports unfiltered 'for-in' loops. The use of this construct results in processing not only own properties of an object but properties from its prototype as well. It may be unexpected in some specific cases, for example, in utility methods that copy or modify all properties or when 'Object''s prototype may be incorrectly modified. For example, the following code will print 42 and myMethod: 'Object.prototype.myMethod = function myMethod() {};\nlet a = { foo: 42 };\nfor (let i in a) {\n console.log(a[i]);\n}' Suggests replacing the whole loop with a 'Object.keys()' method or adding a 'hasOwnProperty()' check. After applying the quick-fix the code looks as follows: 'for (let i in a) {\n if (a.hasOwnProperty(i)) {\n console.log(a[i]);\n }\n}'", + "markdown": "Reports unfiltered `for-in` loops. \n\nThe use of this construct results in processing not only own properties of an object but properties from its prototype as well. It may be unexpected in some specific cases, for example, in utility methods that copy or modify all properties or when `Object`'s prototype may be incorrectly modified. For example, the following code will print **42** and **myMethod** : \n\n\n Object.prototype.myMethod = function myMethod() {};\n let a = { foo: 42 };\n for (let i in a) {\n console.log(a[i]);\n }\n\nSuggests replacing the whole loop with a `Object.keys()` method or adding a `hasOwnProperty()` check. After applying the quick-fix the code looks as follows:\n\n\n for (let i in a) {\n if (a.hasOwnProperty(i)) {\n console.log(a[i]);\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnfilteredForInLoop", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSFunctionExpressionToArrowFunction", + "shortDescription": { + "text": "Function expression is used instead of arrow function" + }, + "fullDescription": { + "text": "Reports a function expression. Suggests converting it to an arrow function. Example: 'arr.map(function(el) {return el + 1})' After applying the quick-fix the code looks as follows: 'arr.map(el => el + 1)'", + "markdown": "Reports a [function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/function) expression. Suggests converting it to an [arrow function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/Arrow_functions).\n\nExample:\n\n arr.map(function(el) {return el + 1})\n\nAfter applying the quick-fix the code looks as follows:\n\n arr.map(el => el + 1)\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSFunctionExpressionToArrowFunction", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 50, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UpdateDependencyToLatestVersion", + "shortDescription": { + "text": "Update package.json dependencies to latest versions" + }, + "fullDescription": { + "text": "Suggests to upgrade your package.json dependencies to the latest versions, ignoring specified versions.", + "markdown": "Suggests to upgrade your package.json dependencies to the latest versions, ignoring specified versions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "UpdateDependencyToLatestVersion", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 117, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentResultUsedJS", + "shortDescription": { + "text": "Result of assignment used" + }, + "fullDescription": { + "text": "Reports an assignment expression where the result of the assignment is used in the containing expression. Such assignments often indicate coding errors, for example, '=' instead of '=='. Moreover, they can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways. Expressions in parentheses are ignored.", + "markdown": "Reports an assignment expression where the result of the assignment is used in the containing expression. Such assignments often indicate coding errors, for example, `=` instead of `==`. Moreover, they can result in confusion due to the order of operations, as evaluation of the assignment may affect the outer expression in unexpected ways.\n\nExpressions in parentheses are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentResultUsedJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 106, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConstantOnRHSOfComparisonJS", + "shortDescription": { + "text": "Constant on right side of comparison" + }, + "fullDescription": { + "text": "Reports a comparison operation with a constant in the right-hand side. According to coding conventions, constants should only be in the left-hand side of comparisons.", + "markdown": "Reports a comparison operation with a constant in the right-hand side. According to coding conventions, constants should only be in the left-hand side of comparisons." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConstantOnRightSideOfComparisonJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnnecessarySemicolon", + "shortDescription": { + "text": "Unnecessary semicolon" + }, + "fullDescription": { + "text": "Reports an unneeded semicolon.", + "markdown": "Reports an unneeded semicolon." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnnecessarySemicolon", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSSuspiciousEqPlus", + "shortDescription": { + "text": "Suspicious '=+' assignment" + }, + "fullDescription": { + "text": "Reports an assignment in the form 'a =+ b'. Suggests replacing with 'a += b'.", + "markdown": "Reports an assignment in the form `a =+ b`. Suggests replacing with `a += b`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSSuspiciousEqPlus", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnusedAssignment", + "shortDescription": { + "text": "Unused assignment" + }, + "fullDescription": { + "text": "Reports a variable whose value is never used after assignment. Suggests removing the unused variable to shorten the code and to avoid redundant allocations. The following cases are reported: A variable is never read after assignment. The value of a variable is always overwritten with another assignment before the variable is read next time. The initializer of a variable is redundant (for one of the above-mentioned reasons).", + "markdown": "Reports a variable whose value is never used after assignment. \nSuggests removing the unused variable to shorten the code and to avoid redundant allocations.\n\nThe following cases are reported:\n\n* A variable is never read after assignment.\n* The value of a variable is always overwritten with another assignment before the variable is read next time.\n* The initializer of a variable is redundant (for one of the above-mentioned reasons)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnusedAssignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unused symbols", + "index": 115, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConfusingFloatingPointLiteralJS", + "shortDescription": { + "text": "Confusing floating point literal" + }, + "fullDescription": { + "text": "Reports any floating point number that does not have a decimal point, or any numbers before the decimal point, or and numbers after the decimal point. Such literals may be confusing, and violate several coding standards.", + "markdown": "Reports any floating point number that does not have a decimal point, or any numbers before the decimal point, or and numbers after the decimal point. Such literals may be confusing, and violate several coding standards." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConfusingFloatingPointLiteralJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ContinueOrBreakFromFinallyBlockJS", + "shortDescription": { + "text": "'continue' or 'break' inside 'finally' block" + }, + "fullDescription": { + "text": "Reports a 'break' or 'continue' statement inside a 'finally' block. Such statements are very confusing, may hide exceptions, and complicate debugging.", + "markdown": "Reports a `break` or `continue` statement inside a `finally` block. Such statements are very confusing, may hide exceptions, and complicate debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ContinueOrBreakFromFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 96, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMethodCanBeStatic", + "shortDescription": { + "text": "Method can be made 'static'" + }, + "fullDescription": { + "text": "Reports a class method that can be safely made 'static'. A method can be 'static' if it does not reference any of its class' non-static methods and non-static fields and is not overridden in a subclass. Use the first checkbox below to inspect only 'private' methods.", + "markdown": "Reports a class method that can be safely made `static`. A method can be `static` if it does not reference any of its class' non-static methods and non-static fields and is not overridden in a subclass.\n\n\nUse the first checkbox below to inspect only `private` methods." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSMethodCanBeStatic", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUndeclaredVariable", + "shortDescription": { + "text": "Implicitly declared global JavaScript variable" + }, + "fullDescription": { + "text": "Reports an implicit declaration of a global variable. Example: 'var aaa = 1; // good\n bbb = 2; // bad, if bbb is not declared with 'var' somewhere'", + "markdown": "Reports an implicit declaration of a global variable.\n\nExample:\n\n\n var aaa = 1; // good\n bbb = 2; // bad, if bbb is not declared with 'var' somewhere\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUndeclaredVariable", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SillyAssignmentJS", + "shortDescription": { + "text": "Variable is assigned to itself" + }, + "fullDescription": { + "text": "Reports an assignment in the form 'x = x'.", + "markdown": "Reports an assignment in the form `x = x`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SillyAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 106, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptCheckImport", + "shortDescription": { + "text": "Unresolved imported name" + }, + "fullDescription": { + "text": "Reports an unresolved name or binding in an 'import' declaration in TypeScript code.", + "markdown": "Reports an unresolved name or binding in an `import` declaration in TypeScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptCheckImport", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InfiniteRecursionJS", + "shortDescription": { + "text": "Infinite recursion" + }, + "fullDescription": { + "text": "Reports a function which must either recurse infinitely or throw an exception. Such functions may not return normally.", + "markdown": "Reports a function which must either recurse infinitely or throw an exception. Such functions may not return normally." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InfiniteRecursionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMismatchedCollectionQueryUpdate", + "shortDescription": { + "text": "Mismatched query and update of collection" + }, + "fullDescription": { + "text": "Reports a collection of fields or variables whose contents are either queried and not updated or updated and not queried. Such mismatched queries and updates are pointless and may indicate either dead code or a typographical error. Query methods are automatically detected, based on whether they return something, or a callback is passed to them. Use the table below to specify which methods are update methods.", + "markdown": "Reports a collection of fields or variables whose contents are either queried and not updated or updated and not queried. Such mismatched queries and updates are pointless and may indicate either dead code or a typographical error.\n\n\nQuery methods are automatically detected, based on whether they return something, or a callback is passed to them.\nUse the table below to specify which methods are update methods." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSMismatchedCollectionQueryUpdate", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6PreferShortImport", + "shortDescription": { + "text": "Import can be shortened" + }, + "fullDescription": { + "text": "Reports an ES6 import whose 'from' part can be shortened. Suggests importing the parent directory.", + "markdown": "Reports an ES6 import whose `from` part can be shortened. Suggests importing the parent directory." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ES6PreferShortImport", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PointlessBitwiseExpressionJS", + "shortDescription": { + "text": "Bitwise expression can be simplified" + }, + "fullDescription": { + "text": "Reports an expression that includes 'and' with zero, 'or' by zero, or shifting by zero. Such expressions may result from not fully completed automated refactorings.", + "markdown": "Reports an expression that includes `and` with zero, `or` by zero, or shifting by zero. Such expressions may result from not fully completed automated refactorings." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PointlessBitwiseExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Bitwise operation issues", + "index": 16, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSStringConcatenationToES6Template", + "shortDescription": { + "text": "String concatenation is used instead of template literal" + }, + "fullDescription": { + "text": "Reports a string concatenation. Suggests replacing it with a template literal Example '\"result: \" + a + \".\"' After applying the quick-fix the code looks as follows: '`result: ${a}.`'", + "markdown": "Reports a string concatenation. Suggests replacing it with a [template literal](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals)\n\nExample\n\n \"result: \" + a + \".\" \n\nAfter applying the quick-fix the code looks as follows:\n\n `result: ${a}.` \n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSStringConcatenationToES6Template", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 50, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ReplaceAssignmentWithOperatorAssignmentJS", + "shortDescription": { + "text": "Assignment could be replaced with operator assignment" + }, + "fullDescription": { + "text": "Reports an assignment operation that can be replaced by an operator assignment to make your code shorter and probably clearer. Example: 'x = x + 3;'\n 'x = x / 3;'\n After the quick fix is applied the result looks like: 'x += 3;'\n 'x /= 3;'", + "markdown": "Reports an assignment operation that can be replaced by an operator assignment to make your code shorter and probably clearer.\n\n\nExample:\n\n x = x + 3;\n x = x / 3;\n\nAfter the quick fix is applied the result looks like:\n\n x += 3;\n x /= 3;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentReplaceableWithOperatorAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 106, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6DestructuringVariablesMerge", + "shortDescription": { + "text": "Destructuring properties with the same key" + }, + "fullDescription": { + "text": "Reports multiple destructuring properties with identical keys. Suggests merging the properties.", + "markdown": "Reports multiple destructuring properties with identical keys. Suggests merging the properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6DestructuringVariablesMerge", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptRedundantGenericType", + "shortDescription": { + "text": "Redundant type arguments" + }, + "fullDescription": { + "text": "Reports a type argument that is equal to the default one and can be removed. Example: 'type Foo = T;\nlet z: Foo;'", + "markdown": "Reports a type argument that is equal to the default one and can be removed.\n\n\nExample:\n\n\n type Foo = T;\n let z: Foo;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptRedundantGenericType", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSLastCommaInObjectLiteral", + "shortDescription": { + "text": "Unneeded last comma in object literal" + }, + "fullDescription": { + "text": "Reports usages of a trailing comma in object literals. The warning is reported only when the JavaScript language version is set to ECMAScript 5.1. Trailing commas in object literals are allowed by the specification, however, some browsers might throw an error when a trailing comma is used. You can configure formatting options for trailing commas in Code Style | JavaScript or TypeScript | Punctuation.", + "markdown": "Reports usages of a trailing comma in object literals.\n\nThe warning is reported only when the JavaScript language version is set to ECMAScript 5.1.\n\nTrailing commas in object literals are allowed by the specification, however, some browsers might throw an error when a trailing comma is used.\n\nYou can configure formatting options for trailing commas in **Code Style** \\| **JavaScript** or **TypeScript** \\| **Punctuation**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSLastCommaInObjectLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedAssignmentJS", + "shortDescription": { + "text": "Nested assignment" + }, + "fullDescription": { + "text": "Reports an assignment expression nested inside another expression, for example, 'a = b = 1'. Such expressions may be confusing and violate the general design principle that a given construct should do precisely one thing.", + "markdown": "Reports an assignment expression nested inside another expression, for example, `a = b = 1`. Such expressions may be confusing and violate the general design principle that a given construct should do precisely one thing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedAssignmentJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 106, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DefaultNotLastCaseInSwitchJS", + "shortDescription": { + "text": "'default' not last case in 'switch'" + }, + "fullDescription": { + "text": "Reports a 'switch' statement where the 'default' case comes before another case instead of being the very last case, which may cause confusion.", + "markdown": "Reports a `switch` statement where the `default` case comes before another case instead of being the very last case, which may cause confusion." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DefaultNotLastCaseInSwitchJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyFinallyBlockJS", + "shortDescription": { + "text": "Empty 'finally' block" + }, + "fullDescription": { + "text": "Reports an empty 'finally' block, which usually indicates an error.", + "markdown": "Reports an empty `finally` block, which usually indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyFinallyBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 96, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ForLoopThatDoesntUseLoopVariableJS", + "shortDescription": { + "text": "'for' loop where update or condition does not use loop variable" + }, + "fullDescription": { + "text": "Reports a 'for' loop where the condition or update does not use the 'for' loop variable.", + "markdown": "Reports a `for` loop where the condition or update does not use the `for` loop variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ForLoopThatDoesntUseLoopVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptAbstractClassConstructorCanBeMadeProtected", + "shortDescription": { + "text": "Abstract class constructor can be made protected" + }, + "fullDescription": { + "text": "Reports a public constructor of an abstract class and suggests making it protected (because it is useless to have it public).", + "markdown": "Reports a public constructor of an abstract class and suggests making it protected (because it is useless to have it public)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptAbstractClassConstructorCanBeMadeProtected", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThreeNegationsPerFunctionJS", + "shortDescription": { + "text": "Function with more than three negations" + }, + "fullDescription": { + "text": "Reports a function with three or more negation operations ('!' or '!='). Such functions may be unnecessarily confusing.", + "markdown": "Reports a function with three or more negation operations (`!` or `!=`). Such functions may be unnecessarily confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "FunctionWithMoreThanThreeNegationsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 73, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TrivialIfJS", + "shortDescription": { + "text": "Redundant 'if' statement" + }, + "fullDescription": { + "text": "Reports an 'if' statement that can be simplified to a single assignment or a 'return' statement. Example: 'if(foo())\n {\n return true;\n }\n else\n {\n return false;\n }' After applying the quick-fix the code looks as follows: 'return foo();'", + "markdown": "Reports an `if` statement that can be simplified to a single assignment or a `return` statement.\n\nExample:\n\n\n if(foo())\n {\n return true;\n }\n else\n {\n return false;\n }\n\nAfter applying the quick-fix the code looks as follows:\n\n return foo();\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantIfStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnterminatedStatementJS", + "shortDescription": { + "text": "Unterminated statement" + }, + "fullDescription": { + "text": "Reports a statement without a semicolon or a newline at the end. Select the 'Terminate statements with semicolons' option in Editor | Code Style | JavaScript or TypeScript - Punctuation to report any statement that doesn't end with a semicolon, even if a newline is used. According to some coding styles, semicolons are preferred to line-breaks for consistency with the other languages.", + "markdown": "Reports a statement without a semicolon or a newline at the end.\n\nSelect the 'Terminate statements with semicolons' option in *Editor \\| Code Style \\| JavaScript or TypeScript - Punctuation* to report any statement that doesn't end with a semicolon, even if a newline is used.\nAccording to some coding styles, semicolons are preferred to line-breaks for consistency with the other languages." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnterminatedStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnreachableSwitchBranches", + "shortDescription": { + "text": "Unreachable 'case' branch of a 'switch' statement" + }, + "fullDescription": { + "text": "Reports an unreachable 'case' branch of a 'switch' statement. Example: '/**\n * @param {('foo' | 'bar')} p\n */\nfunction foo(p) {\n switch (p) {\n case 'foo': break;\n case 'bar': break;\n case 'baz': break; // unreachable\n }\n}'", + "markdown": "Reports an unreachable `case` branch of a `switch` statement.\n\nExample:\n\n\n /**\n * @param {('foo' | 'bar')} p\n */\n function foo(p) {\n switch (p) {\n case 'foo': break;\n case 'bar': break;\n case 'baz': break; // unreachable\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnreachableSwitchBranches", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TrivialConditionalJS", + "shortDescription": { + "text": "Redundant conditional expression" + }, + "fullDescription": { + "text": "Reports a conditional expression of the form 'condition ? true : false\ncondition ? false : true' These expressions may be safely converted to 'condition\n!condition'", + "markdown": "Reports a conditional expression of the form\n\n\n condition ? true : false\n condition ? false : true\n\n\nThese expressions may be safely converted to\n\n\n condition\n !condition\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSTestFailedLine", + "shortDescription": { + "text": "Highlight failure line in test code" + }, + "fullDescription": { + "text": "Reports a failed method call or an assertion in a test.", + "markdown": "Reports a failed method call or an assertion in a test." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSTestFailedLine", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unit testing", + "index": 126, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IfStatementWithTooManyBranchesJS", + "shortDescription": { + "text": "'if' statement with too many branches" + }, + "fullDescription": { + "text": "Reports an 'if' statement with too many branches. Such statements may be confusing, and often indicate inadequate levels of design abstraction. Use the field below to specify the maximum number of branches expected.", + "markdown": "Reports an `if` statement with too many branches. Such statements may be confusing, and often indicate inadequate levels of design abstraction.\n\n\nUse the field below to specify the maximum number of branches expected." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IfStatementWithTooManyBranchesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BreakStatementJS", + "shortDescription": { + "text": "'break' statement" + }, + "fullDescription": { + "text": "Reports a 'break' statements. Ignores 'break' statements that end case blocks.", + "markdown": "Reports a `break` statements. Ignores `break` statements that end case blocks." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "BreakStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DebuggerStatementJS", + "shortDescription": { + "text": "'debugger' statement" + }, + "fullDescription": { + "text": "Reports a 'debugger' statement used for interaction with the Javascript debuggers. Such statements should not appear in production code.", + "markdown": "Reports a `debugger` statement used for interaction with the Javascript debuggers. Such statements should not appear in production code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DebuggerStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AssignmentToForLoopParameterJS", + "shortDescription": { + "text": "Assignment to 'for' loop parameter" + }, + "fullDescription": { + "text": "Reports an assignment to a variable declared as a 'for' loop parameter. Although occasionally intended, this construct can be extremely confusing, and is often a result of an error.", + "markdown": "Reports an assignment to a variable declared as a `for` loop parameter. Although occasionally intended, this construct can be extremely confusing, and is often a result of an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AssignmentToForLoopParameterJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Assignment issues", + "index": 106, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ConditionalExpressionJS", + "shortDescription": { + "text": "Conditional expression" + }, + "fullDescription": { + "text": "Reports a ternary conditional expression. Some coding standards prohibit such expressions in favor of explicit 'if' statements.", + "markdown": "Reports a ternary conditional expression. Some coding standards prohibit such expressions in favor of explicit `if` statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PointlessBooleanExpressionJS", + "shortDescription": { + "text": "Pointless statement or boolean expression" + }, + "fullDescription": { + "text": "Reports a pointless or pointlessly complicated boolean expression or statement. Example: 'let a = !(false && x);\n let b = false || x;' After the quick fix is applied the result looks like: 'let a = true;\n let b = x;'", + "markdown": "Reports a pointless or pointlessly complicated boolean expression or statement.\n\nExample:\n\n\n let a = !(false && x);\n let b = false || x;\n\nAfter the quick fix is applied the result looks like:\n\n\n let a = true;\n let b = x;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PointlessBooleanExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUrlImportUsage", + "shortDescription": { + "text": "URL import is used" + }, + "fullDescription": { + "text": "Checks used URL imports in the JavaScript language. Suggests downloading the module for the specified remote URL. Such association enables the IDE to provide proper code completion and navigation. URLs in import specifiers are supported only for ECMAScript modules in the JavaScript language.", + "markdown": "Checks used URL imports in the JavaScript language. Suggests downloading the module for the specified remote URL. Such association enables the IDE to provide proper code completion and navigation. \n\nURLs in import specifiers are supported only for ECMAScript modules in the JavaScript language." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUrlImportUsage", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 117, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLabelOnContinueStatementJS", + "shortDescription": { + "text": "Unnecessary label on 'continue' statement" + }, + "fullDescription": { + "text": "Reports a labeled 'continue' statement whose labels may be removed without changing the flow of control.", + "markdown": "Reports a labeled `continue` statement whose labels may be removed without changing the flow of control." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLabelOnContinueStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPotentiallyInvalidTargetOfIndexedPropertyAccess", + "shortDescription": { + "text": "Possibly incorrect target of indexed property access" + }, + "fullDescription": { + "text": "Reports a potentially invalid indexed property access, for example, 'Array[1]'.", + "markdown": "Reports a potentially invalid indexed property access, for example, `Array[1]`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPotentiallyInvalidTargetOfIndexedPropertyAccess", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSTypeOfValues", + "shortDescription": { + "text": "'typeof' comparison with non-standard value" + }, + "fullDescription": { + "text": "Reports a comparison of a 'typeof' expression with a literal string which is not one of the standard types: 'undefined', 'object', 'boolean', 'number', 'string', 'function', or 'symbol'. Such comparisons always return 'false'.", + "markdown": "Reports a comparison of a `typeof` expression with a literal string which is not one of the standard types: `undefined`, `object`, `boolean`, `number`, `string`, `function`, or `symbol`. Such comparisons always return `false`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSTypeOfValues", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XHTMLIncompatabilitiesJS", + "shortDescription": { + "text": "Incompatible XHTML usages" + }, + "fullDescription": { + "text": "Reports common JavaScript DOM patterns which may present problems with XHTML documents. In particular, the patterns detected will behave completely differently depending on whether the document is loaded as XML or HTML. This can result in subtle bugs where script behaviour is dependent on the MIME-type of the document, rather than its content. Patterns detected include document.body, document.images, document.applets, document.links, document.forms, and document.anchors.", + "markdown": "Reports common JavaScript DOM patterns which may present problems with XHTML documents. In particular, the patterns detected will behave completely differently depending on whether the document is loaded as XML or HTML. This can result in subtle bugs where script behaviour is dependent on the MIME-type of the document, rather than its content. Patterns detected include **document.body** , **document.images** , **document.applets** , **document.links** , **document.forms** , and **document.anchors**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XHTMLIncompatabilitiesJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/DOM issues", + "index": 52, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSAnnotator", + "shortDescription": { + "text": "ECMAScript specification is not followed" + }, + "fullDescription": { + "text": "Reports basic syntax issues and inconsistencies with language specification, such as invalid usages of keywords, usages of incompatible numeric format, or multiple parameters to getters/setters. Generally, such errors must always be reported and shouldn't be disabled. But in some cases, such as issues due to the dynamic nature of JavaScript, the use of not yet supported language features, or bugs in IDE's checker, it may be handy to disable reporting these very basic errors.", + "markdown": "Reports basic syntax issues and inconsistencies with language specification, such as invalid usages of keywords, usages of incompatible numeric format, or multiple parameters to getters/setters. \nGenerally, such errors must always be reported and shouldn't be disabled. But in some cases, such as issues due to the dynamic nature of JavaScript, the use of not yet supported language features, or bugs in IDE's checker, it may be handy to disable reporting these very basic errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSAnnotator", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6ConvertToForOf", + "shortDescription": { + "text": "'for..in' is used instead of 'for..of'" + }, + "fullDescription": { + "text": "Reports a usage of a 'for..in' loop on an array. Suggests replacing it with a 'for..of' loop. 'for..of' loops, which are introduced in ECMAScript 6, iterate over 'iterable' objects. For arrays, this structure is preferable to 'for..in', because it works only with array values but not with array object's properties.", + "markdown": "Reports a usage of a [for..in](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in) loop on an array. Suggests replacing it with a [for..of](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of) loop. \n`for..of` loops, which are introduced in ECMAScript 6, iterate over `iterable` objects. For arrays, this structure is preferable to `for..in`, because it works only with array values but not with array object's properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6ConvertToForOf", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/ES2015 migration aids", + "index": 50, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ThisExpressionReferencesGlobalObjectJS", + "shortDescription": { + "text": "'this' expression which references the global object" + }, + "fullDescription": { + "text": "Reports a 'this' expression outside an object literal or a constructor body. Such 'this' expressions reference the top-level \"global\" JavaScript object, but are mostly useless.", + "markdown": "Reports a `this` expression outside an object literal or a constructor body. Such `this` expressions reference the top-level \"global\" JavaScript object, but are mostly useless." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ThisExpressionReferencesGlobalObjectJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 21, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedFunctionCallJS", + "shortDescription": { + "text": "Nested function call" + }, + "fullDescription": { + "text": "Reports a function call that is used as an argument in another function call, for example, 'foo(bar())'", + "markdown": "Reports a function call that is used as an argument in another function call, for example, `foo(bar())`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedFunctionCallJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSEqualityComparisonWithCoercion", + "shortDescription": { + "text": "Equality operator may cause type coercion" + }, + "fullDescription": { + "text": "Reports a usage of an equality operator that may cause unexpected type coercions. Suggests replacing '==' and '!=' with type-safe equality operators '===' and '!=='. Depending on the option selected, one of the following cases will be reported: All usages of '==' and '!=' operators. All usages except comparison with null. Some code styles allow using 'x == null' as a replacement for 'x === null || x === undefined'. Only suspicious expressions, such as: '==' or '!=' comparisons with '0', '''', 'null', 'true', 'false', or 'undefined'.", + "markdown": "Reports a usage of an equality operator that may cause unexpected type coercions. Suggests replacing `==` and `!=` with type-safe equality operators `===` and `!==`.\n\nDepending on the option selected, one of the following cases will be reported:\n\n* All usages of `==` and `!=` operators.\n* All usages except comparison with null. Some code styles allow using `x == null` as a replacement for `x === null || x === undefined`.\n* Only suspicious expressions, such as: `==` or `!=` comparisons with `0`, `''`, `null`, `true`, `false`, or `undefined`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EqualityComparisonWithCoercionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSNonStrictModeUsed", + "shortDescription": { + "text": "Non-strict mode used" + }, + "fullDescription": { + "text": "Reports a JavaScript file that is not in the 'strict' mode.", + "markdown": "Reports a JavaScript file that is not in the `strict` mode." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSNonStrictModeUsed", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptExplicitMemberType", + "shortDescription": { + "text": "Explicit types" + }, + "fullDescription": { + "text": "Reports a type annotation that doesn't match the current code style for explicit types. Type declarations are not necessary when the type that is inferred from the context exactly matches the type annotation, for example: 'var pi: number = 3.14' In some cases it is preferable to always have explicit types - this prevents accidental type changes and makes code more explicit.", + "markdown": "Reports a type annotation that doesn't match the current code style for explicit types.\n\n\nType declarations are not necessary when the type that is inferred from the context exactly matches the type annotation, for example:\n\n\n var pi: number = 3.14\n\nIn some cases it is preferable to always have explicit types - this prevents accidental type changes and makes code more explicit." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptExplicitMemberType", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDuplicateCaseLabel", + "shortDescription": { + "text": "Duplicate 'case' label" + }, + "fullDescription": { + "text": "Reports a duplicated 'case' label on a 'switch' statement, which normally indicates an error.", + "markdown": "Reports a duplicated `case` label on a `switch` statement, which normally indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSDuplicateCaseLabel", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXDomNesting", + "shortDescription": { + "text": "Invalid DOM element nesting" + }, + "fullDescription": { + "text": "Detects HTML elements in JSX files which are not nested properly according to the DOM specification. React reports runtime warnings on incorrectly nested elements.", + "markdown": "Detects HTML elements in JSX files which are not nested properly according to the DOM specification. React reports runtime warnings on incorrectly nested elements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSXDomNesting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/React", + "index": 142, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLocalVariableJS", + "shortDescription": { + "text": "Redundant local variable" + }, + "fullDescription": { + "text": "Reports an unnecessary local variable that does not make a function more comprehensible: a local variable that is immediately returned a local variable that is immediately assigned to another variable and is not used anymore a local variable that always has the same value as another local variable or parameter. Use the checkbox below to have this inspection ignore variables that are immediately returned or thrown. Some coding styles suggest using such variables for clarity and ease of debugging.", + "markdown": "Reports an unnecessary local variable that does not make a function more comprehensible:\n\n* a local variable that is immediately returned\n* a local variable that is immediately assigned to another variable and is not used anymore\n* a local variable that always has the same value as another local variable or parameter.\n\n\nUse the checkbox below to have this inspection ignore variables that are immediately\nreturned or thrown. Some coding styles suggest using such variables for clarity and\nease of debugging." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLocalVariableJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Data flow", + "index": 110, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSXUnresolvedComponent", + "shortDescription": { + "text": "Unresolved JSX component" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a JSX component. Suggests adding a missing import statement if the referenced component is defined in the project or its dependencies or creating a new component with this name. The template for a new component can be modified in Editor | File and Code Templates.", + "markdown": "Reports an unresolved reference to a JSX component. Suggests adding a missing import statement if the referenced component is defined in the project or its dependencies or creating a new component with this name.\n\nThe template for a new component can be modified in Editor \\| File and Code Templates." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSXUnresolvedComponent", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnnecessaryLabelOnBreakStatementJS", + "shortDescription": { + "text": "Unnecessary label on 'break' statement" + }, + "fullDescription": { + "text": "Reports a labeled 'break' statement whose labels may be removed without changing the flow of control.", + "markdown": "Reports a labeled `break` statement whose labels may be removed without changing the flow of control." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnnecessaryLabelOnBreakStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DivideByZeroJS", + "shortDescription": { + "text": "Division by zero" + }, + "fullDescription": { + "text": "Reports division by zero or a remainder by zero.", + "markdown": "Reports division by zero or a remainder by zero." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DivideByZeroJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ChainedEqualityJS", + "shortDescription": { + "text": "Chained equality" + }, + "fullDescription": { + "text": "Reports a chained equality comparison (i.e. 'a==b==c'). Such comparisons are confusing.", + "markdown": "Reports a chained equality comparison (i.e. `a==b==c`). Such comparisons are confusing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ChainedEqualityComparisonsJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSRedundantSwitchStatement", + "shortDescription": { + "text": "'switch' statement is redundant and can be replaced" + }, + "fullDescription": { + "text": "Reports a 'switch' statement with an empty body, or with only one 'case' branch, or with a 'default' branch only.", + "markdown": "Reports a `switch` statement with an empty body, or with only one `case` branch, or with a `default` branch only." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSRedundantSwitchStatement", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "BlockStatementJS", + "shortDescription": { + "text": "Unnecessary block statement" + }, + "fullDescription": { + "text": "Reports a block statement that is not used as the body of 'if', 'for', 'while', 'do', 'with', or 'try' statements, or as the body of a function declaration. Starting from ECMAScript 6, JavaScript blocks introduce new scopes for 'let' and 'const' variables, but still free-standing block statements may be confusing and result in subtle bugs when used with 'var' variables.", + "markdown": "Reports a block statement that is not used as the body of `if`, `for`, `while`, `do`, `with`, or `try` statements, or as the body of a function declaration. Starting from ECMAScript 6, JavaScript blocks introduce new scopes for `let` and `const` variables, but still free-standing block statements may be confusing and result in subtle bugs when used with `var` variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "BlockStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TextLabelInSwitchStatementJS", + "shortDescription": { + "text": "Text label in 'switch' statement" + }, + "fullDescription": { + "text": "Reports a labeled statement inside a 'switch' statement, which often results from a typo. Example: 'switch(x)\n {\n case 1:\n case2: //typo!\n case 3:\n break;\n }'", + "markdown": "Reports a labeled statement inside a `switch` statement, which often results from a typo.\n\nExample:\n\n\n switch(x)\n {\n case 1:\n case2: //typo!\n case 3:\n break;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TextLabelInSwitchStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSOctalInteger", + "shortDescription": { + "text": "Octal integer" + }, + "fullDescription": { + "text": "Reports a deprecated octal integer literal prefixed with '0' instead of '0o'. Such literals are not allowed in modern ECMAScript code, and using them in the strict mode is an error. To force this inspection for ES5 and ES3 language levels, select the 'Warn about obsolete octal literals in ES5- code' checkbox below.", + "markdown": "Reports a deprecated octal integer literal prefixed with `0` instead of `0o`. \nSuch literals are not allowed in modern ECMAScript code, and using them in the strict mode is an error. \nTo force this inspection for ES5 and ES3 language levels, select the 'Warn about obsolete octal literals in ES5- code' checkbox below." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSOctalInteger", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 21, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyTryBlockJS", + "shortDescription": { + "text": "Empty 'try' block" + }, + "fullDescription": { + "text": "Reports an empty 'try' block, which usually indicates an error.", + "markdown": "Reports an empty `try` block, which usually indicates an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EmptyTryBlockJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Try statement issues", + "index": 96, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "FlowJSCoverage", + "shortDescription": { + "text": "Code is not covered by Flow" + }, + "fullDescription": { + "text": "Reports JavaScript code fragments that are not covered by the Flow type checker. To use this inspection, configure the Flow executable in Settings | Languages & Frameworks | JavaScript.", + "markdown": "Reports JavaScript code fragments that are not covered by the Flow type checker. To use this inspection, configure the Flow executable in [Settings \\| Languages \\& Frameworks \\| JavaScript](settings://Settings.JavaScript)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "FlowJSCoverage", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Flow type checker", + "index": 13, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSIgnoredPromiseFromCall", + "shortDescription": { + "text": "Result of method call returning a promise is ignored" + }, + "fullDescription": { + "text": "Reports a function call that returns a 'Promise' that is not used later. Such calls are usually unintended and indicate an error.", + "markdown": "Reports a function call that returns a `Promise` that is not used later. Such calls are usually unintended and indicate an error." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSIgnoredPromiseFromCall", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Async code and promises", + "index": 102, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StringLiteralBreaksHTMLJS", + "shortDescription": { + "text": "String literal which breaks HTML parsing" + }, + "fullDescription": { + "text": "Reports a string literal that contains a ' for the complete list." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NodeCoreCodingAssistance", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Node.js", + "index": 150, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSPrimitiveTypeWrapperUsage", + "shortDescription": { + "text": "Primitive type object wrapper used" + }, + "fullDescription": { + "text": "Reports an improper usage of a wrapper for primitive types or a property of a primitive type being modified, as in the latter case the assigned value will be lost.", + "markdown": "Reports an improper usage of a wrapper for primitive types or a property of a primitive type being modified, as in the latter case the assigned value will be lost." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSPrimitiveTypeWrapperUsage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSLastCommaInArrayLiteral", + "shortDescription": { + "text": "Unneeded last comma in array literal" + }, + "fullDescription": { + "text": "Reports a usage of a trailing comma in an array literal. The warning is reported only when the JavaScript language version is set to ECMAScript 5.1. Although trailing commas in arrays are allowed by the specification, some browsers may throw an error when a trailing comma is used. You can configure formatting options for trailing commas in Code Style | JavaScript or TypeScript | Punctuation.", + "markdown": "Reports a usage of a trailing comma in an array literal.\n\nThe warning is reported only when the JavaScript language version is set to ECMAScript 5.1.\n\nAlthough trailing commas in arrays are allowed by the specification, some browsers may throw an error when a trailing comma is used.\n\nYou can configure formatting options for trailing commas in **Code Style** \\| **JavaScript** or **TypeScript** \\| **Punctuation**." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSLastCommaInArrayLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NegatedConditionalExpressionJS", + "shortDescription": { + "text": "Negated conditional expression" + }, + "fullDescription": { + "text": "Reports a conditional expression whose condition is negated. Suggests flipping the order of branches in the conditional expression to increase the clarity of the statement. Example: '!condition ? 2 : 1'", + "markdown": "Reports a conditional expression whose condition is negated. Suggests flipping the order of branches in the conditional expression to increase the clarity of the statement. Example: `!condition ? 2 : 1`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NegatedConditionalExpressionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LabeledStatementJS", + "shortDescription": { + "text": "Labeled statement" + }, + "fullDescription": { + "text": "Reports a labeled statement.", + "markdown": "Reports a labeled statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LabeledStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WithStatementJS", + "shortDescription": { + "text": "'with' statement" + }, + "fullDescription": { + "text": "Reports a 'with' statements. Such statements result in potentially confusing implicit bindings, and may behave strangely in setting new variables.", + "markdown": "Reports a `with` statements. Such statements result in potentially confusing implicit bindings, and may behave strangely in setting new variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "WithStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially undesirable code constructs", + "index": 30, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSConstantReassignment", + "shortDescription": { + "text": "Attempt to assign to const or readonly variable" + }, + "fullDescription": { + "text": "Reports reassigning a value to a constant or a readonly variable.", + "markdown": "Reports reassigning a value to a constant or a readonly variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JSConstantReassignment", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Validity issues", + "index": 21, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MagicNumberJS", + "shortDescription": { + "text": "Magic number" + }, + "fullDescription": { + "text": "Reports a \"magic number\" that is a numeric literal used without being named by a constant declaration. Magic numbers can result in code whose intention is unclear, and may result in errors if a magic number is changed in one code location but remains unchanged in another. The numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 1000, 0.0 and 1.0 are ignored.", + "markdown": "Reports a \"magic number\" that is a numeric literal used without being named by a constant declaration. Magic numbers can result in code whose intention is unclear, and may result in errors if a magic number is changed in one code location but remains unchanged in another. The numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 1000, 0.0 and 1.0 are ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MagicNumberJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptLibrary", + "shortDescription": { + "text": "Missing global library" + }, + "fullDescription": { + "text": "Reports a TypeScript library file that is required for a symbol but is not listed under the 'lib' compiler option in 'tsconfig.json'.", + "markdown": "Reports a TypeScript library file that is required for a symbol but is not listed under the `lib` compiler option in `tsconfig.json`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "TypeScriptLibrary", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptMissingAugmentationImport", + "shortDescription": { + "text": "Missing augmentation import" + }, + "fullDescription": { + "text": "Reports a usage from augmentation module without an explicit import.", + "markdown": "Reports a usage from [augmentation module](https://www.typescriptlang.org/docs/handbook/declaration-merging.html#module-augmentation) without an explicit import." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TypeScriptMissingAugmentationImport", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Eslint", + "shortDescription": { + "text": "ESLint" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the ESLint linter. The highlighting is based on the rule severity specified in the ESLint configuration file for each individual rule. Clear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all ESLint rules.", + "markdown": "Reports a discrepancy detected by the [ESLint](https://eslint.org) linter. \n\nThe highlighting is based on the rule severity specified in the [ESLint configuration file](https://eslint.org/docs/user-guide/configuring) for each individual rule. \n\nClear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all ESLint rules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "Eslint", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 69, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSEqualityComparisonWithCoercion.TS", + "shortDescription": { + "text": "Equality operator may cause type coercion" + }, + "fullDescription": { + "text": "Reports a usage of equality operators may cause unexpected type coercions. Suggests replacing '==' or '!=' equality operators with type-safe '===' or '!==' operators. Depending on the option selected, one of the following cases will be reported: All usages of '==' and '!=' operators. All usages except comparison with null. Some code styles allow using 'x == null' as a replacement for 'x === null || x === undefined'. Only suspicious expressions, such as: '==' or '!=' comparisons with '0', '''', 'null', 'true', 'false', or 'undefined'.", + "markdown": "Reports a usage of equality operators may cause unexpected type coercions. Suggests replacing `==` or `!=` equality operators with type-safe `===` or `!==` operators.\n\nDepending on the option selected, one of the following cases will be reported:\n\n* All usages of `==` and `!=` operators.\n* All usages except comparison with null. Some code styles allow using `x == null` as a replacement for `x === null || x === undefined`.\n* Only suspicious expressions, such as: `==` or `!=` comparisons with `0`, `''`, `null`, `true`, `false`, or `undefined`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EqualityComparisonWithCoercionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PackageJsonMismatchedDependency", + "shortDescription": { + "text": "Mismatched dependencies in package.json" + }, + "fullDescription": { + "text": "Reports a dependency from package.json that is not installed or doesn't match the specified version range.", + "markdown": "Reports a dependency from package.json that is not installed or doesn't match the specified [version range](https://docs.npmjs.com/about-semantic-versioning)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PackageJsonMismatchedDependency", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Imports and dependencies", + "index": 117, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "InfiniteLoopJS", + "shortDescription": { + "text": "Infinite loop statement" + }, + "fullDescription": { + "text": "Reports a 'for', 'while', or 'do' statement which can only exit by throwing an exception. Such statements often indicate coding errors.", + "markdown": "Reports a `for`, `while`, or `do` statement which can only exit by throwing an exception. Such statements often indicate coding errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "InfiniteLoopJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Probable bugs", + "index": 84, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSArrowFunctionBracesCanBeRemoved", + "shortDescription": { + "text": "Redundant braces around arrow function body" + }, + "fullDescription": { + "text": "Reports an arrow function whose body only consists of braces and exactly one statement. Suggests converting to concise syntax without braces. 'let incrementer = (x) => {return x + 1};' After the quick-fix is applied, the code fragment looks as follows: 'let incrementer = (x) => x + 1;'", + "markdown": "Reports an arrow function whose body only consists of braces and exactly one statement. Suggests converting to concise syntax without braces.\n\n\n let incrementer = (x) => {return x + 1};\n\nAfter the quick-fix is applied, the code fragment looks as follows:\n\n\n let incrementer = (x) => x + 1;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSArrowFunctionBracesCanBeRemoved", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSClassNamingConvention", + "shortDescription": { + "text": "Class naming convention" + }, + "fullDescription": { + "text": "Reports a class or a function that is annotated with a JSDoc '@constructor' or '@class' tag whose names are too short, too long, or do not follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression expected for classes names. Use the standard 'java.util.regex' format for regular expressions.", + "markdown": "Reports a class or a function that is annotated with a JSDoc `@constructor` or `@class` tag whose names are too short, too long, or do not follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nexpected for classes names. Use the standard `java.util.regex` format for regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSClassNamingConvention", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 103, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUndefinedPropertyAssignment", + "shortDescription": { + "text": "Undefined property assignment" + }, + "fullDescription": { + "text": "Reports an assignment to a property that is not defined in the type of a variable. Example: '/**\n * @type {{ property1: string, property2: number }}\n */\nlet myVariable = create();\n\nmyVariable.newProperty = 3; // bad'", + "markdown": "Reports an assignment to a property that is not defined in the type of a variable.\n\nExample:\n\n\n /**\n * @type {{ property1: string, property2: number }}\n */\n let myVariable = create();\n\n myVariable.newProperty = 3; // bad\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSUndefinedPropertyAssignment", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code style issues", + "index": 76, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSDeprecatedSymbols", + "shortDescription": { + "text": "Deprecated symbol used" + }, + "fullDescription": { + "text": "Reports a usage of a deprecated function variable.", + "markdown": "Reports a usage of a deprecated function variable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSDeprecatedSymbols", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LocalVariableNamingConventionJS", + "shortDescription": { + "text": "Local variable naming convention" + }, + "fullDescription": { + "text": "Reports a local variable whose name is too short, too long, or doesn't follow the specified regular expression pattern. Use the fields provided below to specify minimum length, maximum length, and a regular expression expected for local variables names. Use the standard 'java.util.regex' format regular expressions.", + "markdown": "Reports a local variable whose name is too short, too long, or doesn't follow the specified regular expression pattern.\n\n\nUse the fields provided below to specify minimum length, maximum length, and a regular expression\nexpected for local variables names. Use the standard `java.util.regex` format regular expressions." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LocalVariableNamingConventionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Naming conventions", + "index": 103, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnresolvedExtXType", + "shortDescription": { + "text": "Unresolved Ext JS xtype" + }, + "fullDescription": { + "text": "Reports an Ext JS 'xtype' reference that doesn't have a corresponding class.", + "markdown": "Reports an Ext JS `xtype` reference that doesn't have a corresponding class." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnresolvedExtXType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ES6RedundantNestingInTemplateLiteral", + "shortDescription": { + "text": "Redundant nesting in template literal" + }, + "fullDescription": { + "text": "Reports nested instances of a string or a template literal. Suggests inlining the nested instances into the containing template string. Example: 'let a = `Hello, ${`Brave ${\"New\"}`} ${\"World\"}!`' After applying the quick-fix the code looks as follows: 'let a = `Hello, Brave New World!`'", + "markdown": "Reports nested instances of a string or a template literal. Suggests inlining the nested instances into the containing template string.\n\nExample:\n\n\n let a = `Hello, ${`Brave ${\"New\"}`} ${\"World\"}!`\n\nAfter applying the quick-fix the code looks as follows:\n\n\n let a = `Hello, Brave New World!`\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ES6RedundantNestingInTemplateLiteral", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestingDepthJS", + "shortDescription": { + "text": "Overly nested function" + }, + "fullDescription": { + "text": "Reports a function whose body contains statements that are too deeply nested within other statements. Such functions may be confusing and indicate that refactoring may be necessary. Use the field provided below to specify the maximum acceptable nesting depth allowed in a function.", + "markdown": "Reports a function whose body contains statements that are too deeply nested within other statements. Such functions may be confusing and indicate that refactoring may be necessary.\n\n\nUse the field provided below to specify the maximum acceptable nesting depth allowed in a function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "OverlyNestedFunctionJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Function metrics", + "index": 73, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TypeScriptSuspiciousConstructorParameterAssignment", + "shortDescription": { + "text": "Assigned constructor field parameter" + }, + "fullDescription": { + "text": "Reports a common mistake in TypeScript code, when a class field is declared as a constructor parameter, and then this parameter is assigned. In this case, the corresponding field won't be assigned, only the local parameter value is modified. 'class Foo {\n constructor(private p: number) {\n p = 1; //must be this.p = 1;\n }\n}'", + "markdown": "Reports a common mistake in TypeScript code, when a class field is declared as a constructor parameter, and then this parameter is assigned. \nIn this case, the corresponding field *won't* be assigned, only the local parameter value is modified.\n\n\n class Foo {\n constructor(private p: number) {\n p = 1; //must be this.p = 1;\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TypeScriptSuspiciousConstructorParameterAssignment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/TypeScript", + "index": 55, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "NestedSwitchStatementJS", + "shortDescription": { + "text": "Nested 'switch' statement" + }, + "fullDescription": { + "text": "Reports a 'switch' statement that is nested in another 'switch' statement. Nested 'switch' statements may be very confusing, particularly if indenting is inconsistent.", + "markdown": "Reports a `switch` statement that is nested in another `switch` statement. Nested `switch` statements may be very confusing, particularly if indenting is inconsistent." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "NestedSwitchStatementJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSMissingSwitchBranches", + "shortDescription": { + "text": "'switch' statement has missing branches" + }, + "fullDescription": { + "text": "Reports a 'switch' statement on a variable of the type 'enum' or 'union' when the statement doesn't cover some value options from the type.", + "markdown": "Reports a `switch` statement on a variable of the type `enum` or `union` when the statement doesn't cover some value options from the type." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "JSMissingSwitchBranches", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Switch statement issues", + "index": 107, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSJQueryEfficiency", + "shortDescription": { + "text": "JQuery selector can be optimized" + }, + "fullDescription": { + "text": "Reports a duplicated jQuery selector that can be cached or a usage of an attribute or a pseudo-selector (optional).", + "markdown": "Reports a duplicated jQuery selector that can be cached or a usage of an attribute or a pseudo-selector (optional)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSJQueryEfficiency", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnreachableCodeJS", + "shortDescription": { + "text": "Unreachable code" + }, + "fullDescription": { + "text": "Reports code that can never be executed, which almost certainly indicates an error", + "markdown": "Reports code that can never be executed, which almost certainly indicates an error" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnreachableCodeJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Control flow issues", + "index": 65, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EmptyStatementBodyJS", + "shortDescription": { + "text": "Statement with empty body" + }, + "fullDescription": { + "text": "Reports an 'if', 'while', 'for', or 'with' statement with an empty body. Such statements often result from typos, and may cause confusion. Use the checkbox below to specify whether the statements with empty block statements as bodies should be reported.", + "markdown": "Reports an `if`, `while`, `for`, or `with` statement with an empty body. Such statements often result from typos, and may cause confusion.\n\n\nUse the checkbox below to specify whether the statements with empty block statements as bodies\nshould be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "StatementWithEmptyBodyJS", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Potentially confusing code constructs", + "index": 61, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JSUnusedLocalSymbols", + "shortDescription": { + "text": "Unused local symbol" + }, + "fullDescription": { + "text": "Reports an unused locally accessible parameter, local variable, function, class, or private member declaration.", + "markdown": "Reports an unused locally accessible parameter, local variable, function, class, or private member declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JSUnusedLocalSymbols", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unused symbols", + "index": 115, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.plugins.postcss", + "version": "241.14494.107", + "rules": [ + { + "id": "PostCssUnresolvedModuleValueReference", + "shortDescription": { + "text": "Unresolved CSS module value" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a CSS Module Value ('@value' declaration). Example: '@value foo from unknown;'", + "markdown": "Reports an unresolved reference to a [CSS Module Value](https://github.com/css-modules/postcss-modules-values) (`@value` declaration).\n\nExample:\n\n\n @value foo from unknown;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssUnresolvedModuleValueReference", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 15, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssNesting", + "shortDescription": { + "text": "Invalid nested rule" + }, + "fullDescription": { + "text": "Reports a nested style rule whose syntax doesn't comply with the PostCSS Nested or the PostCSS Nesting specification. Example: '.phone {\n &_title {}\n}'", + "markdown": "Reports a nested style rule whose syntax doesn't comply with the [PostCSS Nested](https://github.com/postcss/postcss-nested) or the [PostCSS Nesting](https://github.com/csstools/postcss-nesting) specification.\n\nExample:\n\n\n .phone {\n &_title {}\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PostCssNesting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 15, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssCustomMedia", + "shortDescription": { + "text": "Invalid custom media" + }, + "fullDescription": { + "text": "Reports a syntax error in a PostCSS Custom Media query. Example: '@custom-media --small-viewport (max-width: 30em);'", + "markdown": "Reports a syntax error in a [PostCSS Custom Media](https://github.com/postcss/postcss-custom-media) query.\n\nExample:\n\n\n @custom-media --small-viewport (max-width: 30em);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssCustomMedia", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 15, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssCustomSelector", + "shortDescription": { + "text": "Invalid custom selector" + }, + "fullDescription": { + "text": "Reports a syntax error in PostCSS Custom Selector. Example: '@custom-selector :--heading h1, h2, h3;'", + "markdown": "Reports a syntax error in [PostCSS Custom Selector](https://github.com/postcss/postcss-custom-selectors).\n\nExample:\n\n\n @custom-selector :--heading h1, h2, h3;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssCustomSelector", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 15, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PostCssMediaRange", + "shortDescription": { + "text": "Invalid media query range" + }, + "fullDescription": { + "text": "Checks range context syntax, which may alternatively be used for media features with a 'range' type. Example: '@media screen and (500px <= width <= 1200px) {}'", + "markdown": "Checks [range context](https://github.com/postcss/postcss-media-minmax) syntax, which may alternatively be used for media features with a 'range' type.\n\nExample:\n\n\n @media screen and (500px <= width <= 1200px) {}\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "PostCssMediaRange", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "PostCSS", + "index": 15, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.editorconfig.editorconfigjetbrains", + "version": "241.14494.107", + "rules": [ + { + "id": "EditorConfigNumerousWildcards", + "shortDescription": { + "text": "Too many wildcards" + }, + "fullDescription": { + "text": "Reports sections that contain too many wildcards. Using a lot of wildcards may lead to performance issues.", + "markdown": "Reports sections that contain too many wildcards. Using a lot of wildcards may lead to performance issues." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "EditorConfigNumerousWildcards", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigKeyCorrectness", + "shortDescription": { + "text": "Unknown property" + }, + "fullDescription": { + "text": "Reports properties that are not supported by the IDE. Note: some “ij” domain properties may require specific language plugins.", + "markdown": "Reports properties that are not supported by the IDE. Note: some \"ij\" domain properties may require specific language plugins." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigKeyCorrectness", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigEncoding", + "shortDescription": { + "text": "File encoding doesn't match EditorConfig charset" + }, + "fullDescription": { + "text": "Checks that current file encoding matches the encoding defined in \"charset\" property of .editorconfig file.", + "markdown": "Checks that current file encoding matches the encoding defined in \"charset\" property of .editorconfig file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigEncoding", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigEmptyHeader", + "shortDescription": { + "text": "Empty header" + }, + "fullDescription": { + "text": "Reports sections with an empty header. Section header must contain file path globs in the format similar to one supported by 'gitignore'.", + "markdown": "Reports sections with an empty header. Section header must contain file path globs in the format similar to one supported by `gitignore`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigEmptyHeader", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigSpaceInHeader", + "shortDescription": { + "text": "Space in file pattern" + }, + "fullDescription": { + "text": "Reports space characters in wildcard patterns that affect pattern matching. If these characters are not intentional, they should be removed.", + "markdown": "Reports space characters in wildcard patterns that affect pattern matching. If these characters are not intentional, they should be removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "EditorConfigSpaceInHeader", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigOptionRedundancy", + "shortDescription": { + "text": "Redundant property" + }, + "fullDescription": { + "text": "Reports properties that are redundant when another applicable section already contains the same property and value. For example: '[*]\nindent_size=4\n[*.java]\nindent_size=4' are both applicable to '*.java' files and define the same 'indent_size' value.", + "markdown": "Reports properties that are redundant when another applicable section already contains the same property and value.\n\n\nFor example:\n\n\n [*]\n indent_size=4\n [*.java]\n indent_size=4\n\nare both applicable to `*.java` files and define the same `indent_size` value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigOptionRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigWildcardRedundancy", + "shortDescription": { + "text": "Redundant wildcard" + }, + "fullDescription": { + "text": "Reports wildcards that become redundant when the “**” wildcard is used in the same section. The “**” wildcard defines a broader set of files than any other wildcard. That is why, any other wildcard used in the same section has no affect and can be removed.", + "markdown": "Reports wildcards that become redundant when the \"\\*\\*\" wildcard is used in the same section.\n\n\nThe \"\\*\\*\" wildcard defines a broader set of files than any other wildcard.\nThat is why, any other wildcard used in the same section has no affect and can be removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigWildcardRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigUnusedDeclaration", + "shortDescription": { + "text": "Unused declaration" + }, + "fullDescription": { + "text": "Reports unused declarations. Such declarations can be removed.", + "markdown": "Reports unused declarations. Such declarations can be removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigUnusedDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigRootDeclarationUniqueness", + "shortDescription": { + "text": "Extra top-level declaration" + }, + "fullDescription": { + "text": "Reports multiple top-level declarations. There can be only one optional “root=true” top-level declaration in the EditorConfig file. Using multiple top-level declarations is not allowed.", + "markdown": "Reports multiple top-level declarations. There can be only one optional \"root=true\" top-level declaration in the EditorConfig file. Using multiple top-level declarations is not allowed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigRootDeclarationUniqueness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigShadowedOption", + "shortDescription": { + "text": "Overridden property" + }, + "fullDescription": { + "text": "Reports properties that are already defined in other sections. For example: '[*.java]\nindent_size=4\n[{*.java,*.js}]\nindent_size=2' The second section includes all '*.java' files too but it also redefines indent_size. As a result the value 2 will be used for files matching '*.java'.", + "markdown": "Reports properties that are already defined in other sections.\n\nFor example:\n\n\n [*.java]\n indent_size=4\n [{*.java,*.js}]\n indent_size=2\n\nThe second section includes all `*.java` files too but it also redefines indent_size. As a result the value 2 will be used for files matching `*.java`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigShadowedOption", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigValueUniqueness", + "shortDescription": { + "text": "Non-unique list value" + }, + "fullDescription": { + "text": "Reports duplicates in lists of values.", + "markdown": "Reports duplicates in lists of values." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigValueUniqueness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigUnexpectedComma", + "shortDescription": { + "text": "Unexpected comma" + }, + "fullDescription": { + "text": "Reports commas that cannot be used in the current context. Commas are allowed only as separators for values in lists.", + "markdown": "Reports commas that cannot be used in the current context. Commas are allowed only as separators for values in lists." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigUnexpectedComma", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigShadowingOption", + "shortDescription": { + "text": "Overriding property" + }, + "fullDescription": { + "text": "Reports properties that override the same properties defined earlier in the file. For example: '[*.java]\nindent_size=4\n[{*.java,*.js}]\nindent_size=2' The second section includes the same files as '[*.java]' but also sets indent_size to value 2. Thus the first declaration 'indent_size=4'will be ignored.", + "markdown": "Reports properties that override the same properties defined earlier in the file.\n\nFor example:\n\n\n [*.java]\n indent_size=4\n [{*.java,*.js}]\n indent_size=2\n\nThe second section includes the same files as `[*.java]` but also sets indent_size to value 2. Thus the first declaration `indent_size=4`will be ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigShadowingOption", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigReferenceCorrectness", + "shortDescription": { + "text": "Invalid reference" + }, + "fullDescription": { + "text": "Reports identifiers that are either unknown or have a wrong type.", + "markdown": "Reports identifiers that are either unknown or have a wrong type." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigReferenceCorrectness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigCharClassLetterRedundancy", + "shortDescription": { + "text": "Duplicate character class letter" + }, + "fullDescription": { + "text": "Reports wildcard patterns in the EditorConfig section that contain a duplicate character in the character class, for example '[aa]'.", + "markdown": "Reports wildcard patterns in the EditorConfig section that contain a duplicate character in the character class, for example `[aa]`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigCharClassLetterRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigMissingRequiredDeclaration", + "shortDescription": { + "text": "Required declarations are missing" + }, + "fullDescription": { + "text": "Reports properties that miss the required declarations. Refer to the documentation for more information.", + "markdown": "Reports properties that miss the required declarations. Refer to the documentation for more information." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigMissingRequiredDeclaration", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigPartialOverride", + "shortDescription": { + "text": "Overlapping sections" + }, + "fullDescription": { + "text": "Reports subsets of files specified in the current section that overlap with other subsets in other sections. For example: '[{foo,bar}]' and '[{foo,bas}]' both contain “foo”.", + "markdown": "Reports subsets of files specified in the current section that overlap with other subsets in other sections. For example: `[{foo,bar}]` and `[{foo,bas}]` both contain \"foo\"." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "EditorConfigPartialOverride", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigListAcceptability", + "shortDescription": { + "text": "Unexpected value list" + }, + "fullDescription": { + "text": "Reports lists of values that are used in properties in which lists are not supported. In this case, only a single value can be specified.", + "markdown": "Reports lists of values that are used in properties in which lists are not supported. In this case, only a single value can be specified." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigListAcceptability", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigPatternEnumerationRedundancy", + "shortDescription": { + "text": "Unnecessary braces" + }, + "fullDescription": { + "text": "Reports pattern lists that are either empty '{}' or contain just one pattern, for example '{foo}' in contrast to a list containing multiple patterns, for example '{foo,bar}'. In this case braces are handled as a part of the name. For example, the pattern '*.{a}' will match the file 'my.{a}' but not 'my.a'.", + "markdown": "Reports pattern lists that are either empty `{}` or contain just one pattern, for example `{foo}` in contrast to a list containing multiple patterns, for example `{foo,bar}`. In this case braces are handled as a part of the name. For example, the pattern `*.{a}` will match the file `my.{a}` but not `my.a`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigPatternEnumerationRedundancy", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigPairAcceptability", + "shortDescription": { + "text": "Unexpected key-value pair" + }, + "fullDescription": { + "text": "Reports key-value pairs that are not allowed in the current context.", + "markdown": "Reports key-value pairs that are not allowed in the current context." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigPairAcceptability", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigNoMatchingFiles", + "shortDescription": { + "text": "No matching files" + }, + "fullDescription": { + "text": "Reports sections with wildcard patterns that do not match any files under the directory in which the '.editorconfig' file is located.", + "markdown": "Reports sections with wildcard patterns that do not match any files under the directory in which the `.editorconfig` file is located." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigNoMatchingFiles", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigHeaderUniqueness", + "shortDescription": { + "text": "EditorConfig section is not unique" + }, + "fullDescription": { + "text": "Reports sections that define the same file pattern as other sections.", + "markdown": "Reports sections that define the same file pattern as other sections." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigHeaderUniqueness", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigValueCorrectness", + "shortDescription": { + "text": "Invalid property value" + }, + "fullDescription": { + "text": "Reports property values that do not meet value restrictions. For example, some properties may be only “true” or “false”, others contain only integer numbers etc. If a value has a limited set of variants, use code completion to see all of them.", + "markdown": "Reports property values that do not meet value restrictions. For example, some properties may be only \"true\" or \"false\", others contain only integer numbers etc. If a value has a limited set of variants, use code completion to see all of them." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigValueCorrectness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigRootDeclarationCorrectness", + "shortDescription": { + "text": "Unexpected top-level declaration" + }, + "fullDescription": { + "text": "Reports unexpected top-level declarations. Top-level declarations other than “root=true” are not allowed in the EditorConfig file.", + "markdown": "Reports unexpected top-level declarations. Top-level declarations other than \"root=true\" are not allowed in the EditorConfig file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigRootDeclarationCorrectness", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigPatternRedundancy", + "shortDescription": { + "text": "Duplicate or redundant pattern" + }, + "fullDescription": { + "text": "Reports file patterns that are redundant as there already are other patterns that define the same scope of files or even a broader one. For example, in '[{*.java,*}]' the first '*.java' pattern defines a narrower scope compared to '*'. That is why it is redundant and can be removed.", + "markdown": "Reports file patterns that are redundant as there already are other patterns that define the same scope of files or even a broader one. For example, in `[{*.java,*}]` the first `*.java` pattern defines a narrower scope compared to `*`. That is why it is redundant and can be removed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigPatternRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigDeprecatedDescriptor", + "shortDescription": { + "text": "Deprecated property" + }, + "fullDescription": { + "text": "Reports EditorConfig properties that are no longer supported.", + "markdown": "Reports EditorConfig properties that are no longer supported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigDeprecatedDescriptor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigCharClassRedundancy", + "shortDescription": { + "text": "Unnecessary character class" + }, + "fullDescription": { + "text": "Reports character classes that consist of a single character. Such classes can be simplified to a character, for example '[a]'→'a'.", + "markdown": "Reports character classes that consist of a single character. Such classes can be simplified to a character, for example `[a]`→`a`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigCharClassRedundancy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigEmptySection", + "shortDescription": { + "text": "Empty section" + }, + "fullDescription": { + "text": "Reports sections that do not contain any EditorConfig properties.", + "markdown": "Reports sections that do not contain any EditorConfig properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "EditorConfigEmptySection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "EditorConfigVerifyByCore", + "shortDescription": { + "text": "Invalid .editorconfig file" + }, + "fullDescription": { + "text": "Verifies the whole file using the backing EditorConfig core library and reports any failures. Any such failure would prevent EditorConfig properties from being correctly applied.", + "markdown": "Verifies the whole file using the backing EditorConfig core library and reports any failures. Any such failure would prevent EditorConfig properties from being correctly applied." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "EditorConfigVerifyByCore", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "EditorConfig", + "index": 19, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.database", + "version": "241.14494.107", + "rules": [ + { + "id": "SqlMissingReturnInspection", + "shortDescription": { + "text": "Missing return statement" + }, + "fullDescription": { + "text": "Reports functions that have no RETURN statements. Example (Oracle): 'CREATE FUNCTION foo RETURN int AS\nBEGIN\nEND;' The 'foo' function must return the integer value but the function body returns nothing. To fix the error, add a RETURN statement (for example, 'return 1;'). 'CREATE FUNCTION foo RETURN int AS\nBEGIN\n RETURN 1;\nEND;'", + "markdown": "Reports functions that have no RETURN statements.\n\nExample (Oracle):\n\n CREATE FUNCTION foo RETURN int AS\n BEGIN\n END;\n\nThe `foo` function must return the integer value but the function body returns nothing. To fix the error,\nadd a RETURN statement (for example, `return 1;`).\n\n CREATE FUNCTION foo RETURN int AS\n BEGIN\n RETURN 1;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SqlMissingReturn", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCaseVsIfInspection", + "shortDescription": { + "text": "Using CASE instead of conditional function and vice versa" + }, + "fullDescription": { + "text": "Reports situations when CASE and IF are interchangeable. Example (MySQL): 'SELECT CASE\nWHEN C1 IS NULL THEN 1\nELSE 0\nEND\nFROM dual;' To keep your code short, you can replace the CASE structure with IF. You can do that by applying the Replace with 'IF' call intention action. The example code will look as follows: 'SELECT IF(C1 IS NULL, 1, 0)\nFROM dual;' To revert IF to CASE, click IF and apply the Replace with CASE expression intention action.", + "markdown": "Reports situations when CASE and IF are interchangeable.\n\nExample (MySQL):\n\n SELECT CASE\n WHEN C1 IS NULL THEN 1\n ELSE 0\n END\n FROM dual;\n\nTo keep your code short, you can replace the CASE structure with IF. You can do that by applying the **Replace with 'IF' call**\nintention action. The example code will look as follows:\n\n SELECT IF(C1 IS NULL, 1, 0)\n FROM dual;\n\nTo revert IF to CASE, click IF and apply the **Replace with CASE expression** intention action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlCaseVsIf", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlShouldBeInGroupByInspection", + "shortDescription": { + "text": "Column should be in group by clause" + }, + "fullDescription": { + "text": "Reports columns that are not in the GROUP BY clause or inside an aggregate function call. Example (Microsoft SQL Server): 'CREATE TABLE t1 (a INT, b INT);\nSELECT a, b FROM t1 GROUP BY a;' If you run the SELECT query, you will receive an error because Microsoft SQL Server expects the 'b' column in GROUP BY or used inside an aggregate function. The following two examples will fix the error. 'SELECT a, b FROM t1 GROUP BY a, b;\nSELECT a, max(b) max_b FROM t1 GROUP BY a;'", + "markdown": "Reports columns that are not in the GROUP BY clause or inside an aggregate function call.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE t1 (a INT, b INT);\n SELECT a, b FROM t1 GROUP BY a;\n\nIf you run the SELECT query, you will receive an error because Microsoft SQL Server expects the `b` column in GROUP BY or used\ninside an aggregate function. The following two examples will fix the error.\n\n SELECT a, b FROM t1 GROUP BY a, b;\n SELECT a, max(b) max_b FROM t1 GROUP BY a;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlShouldBeInGroupBy", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlMisleadingReferenceInspection", + "shortDescription": { + "text": "Misleading references" + }, + "fullDescription": { + "text": "Reports ambiguous references in SQL code. For example, when a name refer to both a table column and a routine parameter. The execution of such code might lead to errors or unexpected results due to counter-intuitive resolution logic. Usually, names with a more local scope have higher priority. Example (PostgreSQL): 'CREATE TABLE foo\n(\n id INT,\n name VARCHAR(5)\n);\nCREATE FUNCTION func(name VARCHAR(5)) RETURNS INT AS\n$$\nDECLARE\n b INT;\nBEGIN\n -- `name` is ambiguous as it is used as a column name and a parameter\n SELECT COUNT(*) INTO b FROM foo t WHERE t.name = name;\n RETURN b;\nEND;\n$$ LANGUAGE plpgsql;' In PostgreSQL, you can use the '#variable_conflict' directives to explicitly specify a correct reference. For example, use '#variable_conflict use_column' to refer to a column name, or '#variable_conflict use_variable' to refer to a parameter. 'CREATE TABLE foo\n(\n id INT,\n name VARCHAR(5)\n);\nCREATE FUNCTION func(name VARCHAR(5)) RETURNS INT AS\n$$\n #variable_conflict use_column\nDECLARE\n b INT;\nBEGIN\n SELECT COUNT(*) INTO b FROM foo t WHERE t.name = name;\n RETURN b;\nEND;\n$$ LANGUAGE plpgsql;'", + "markdown": "Reports ambiguous references in SQL code.\n\nFor example, when a name refer to both a table column and a routine parameter. The execution of such code might lead to errors or unexpected\nresults due to counter-intuitive resolution logic. Usually, names with a more local scope have higher priority.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo\n (\n id INT,\n name VARCHAR(5)\n );\n CREATE FUNCTION func(name VARCHAR(5)) RETURNS INT AS\n $$\n DECLARE\n b INT;\n BEGIN\n -- `name` is ambiguous as it is used as a column name and a parameter\n SELECT COUNT(*) INTO b FROM foo t WHERE t.name = name;\n RETURN b;\n END;\n $$ LANGUAGE plpgsql;\n\nIn PostgreSQL, you can use the `#variable_conflict` directives to explicitly specify a correct reference. For example,\nuse `#variable_conflict use_column` to refer to a column name, or `#variable_conflict use_variable` to refer to a\nparameter.\n\n CREATE TABLE foo\n (\n id INT,\n name VARCHAR(5)\n );\n CREATE FUNCTION func(name VARCHAR(5)) RETURNS INT AS\n $$\n #variable_conflict use_column\n DECLARE\n b INT;\n BEGIN\n SELECT COUNT(*) INTO b FROM foo t WHERE t.name = name;\n RETURN b;\n END;\n $$ LANGUAGE plpgsql;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlMisleadingReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantAliasInspection", + "shortDescription": { + "text": "Redundant alias expressions" + }, + "fullDescription": { + "text": "Reports alias expressions that duplicate names of columns in tables and might be redundant. Example (PostgreSQL): 'CREATE TABLE foo(a INT, b INT);\n\nSELECT * FROM foo foo(a, b);\nSELECT * FROM foo foo(a);\nSELECT * FROM foo foo(x);\nSELECT * FROM foo foo(x, y);' The first two aliases use the same column names as in the 'foo' table. They are considered redundant because they column names are identical.", + "markdown": "Reports alias expressions that duplicate names of columns in tables and might be redundant.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo(a INT, b INT);\n\n SELECT * FROM foo foo(a, b);\n SELECT * FROM foo foo(a);\n SELECT * FROM foo foo(x);\n SELECT * FROM foo foo(x, y);\n\nThe first two aliases use the same column names as in the `foo` table. They are considered redundant because they\ncolumn names are identical." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantAlias", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnusedCteInspection", + "shortDescription": { + "text": "Unused common table expression" + }, + "fullDescription": { + "text": "Reports unused common table expressions (CTE) inside the query. Example (PostgreSQL): 'CREATE TABLE foo(a INT);\n\nWITH a AS (SELECT 1 AS x FROM foo)\nSELECT 1 + 2 FROM foo;' By using WITH, we create a temporary named result set with the name 'a', also known as a common table expression (CTE). But we do not use this CTE later in the code. The unused CTE is greyed out.", + "markdown": "Reports unused common table expressions (CTE) inside the query.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo(a INT);\n\n WITH a AS (SELECT 1 AS x FROM foo)\n SELECT 1 + 2 FROM foo;\n\nBy using WITH, we create a temporary named result set with the name `a`, also known as a common table expression (CTE). But\nwe do not use this CTE later in the code. The unused CTE is greyed out." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnusedCte", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSResolveInspection", + "shortDescription": { + "text": "Resolution problems" + }, + "fullDescription": { + "text": "Reports unresolved references in MongoDB and JavaScript code. Example: 'db\nuse foo\n -- a reference to a non-existing collection\ndb.non_existing_collection\ndb['non_existing_collection']\ndb['non_existing_collection'].find().hasNext()' The 'non_existing_collection' collection does not exist in the database and will be reported.", + "markdown": "Reports unresolved references in MongoDB and JavaScript code.\n\nExample:\n\n db\n use foo\n -- a reference to a non-existing collection\n db.non_existing_collection\n db['non_existing_collection']\n db['non_existing_collection'].find().hasNext()\n\nThe `non_existing_collection` collection does not exist in the database and will be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSResolve", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 88, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDialectInspection", + "shortDescription": { + "text": "SQL dialect detection" + }, + "fullDescription": { + "text": "Reports situations when a dialect is not assigned to an SQL file. For example, when you open a new SQL file without assigning a dialect to it, you see a notification where the best matching dialect is advised. Click the Use link to use the advised dialect. Alternatively, click the Change dialect to link to select the other dialect.", + "markdown": "Reports situations when a dialect is not assigned to an SQL file.\n\nFor example, when you open a new SQL file without assigning a dialect\nto it, you see a notification where the best matching dialect is advised. Click the **Use \\** link to use the advised\ndialect. Alternatively, click the **Change dialect to** link to select the other dialect." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDialectInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSExtDeprecationInspection", + "shortDescription": { + "text": "Deprecated element" + }, + "fullDescription": { + "text": "Reports usages of deprecated methods in MongoDB and JavaScript code. The quick-fix replaces deprecated methods with recommended alternatives. Example: 'db.my_collection.insert()' After the quick-fix is applied: 'db.my_collection.insertOne()'", + "markdown": "Reports usages of deprecated methods in MongoDB and JavaScript code.\n\nThe quick-fix replaces deprecated methods with recommended alternatives.\n\nExample:\n\n\n db.my_collection.insert()\n\nAfter the quick-fix is applied:\n\n\n db.my_collection.insertOne()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSDeprecation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 88, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSDeprecationInspection", + "shortDescription": { + "text": "Deprecated element" + }, + "fullDescription": { + "text": "Reports usages of deprecated methods in MongoDB and JavaScript code. The quick-fix replaces deprecated methods with recommended alternatives. Example: 'db.my_collection.insert()' After the quick-fix is applied: 'db.my_collection.insertOne()'", + "markdown": "Reports usages of deprecated methods in MongoDB and JavaScript code.\n\nThe quick-fix replaces deprecated methods with recommended alternatives.\n\nExample:\n\n db.my_collection.insert()\n\nAfter the quick-fix is applied:\n\n db.my_collection.insertOne()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSDeprecation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 88, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MsBuiltinInspection", + "shortDescription": { + "text": "Builtin functions" + }, + "fullDescription": { + "text": "Reports truncations of string arguments in ISNULL functions. The ISNULL syntax is 'ISNULL(check_expression, replacement_value)'. According to ISNULL at docs.microsoft.com, 'replacement_value' will be truncated if 'replacement_value' is longer than 'check_expression'. Example (Microsoft SQL Server): 'DECLARE @name1 VARCHAR(2) = NULL;\nDECLARE @name2 VARCHAR(10) = 'Example';\nDECLARE @name3 VARCHAR(2) = 'Hi';\n\n -- `@name2` is VARCHAR(10) and will be truncated\nSELECT ISNULL(@name1, @name2);\n\n -- `@name3` is VARCHAR(2) as `@name1` and will not be truncated\nSELECT ISNULL(@name1, @name3);'", + "markdown": "Reports truncations of string arguments in ISNULL functions.\n\nThe ISNULL syntax is `ISNULL(check_expression, replacement_value)`.\n\nAccording to [ISNULL at\ndocs.microsoft.com](https://docs.microsoft.com/en-us/sql/t-sql/functions/isnull-transact-sql), `replacement_value` will be truncated if `replacement_value` is longer than\n`check_expression`.\n\nExample (Microsoft SQL Server):\n\n DECLARE @name1 VARCHAR(2) = NULL;\n DECLARE @name2 VARCHAR(10) = 'Example';\n DECLARE @name3 VARCHAR(2) = 'Hi';\n\n -- `@name2` is VARCHAR(10) and will be truncated\n SELECT ISNULL(@name1, @name2);\n\n -- `@name3` is VARCHAR(2) as `@name1` and will not be truncated\n SELECT ISNULL(@name1, @name3);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MssqlBuiltin", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL server", + "index": 101, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlMultipleLimitClausesInspection", + "shortDescription": { + "text": "Multiple row limiting/offset clauses in queries" + }, + "fullDescription": { + "text": "Reports usages of multiple row limiting clauses in a single query. Example (Microsoft SQL Server): 'create table foo(a int);\nselect top 1 * from foo order by a offset 10 rows fetch next 20 rows only;' The SELECT TOP clause is used to specify that only 1 record must be returned. The FETCH clause specifies the number of rows to return after the OFFSET clause has been processed. But as we already have the SELECT TOP limiting clause, the FETCH clause might be redundant.", + "markdown": "Reports usages of multiple row limiting clauses in a single query.\n\nExample (Microsoft SQL Server):\n\n create table foo(a int);\n select top 1 * from foo order by a offset 10 rows fetch next 20 rows only;\n\nThe SELECT TOP clause is used to specify that only 1 record must be\nreturned. The FETCH clause specifies the number of rows to return after the OFFSET\nclause has been processed. But as we already have the SELECT TOP limiting clause, the FETCH clause might be redundant." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlMultipleLimitClauses", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlAmbiguousColumnInspection", + "shortDescription": { + "text": "Ambiguous reference" + }, + "fullDescription": { + "text": "Reports columns that have identical names but belong to different tables. Example (MySQL): 'CREATE TABLE foo(id INT PRIMARY KEY);\nCREATE TABLE bar(id INT PRIMARY KEY);\n\nSELECT foo.id, bar.id FROM foo, bar WHERE id > 0;' The 'id' column appears in 'foo' and 'bar' tables. You need to qualify the column name to make the query correct. 'SELECT foo.id, bar.id FROM foo, bar WHERE foo.id > 0;'", + "markdown": "Reports columns that have identical names but belong to different tables.\n\nExample (MySQL):\n\n CREATE TABLE foo(id INT PRIMARY KEY);\n CREATE TABLE bar(id INT PRIMARY KEY);\n\n SELECT foo.id, bar.id FROM foo, bar WHERE id > 0;\n\nThe `id` column appears in `foo` and `bar` tables. You need to qualify the column name to\nmake the query correct.\n\n SELECT foo.id, bar.id FROM foo, bar WHERE foo.id > 0;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlAmbiguousColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlNullComparisonInspection", + "shortDescription": { + "text": "Null comparison" + }, + "fullDescription": { + "text": "Reports comparisons with NULL that can be replaced with IS NULL or IS NOT NULL operators. Example (Microsoft SQL Server): 'CREATE TABLE foo ( id int );\n\nSELECT * FROM foo WHERE NULL = NULL;\nSELECT * FROM foo WHERE NULL != NULL;' The 'NULL = NULL' can be replaced with 'IS NULL', the 'NULL != NULL' comparison with 'IS NOT NULL'. To do this replacement, you can use Use IS NULL operator or Use IS NOT NULL operator quick-fixes. 'SELECT * FROM foo WHERE NULL IS NULL;\nSELECT * FROM foo WHERE NULL IS NOT NULL;'", + "markdown": "Reports comparisons with NULL that can be replaced with IS NULL or IS NOT NULL operators.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE foo ( id int );\n\n SELECT * FROM foo WHERE NULL = NULL;\n SELECT * FROM foo WHERE NULL != NULL;\n\nThe `NULL = NULL` can be replaced with `IS NULL`, the `NULL != NULL` comparison\nwith `IS NOT NULL`. To do this replacement, you can use **Use IS NULL operator** or **Use IS NOT NULL operator**\nquick-fixes.\n\n SELECT * FROM foo WHERE NULL IS NULL;\n SELECT * FROM foo WHERE NULL IS NOT NULL;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlNullComparison", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlInsertValuesInspection", + "shortDescription": { + "text": "VALUES clause cardinality" + }, + "fullDescription": { + "text": "Reports situations when a number of parameters in VALUES does not match a number of columns in a target table. Example (MySQL): 'CREATE TABLE foo(a INT, b INT, c INT);\n\nINSERT INTO foo VALUES (1,2,3,4)' The 'foo' table has three columns but in the INSERT INTO statement we pass four.", + "markdown": "Reports situations when a number of parameters in VALUES does not match a number of columns in a target table.\n\nExample (MySQL):\n\n CREATE TABLE foo(a INT, b INT, c INT);\n\n INSERT INTO foo VALUES (1,2,3,4)\n\nThe `foo` table has three columns but in the INSERT INTO statement we pass four." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlInsertValues", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantElseNullInspection", + "shortDescription": { + "text": "Redundant ELSE NULL clause" + }, + "fullDescription": { + "text": "Reports redundant ELSE NULL clauses. Example (MySQL): 'SELECT CASE WHEN 2 > 1 THEN 'OK' ELSE NULL END AS alias FROM foo;' The 'ELSE NULL' part will never be executed and may be omitted.", + "markdown": "Reports redundant ELSE NULL clauses.\n\nExample (MySQL):\n\n SELECT CASE WHEN 2 > 1 THEN 'OK' ELSE NULL END AS alias FROM foo;\n\nThe `ELSE NULL` part will never be executed and may be omitted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantElseNull", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCurrentSchemaInspection", + "shortDescription": { + "text": "Current console schema introspected" + }, + "fullDescription": { + "text": "Reports schemas and databases in the current session that are not introspected. For example, this warning might occur when you try to create a table in the schema that is not introspected. Introspection is a method of inspecting a data source. When you perform introspection, structural information in the data source is inspected to detect tables, columns, functions, and other elements with their attributes.", + "markdown": "Reports schemas and databases in the current session that are not introspected.\n\nFor example, this warning might occur when you try to create a table in the schema that is not introspected.\n\nIntrospection is a method of inspecting a data source. When you perform introspection, structural information in the data source is\ninspected to detect tables, columns, functions, and other elements with their attributes." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlCurrentSchemaInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlInsertNullIntoNotNullInspection", + "shortDescription": { + "text": "Insert NULL into NOT NULL column" + }, + "fullDescription": { + "text": "Reports cases when you insert NULL values into columns that accept only NOT NULL values. Example (Microsoft SQL Server): 'CREATE TABLE br2 (\nid INT NOT NULL,\ncol1 NVARCHAR (20) NOT NULL,\ncol2 NVARCHAR (20) NOT NULL,\n);\n--\nINSERT INTO br2 (id, col1, col2)\nVALUES (1, NULL, NULL);' You cannot insert NULL values in 'col1' and 'col2' because they are defined as NOT NULL. If you run the script as is, you will receive an error. To fix this code, replace NULL in the VALUES part with some values (for example, '42' and ''bird''). INSERT INTO br2 (id, col1, col2)\nVALUES (1, 42, 'bird');", + "markdown": "Reports cases when you insert NULL values into columns that accept only NOT NULL values.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE br2 (\n id INT NOT NULL,\n col1 NVARCHAR (20) NOT NULL,\n col2 NVARCHAR (20) NOT NULL,\n );\n --\n INSERT INTO br2 (id, col1, col2)\n VALUES (1, NULL, NULL);\n\nYou cannot insert NULL values in `col1` and `col2` because they are defined as NOT NULL. If you run the script as\nis,\nyou will receive an error. To fix this code, replace NULL in the VALUES part with some values (for example, `42` and\n`'bird'`).\n\n```\nINSERT INTO br2 (id, col1, col2)\nVALUES (1, 42, 'bird');\n```" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlInsertNullIntoNotNull", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlTriggerTransitionInspection", + "shortDescription": { + "text": "Suspicious code in triggers" + }, + "fullDescription": { + "text": "Reports incorrect usages of transition table variables in triggers. Example (HSQLDB): 'CREATE TABLE foo(a INT);\n\nCREATE TRIGGER trg\n AFTER DELETE ON foo\nBEGIN\n SELECT * FROM NEW;\nEND;\n\nCREATE TRIGGER trig AFTER INSERT ON foo\n REFERENCING OLD ROW AS newrow\n FOR EACH ROW WHEN (a > 1)\n INSERT INTO foo VALUES (1)' In HSQLDB, DELETE triggers may be used only with the OLD state while INSERT triggers may have only the NEW state. So, in the previous example, NEW in 'SELECT * FROM NEW;' will be highlighted as well as OLD in 'REFERENCING OLD ROW AS newrow'.", + "markdown": "Reports incorrect usages of transition table variables in triggers.\n\nExample (HSQLDB):\n\n CREATE TABLE foo(a INT);\n\n CREATE TRIGGER trg\n AFTER DELETE ON foo\n BEGIN\n SELECT * FROM NEW;\n END;\n\n CREATE TRIGGER trig AFTER INSERT ON foo\n REFERENCING OLD ROW AS newrow\n FOR EACH ROW WHEN (a > 1)\n INSERT INTO foo VALUES (1)\n\nIn HSQLDB, DELETE triggers may be used only with the OLD state while INSERT triggers may have only the NEW state. So, in the previous\nexample, NEW in `SELECT * FROM NEW;` will be highlighted as well as OLD in `REFERENCING OLD ROW AS newrow`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlTriggerTransition", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlNamedArgumentsInspection", + "shortDescription": { + "text": "Named arguments should be used" + }, + "fullDescription": { + "text": "Reports arguments that are used without names in routine calls. By default, this inspection is disabled. For more information about the difference between named and unnamed parameters, see Binding Parameters by Name (Named Parameters) at docs.microsoft.com . Example (Microsoft SQL Server): 'CREATE FUNCTION foo(n INT, m INT) RETURNS INT AS\nBEGIN\n RETURN n + m;\nEND;\n\nCREATE PROCEDURE test AS\nBEGIN\n foo n = 1, m = 2;\n\n--- The following call misses parameter names and will be highlighted\n foo 1, 2;\nEND;' Parameters '1, 2' in the 'foo 1, 2;' call are highlighted because they miss names.", + "markdown": "Reports arguments that are used without names in routine calls. By default, this inspection is disabled.\n\nFor more information about the difference between named and unnamed parameters, see [Binding Parameters by Name (Named Parameters) at docs.microsoft.com](https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/binding-parameters-by-name-named-parameters).\n\nExample (Microsoft SQL Server):\n\n CREATE FUNCTION foo(n INT, m INT) RETURNS INT AS\n BEGIN\n RETURN n + m;\n END;\n\n CREATE PROCEDURE test AS\n BEGIN\n foo n = 1, m = 2;\n\n --- The following call misses parameter names and will be highlighted\n foo 1, 2;\n END;\n\nParameters `1, 2` in the `foo 1, 2;` call are highlighted because they miss names." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlNamedArguments", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlTransactionStatementInTriggerInspection", + "shortDescription": { + "text": "Use of transaction management statements in triggers" + }, + "fullDescription": { + "text": "Reports usages of transaction management statements like COMMIT or ROLLBACK in trigger bodies. With COMMIT or ROLLBACK statements in a trigger body, the trigger will not compile. The fail happens because triggers start during transactions. When the trigger starts the current transaction is still not complete. As COMMIT terminates a transaction, both statements (COMMIT and ROLLBACK) would lead to an exception. Changes that are executed in a trigger should be committed (or rolled back) by the owning transaction that started the trigger. Example (Oracle): 'CREATE TABLE employee_audit\n(\n id INT NOT NULL,\n update_date DATE NOT NULL,\n old_name VARCHAR2(100),\n new_name VARCHAR2(100)\n);\n\nCREATE TABLE employees\n(\n id INT NOT NULL,\n name VARCHAR2(100) NOT NULL\n);\n\nCREATE OR REPLACE TRIGGER trig_commit\n AFTER UPDATE OF name\n ON employees\n FOR EACH ROW\nBEGIN\n INSERT INTO employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name);\n COMMIT;\nEND;\n\nCREATE OR REPLACE TRIGGER trig_rollback\n AFTER UPDATE OF name\n ON employees\n FOR EACH ROW\nBEGIN\n INSERT INTO employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name);\n ROLLBACK;\nEND;'", + "markdown": "Reports usages of transaction management statements like COMMIT or ROLLBACK in trigger bodies.\n\nWith COMMIT or ROLLBACK statements in a trigger body, the trigger will not compile.\nThe fail happens because triggers start during transactions. When the trigger starts the current transaction is still not complete. As\nCOMMIT\nterminates a transaction, both statements (COMMIT and ROLLBACK) would lead to an exception.\nChanges that are executed in a trigger should be committed (or rolled back) by the owning transaction that started the trigger.\n\nExample (Oracle):\n\n CREATE TABLE employee_audit\n (\n id INT NOT NULL,\n update_date DATE NOT NULL,\n old_name VARCHAR2(100),\n new_name VARCHAR2(100)\n );\n\n CREATE TABLE employees\n (\n id INT NOT NULL,\n name VARCHAR2(100) NOT NULL\n );\n\n CREATE OR REPLACE TRIGGER trig_commit\n AFTER UPDATE OF name\n ON employees\n FOR EACH ROW\n BEGIN\n INSERT INTO employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name);\n COMMIT;\n END;\n\n CREATE OR REPLACE TRIGGER trig_rollback\n AFTER UPDATE OF name\n ON employees\n FOR EACH ROW\n BEGIN\n INSERT INTO employee_audit VALUES (:old.id, SYSDATE, :old.name, :new.name);\n ROLLBACK;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlTransactionStatementInTrigger", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OraMissingBodyInspection", + "shortDescription": { + "text": "Missing body for package/object type specification" + }, + "fullDescription": { + "text": "Reports package and object type specifications that are missing body declarations. Package specifications and object types that declare routines as well as package specifications with cursors must have body declarations where those routines and cursors are implemented. Absence of a body leads to a runtime error when routines or cursors are invoked in program code. Example (Oracle): 'CREATE OR REPLACE PACKAGE ppp IS\n FUNCTION foo(a INT) RETURN INT;\nEND;'", + "markdown": "Reports package and object type specifications that are missing body declarations.\n\nPackage specifications and object types that declare routines as well as package specifications with cursors must have body\ndeclarations where those routines and cursors are implemented. Absence of a body leads to a runtime error when routines or cursors are\ninvoked in program code.\n\nExample (Oracle):\n\n CREATE OR REPLACE PACKAGE ppp IS\n FUNCTION foo(a INT) RETURN INT;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlMissingBody", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Oracle", + "index": 119, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCheckUsingColumnsInspection", + "shortDescription": { + "text": "Check using clause columns" + }, + "fullDescription": { + "text": "Reports columns in the USING clause that does not exist in both tables. Example (MySQL): 'CREATE TABLE t1 (i INT, j INT);\nCREATE TABLE t2 (k INT, l INT);\nSELECT * FROM t1 JOIN t2 USING (j);' In USING clauses, a column name must be present in both tables, and the SELECT query will automatically join those tables by using the given column name. As we do not have the 'j' column in 't2', we can rewrite the query using ON. The ON clause can join tables where the column names do not match in both tables. 'SELECT * FROM t1 JOIN t2 ON t1.j = t2.l;'", + "markdown": "Reports columns in the USING clause that does not exist in both tables.\n\nExample (MySQL):\n\n CREATE TABLE t1 (i INT, j INT);\n CREATE TABLE t2 (k INT, l INT);\n SELECT * FROM t1 JOIN t2 USING (j);\n\nIn USING clauses, a column name must be present in both tables, and the SELECT query will automatically join\nthose tables by using the given column name. As we do not have the `j` column in `t2`, we can\nrewrite the query using ON. The ON clause can join tables where the column names do not match in both tables.\n\n SELECT * FROM t1 JOIN t2 ON t1.j = t2.l;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlCheckUsingColumns", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlConstantConditionInspection", + "shortDescription": { + "text": "Constant condition" + }, + "fullDescription": { + "text": "Reports conditions in WHERE or JOIN clauses that are always TRUE or always FALSE. Example (MySQL): 'CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\nSELECT a FROM t1 WHERE 'Cat' = 'Cat';' The ''Cat' = 'Cat'' is always true and will be reported.", + "markdown": "Reports conditions in WHERE or JOIN clauses that are always TRUE or always FALSE.\n\nExample (MySQL):\n\n CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\n SELECT a FROM t1 WHERE 'Cat' = 'Cat';\n\nThe `'Cat' = 'Cat'` is always true and will be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlConstantCondition", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlInsertIntoGeneratedColumnInspection", + "shortDescription": { + "text": "Insertion into generated columns" + }, + "fullDescription": { + "text": "Reports INSERT statements that assign values to generated columns. Generated columns can be read, but their values can not be directly written. Example (PostgreSQL): 'CREATE TABLE foo\n(\n col1 INT,\n col2 INT GENERATED ALWAYS AS (col1 + 1) STORED\n);\nINSERT INTO foo(col1, col2) VALUES (1, 2);'\n You cannot insert '2' into the 'col2' column because this column is generated. For this script to work, you can change '2' to DEFAULT. 'INSERT INTO foo(col1, col2) VALUES (1, DEFAULT);'", + "markdown": "Reports INSERT statements that assign values to generated columns. Generated columns can be read, but their values can not be directly written.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo\n (\n col1 INT,\n col2 INT GENERATED ALWAYS AS (col1 + 1) STORED\n );\n INSERT INTO foo(col1, col2) VALUES (1, 2);\n\nYou cannot insert `2` into the `col2` column because this column is generated.\nFor this script to work, you can change `2` to DEFAULT.\n`INSERT INTO foo(col1, col2) VALUES (1, DEFAULT);`" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlInsertIntoGeneratedColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MsOrderByInspection", + "shortDescription": { + "text": "ORDER BY in queries" + }, + "fullDescription": { + "text": "Reports usages when the 'ORDER BY' clause is used without 'TOP', 'OFFSET', or 'FOR XML' in views, inline functions, derived tables, subqueries, and common table expressions. For more information about usages of 'ORDER BY', see SELECT - ORDER BY Clause (Transact-SQL) at docs.microsoft.com. Example (Microsoft SQL server): 'CREATE TABLE foo (a INT NOT NULL, b INT NOT NULL);\n\nSELECT *\nFROM (SELECT a, b\nFROM foo A\nWHERE a < 89\nORDER BY b) ALIAS;' In a subquery, ORDER BY will be highlighted as an error. You can add TOP, OFFSET, or FOR XML to a subquery. Alternatively, use the Delete element quick-fix to delete the ORDER BY section. After the quick-fix is applied: 'SELECT *\nFROM (SELECT a, b\nFROM foo A\nWHERE a < 89) ALIAS;'", + "markdown": "Reports usages when the `ORDER BY` clause is used without `TOP`, `OFFSET`, or `FOR XML` in views, inline functions, derived tables, subqueries, and common table expressions.\n\nFor more information about usages of `ORDER BY`, see [SELECT - ORDER BY Clause (Transact-SQL) at\ndocs.microsoft.com](https://docs.microsoft.com/en-us/sql/t-sql/queries/select-order-by-clause-transact-sql).\n\nExample (Microsoft SQL server):\n\n CREATE TABLE foo (a INT NOT NULL, b INT NOT NULL);\n\n SELECT *\n FROM (SELECT a, b\n FROM foo A\n WHERE a < 89\n ORDER BY b) ALIAS;\n\nIn a subquery, ORDER BY will be highlighted as an error. You can add TOP, OFFSET, or FOR XML to a subquery.\nAlternatively, use the **Delete element** quick-fix to delete the ORDER BY section.\n\nAfter the quick-fix is applied:\n\n SELECT *\n FROM (SELECT a, b\n FROM foo A\n WHERE a < 89) ALIAS;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "MsOrderBy", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "SQL server", + "index": 101, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDeprecateTypeInspection", + "shortDescription": { + "text": "Deprecated type" + }, + "fullDescription": { + "text": "Reports usages of types that are deprecated and might disappear in future versions of DBMS. Reported types: LONG in Oracle (see Deprecated and Desupported Features at docs.oracle.com). TEXT, NTEXT, and IMAGE in Microsoft SQL Server (see Deprecated Database Engine Features in SQL Server 2016 at docs.microsoft.com). Example (Oracle): 'CREATE TABLE ot.foo(\na NUMBER GENERATED BY DEFAULT AS IDENTITY,\nb LONG NOT NULL\n);'", + "markdown": "Reports usages of types that are deprecated and might disappear in future versions of DBMS.\n\nReported types:\n\n* LONG in Oracle (see [Deprecated\n and Desupported Features at docs.oracle.com](https://docs.oracle.com/cd/A91202_01/901_doc/server.901/a90120/ch4_dep.htm#6690)).\n* TEXT, NTEXT, and IMAGE in Microsoft SQL Server (see [Deprecated Database Engine Features in SQL Server 2016 at docs.microsoft.com](https://docs.microsoft.com/en-us/sql/database-engine/deprecated-database-engine-features-in-sql-server-2016?view=sql-server-ver15)).\n\nExample (Oracle):\n\n CREATE TABLE ot.foo(\n a NUMBER GENERATED BY DEFAULT AS IDENTITY,\n b LONG NOT NULL\n );\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDeprecateType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlGotoInspection", + "shortDescription": { + "text": "Usages of GOTO statements" + }, + "fullDescription": { + "text": "Reports usages of backward GOTO statements and GOTO statements used to exit a loop. The extensive use of GOTO statements is generally not recommended. For details, see GOTO statement in SQL procedures at ibm.com. Instead of jumping back to a previous statement using GOTO, consider using a loop. Instead of exiting the WHILE loop with GOTO, consider using other control-of-flow statements (for example, RETURN or BREAK). Example (Oracle): 'CREATE PROCEDURE test(n INT) AS\nDECLARE\n x INT;\nBEGIN\n x := 0;\n GOTO a;\n <> x := 1;\n IF (n = 0) THEN\n GOTO a;\n END IF;\n WHILE TRUE\n LOOP\n GOTO b;\n END LOOP;\n <> x := 3;\nEND;'", + "markdown": "Reports usages of backward GOTO statements and GOTO statements used to exit a loop.\n\nThe extensive use of GOTO statements is generally\nnot recommended. For details, see [GOTO statement in\nSQL\nprocedures at ibm.com](https://www.ibm.com/docs/no/db2/11.5?topic=procedures-goto-statement-in-sql).\n\nInstead of jumping back to a previous statement using GOTO, consider using a loop.\n\nInstead of exiting the WHILE loop with GOTO, consider using other control-of-flow statements (for example, RETURN or BREAK).\n\nExample (Oracle):\n\n CREATE PROCEDURE test(n INT) AS\n DECLARE\n x INT;\n BEGIN\n x := 0;\n GOTO a;\n <> x := 1;\n IF (n = 0) THEN\n GOTO a;\n END IF;\n WHILE TRUE\n LOOP\n GOTO b;\n END LOOP;\n <> x := 3;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlGoto", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MysqlLoadDataPathInspection", + "shortDescription": { + "text": "LOAD statement path" + }, + "fullDescription": { + "text": "Reports paths that start with the tilde character in LOAD statements. Example (MySQL): 'CREATE TABLE table_name (id int);\nLOAD DATA LOCAL INFILE '~/Documents/some_file.txt'\nINTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n'\nIGNORE 1 LINES;' Instead of the tilde character, use a full path to the file.", + "markdown": "Reports paths that start with the tilde character in LOAD statements.\n\nExample (MySQL):\n\n CREATE TABLE table_name (id int);\n LOAD DATA LOCAL INFILE '~/Documents/some_file.txt'\n INTO TABLE table_name FIELDS TERMINATED BY ',' LINES TERMINATED BY '\\n'\n IGNORE 1 LINES;\n\nInstead of the tilde character, use a full path to the file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MysqlLoadDataPath", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MySQL", + "index": 128, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDtInspection", + "shortDescription": { + "text": "Ill-formed date/time literals" + }, + "fullDescription": { + "text": "Reports errors in date and time literals. This inspection is available in MySQL, Oracle, Db2, and H2. Example (MySQL): 'SELECT TIME '10 -12:13:14' FROM dual;\nSELECT TIME ' 12 : 13 : 14 ' FROM dual;\nSELECT TIME '12 13 14' FROM dual;\nSELECT TIME '12-13-14' FROM dual;\nSELECT TIME '12.13.14' FROM dual;\nSELECT TIME '12:13:' FROM dual;\nSELECT TIME '12:13' FROM dual;\nSELECT TIME '12:' FROM dual;' In this example, dates ignore the MySQL standard for date and time literals. Therefore, they will be highlighted. For more information about date and time literals in MySQL, see Date and Time Literals at dev.mysql.com. The following date and type literals are valid for MySQL. 'SELECT TIME '12:13:14' FROM dual;\nSELECT TIME '12:13:14.555' FROM dual;\nSELECT TIME '12:13:14.' FROM dual;\nSELECT TIME '-12:13:14' FROM dual;\nSELECT TIME '10 12:13:14' FROM dual;\nSELECT TIME '-10 12:13:14' FROM dual;'", + "markdown": "Reports errors in date and time literals. This inspection is available in MySQL, Oracle, Db2, and H2.\n\nExample (MySQL):\n\n SELECT TIME '10 -12:13:14' FROM dual;\n SELECT TIME ' 12 : 13 : 14 ' FROM dual;\n SELECT TIME '12 13 14' FROM dual;\n SELECT TIME '12-13-14' FROM dual;\n SELECT TIME '12.13.14' FROM dual;\n SELECT TIME '12:13:' FROM dual;\n SELECT TIME '12:13' FROM dual;\n SELECT TIME '12:' FROM dual;\n\nIn this example, dates ignore the MySQL standard for date and time literals. Therefore, they will be highlighted.\nFor more information about date and time literals in MySQL, see [Date and Time Literals at dev.mysql.com](https://dev.mysql.com/doc/refman/8.0/en/date-and-time-literals.html).\n\nThe following date and type literals are valid for MySQL.\n\n SELECT TIME '12:13:14' FROM dual;\n SELECT TIME '12:13:14.555' FROM dual;\n SELECT TIME '12:13:14.' FROM dual;\n SELECT TIME '-12:13:14' FROM dual;\n SELECT TIME '10 12:13:14' FROM dual;\n SELECT TIME '-10 12:13:14' FROM dual;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDateTime", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlNoDataSourceInspection", + "shortDescription": { + "text": "No data sources configured" + }, + "fullDescription": { + "text": "Reports the absence of data sources in the Database tool window (View | Tool Windows | Database).", + "markdown": "Reports the absence of data sources in the **Database** tool window (**View \\| Tool Windows \\| Database**)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlNoDataSourceInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlConstantExpressionInspection", + "shortDescription": { + "text": "Constant expression" + }, + "fullDescription": { + "text": "Reports conditions and expressions that are always true, false or null. Example (MySQL): 'CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\nSELECT a FROM t1 WHERE 'Cat' = 'Cat';\nSELECT a FROM t1 WHERE 'Cat' = null;' The ''Cat' = 'Cat'' is always true and will be reported. The ''Cat' = null' is always null and will be reported.", + "markdown": "Reports conditions and expressions that are always true, false or null.\n\nExample (MySQL):\n\n CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\n SELECT a FROM t1 WHERE 'Cat' = 'Cat';\n SELECT a FROM t1 WHERE 'Cat' = null;\n\nThe `'Cat' = 'Cat'` is always true and will be reported.\n\nThe `'Cat' = null` is always null and will be reported." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlConstantExpression", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OraUnmatchedForwardDeclarationInspection", + "shortDescription": { + "text": "Forward declaration without definition" + }, + "fullDescription": { + "text": "Reports declarations of procedures and functions that are missing their implementation in code. In Oracle, you can declare a procedure or a function without its body, and write the implementation later. The inspection will report names of such procedures or functions that are left without implementation. Example (Oracle): 'DECLARE PROCEDURE foo(a int, b varchar2);\nBEGIN\n NULL;\nEND;' The 'foo' procedure is declared but is missing implementation. We can add the implementation to get rid of the error. 'DECLARE PROCEDURE foo(a int, b varchar2);\n PROCEDURE foo(a int, b varchar2) IS\nBEGIN\n NULL;\nEND;\nBEGIN\n NULL;\nEND;'", + "markdown": "Reports declarations of procedures and functions that are missing their implementation in code.\n\nIn Oracle, you can declare a procedure or a function without its body, and write the implementation later. The inspection will report names\nof such procedures or functions that are left without implementation.\n\nExample (Oracle):\n\n DECLARE PROCEDURE foo(a int, b varchar2);\n BEGIN\n NULL;\n END;\n\nThe `foo` procedure is declared but is missing implementation. We can add the implementation to get rid of the error.\n\n DECLARE PROCEDURE foo(a int, b varchar2);\n PROCEDURE foo(a int, b varchar2) IS\n BEGIN\n NULL;\n END;\n BEGIN\n NULL;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SqlUnmatchedForwardDeclaration", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Oracle", + "index": 119, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlWithoutWhereInspection", + "shortDescription": { + "text": "Delete or update statement without where clauses" + }, + "fullDescription": { + "text": "Reports usages of DELETE or UPDATE statements without WHERE clauses. Without WHERE clauses, DELETE drops all the data from the table, and UPDATE overwrites values for all the table rows. Example (MySQL): 'CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\nupdate t1 set a = 'Smith';\ndelete from t1;'", + "markdown": "Reports usages of DELETE or UPDATE statements without WHERE clauses.\n\nWithout WHERE clauses, DELETE drops all the data from the table, and UPDATE overwrites values for all the table rows.\n\nExample (MySQL):\n\n CREATE TABLE t1 (a TEXT, b INT, c BOOLEAN);\n update t1 set a = 'Smith';\n delete from t1;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlWithoutWhere", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSSideEffectsInspection", + "shortDescription": { + "text": "Statement with side effects" + }, + "fullDescription": { + "text": "Reports statements that can cause side effects while the data source is in read-only mode. For more information about enabling read-only mode, see Enable read-only mode for a connection in the IDE documentation. The Disable read-only mode quick-fix turns off the read-only mode for the respective data source. Example: 'db.my_collection.insertOne()'", + "markdown": "Reports statements that can cause side effects while the data source is in read-only mode.\n\nFor more information about enabling read-only mode, see\n[Enable\nread-only mode for a connection in the IDE documentation](https://www.jetbrains.com/help/datagrip/configuring-database-connections.html#enable-read-only-mode-for-a-connection).\n\nThe **Disable read-only mode** quick-fix turns off the read-only mode for the respective data source.\n\nExample:\n\n\n db.my_collection.insertOne()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSSideEffects", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 88, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSExtSideEffectsInspection", + "shortDescription": { + "text": "Statement with side effects" + }, + "fullDescription": { + "text": "Reports statements that may cause side effects while the data source is in read-only mode. The quick-fix turns off the read-only mode for the respective data source. Example: 'db.my_collection.insertOne()'", + "markdown": "Reports statements that may cause side effects while the data source is in read-only mode.\n\nThe quick-fix turns off the read-only mode for the respective data source.\n\nExample:\n\n\n db.my_collection.insertOne()\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSSideEffects", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 88, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnusedSubqueryItemInspection", + "shortDescription": { + "text": "Unused subquery item" + }, + "fullDescription": { + "text": "Reports columns, aliases, and other subquery items that are not referenced in the outer query expression. Example (PostgreSQL): 'CREATE TABLE for_subquery(id INT);\nSELECT a, q FROM (SELECT 1 AS a, 10 AS b, 2 + 3 AS q, id\n FROM for_subquery) x;' We reference 'a' and 'q' aliases from a subquery. But the 'b' alias and the 'id' column are not referenced in the outer SELECT statement. Therefore, 'b' and 'id' are grayed out.", + "markdown": "Reports columns, aliases, and other subquery items that are not referenced in the outer query expression.\n\nExample (PostgreSQL):\n\n CREATE TABLE for_subquery(id INT);\n SELECT a, q FROM (SELECT 1 AS a, 10 AS b, 2 + 3 AS q, id\n FROM for_subquery) x;\n\nWe reference `a` and `q` aliases from a subquery. But the `b` alias and the `id` column are\nnot referenced in the outer SELECT statement. Therefore, `b` and `id` are grayed out." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnused", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlSideEffectsInspection", + "shortDescription": { + "text": "Statement with side effects" + }, + "fullDescription": { + "text": "Reports statements that might lead to modification of a database during a read-only connection. To enable read-only mode for a connection, right-click a data source in the Database tool window (View | Tool Windows | Database) and select Properties. In the Data Sources and Drivers dialog, click the Options tab and select the Read-only checkbox. Example (MySQL): 'CREATE TABLE foo(a INT);\nINSERT INTO foo VALUES (1);' As 'CREATE TABLE' and 'INSERT INTO' statements lead to a database modification, these statements will be highlighted in read-only connection mode.", + "markdown": "Reports statements that might lead to modification of a database during a read-only connection.\n\nTo enable read-only mode for a\nconnection,\nright-click a data source in the **Database** tool window (**View \\| Tool Windows \\| Database** ) and select **Properties** .\nIn the **Data Sources and Drivers** dialog, click the **Options** tab and select the **Read-only** checkbox.\n\nExample (MySQL):\n\n CREATE TABLE foo(a INT);\n INSERT INTO foo VALUES (1);\n\nAs `CREATE TABLE` and `INSERT INTO` statements lead to a database modification, these statements will be highlighted\nin read-only connection mode." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlSideEffects", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlJoinWithoutOnInspection", + "shortDescription": { + "text": "Unsafe 'join' clause in 'delete' statement" + }, + "fullDescription": { + "text": "Reports missing conditional checks for statements that might modify the whole database. For example, usages of JOIN clauses inside DELETE statements without ON or WHERE. Without conditional checks on JOIN, DELETE drops contents of the entire table. Example (MySQL): 'CREATE TABLE foo (a INT,b INT,c INT);\nCREATE TABLE bar (a INT,b INT,c INT);\n\nDELETE table1 FROM foo table1 INNER JOIN bar table2;'", + "markdown": "Reports missing conditional checks for statements that might modify the whole database.\n\nFor example, usages of JOIN clauses inside DELETE statements without ON or WHERE. Without conditional checks on JOIN, DELETE drops\ncontents of the entire table.\n\nExample (MySQL):\n\n CREATE TABLE foo (a INT,b INT,c INT);\n CREATE TABLE bar (a INT,b INT,c INT);\n\n DELETE table1 FROM foo table1 INNER JOIN bar table2;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlJoinWithoutOn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDropIndexedColumnInspection", + "shortDescription": { + "text": "Index is dependent on column" + }, + "fullDescription": { + "text": "Reports cases when you try to drop columns from indexed tables. This inspection is available in Microsoft SQL Server and Sybase ASE. Example (Microsoft SQL Server): 'CREATE TABLE test_index\n(\ncol INT NOT NULL,\ncol2 INT NOT NULL,\ncol3 INT NOT NULL UNIQUE,\ncol4 VARCHAR(200)\n);\n\nCREATE UNIQUE INDEX aaaa ON test_index (col, col2);\n\nALTER TABLE test_index\nDROP COLUMN col;' You cannot delete the 'col' column because it is in the indexed table. To delete the column, you need to delete the 'aaaa' index first (for example, DROP INDEX aaaa).", + "markdown": "Reports cases when you try to drop columns from indexed tables. This inspection is available in Microsoft SQL Server and Sybase ASE.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE test_index\n (\n col INT NOT NULL,\n col2 INT NOT NULL,\n col3 INT NOT NULL UNIQUE,\n col4 VARCHAR(200)\n );\n\n CREATE UNIQUE INDEX aaaa ON test_index (col, col2);\n\n ALTER TABLE test_index\n DROP COLUMN col;\n\nYou cannot delete the `col` column because it is in the indexed table. To delete the column, you need to delete the\n`aaaa` index first (for example, DROP INDEX aaaa)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDropIndexedColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlTypeInspection", + "shortDescription": { + "text": "Types compatibility" + }, + "fullDescription": { + "text": "Reports type-related errors.", + "markdown": "Reports type-related errors." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlType", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnicodeStringLiteralInspection", + "shortDescription": { + "text": "Unicode usage in SQL" + }, + "fullDescription": { + "text": "Reports string literals that use national characters without the 'N' prefix. Without the N prefix, the string is converted to the default code page of the database. This default code page may not recognize certain characters. For more information, see nchar and nvarchar (Transact-SQL) at docs.microsoft.com. Example (Microsoft SQL Server): 'SELECT 'abcde' AS a;\nSELECT N'abcde' AS b;\nSELECT 'абвгд' AS c;\nSELECT N'абвгд' AS d;' The 'SELECT 'абвгд' AS c;' does not have the 'N' prefix, the ''абвгд'' part will be highlighted.", + "markdown": "Reports string literals that use national characters without the `N` prefix.\n\nWithout the N prefix, the string is converted to the default\ncode page of the database. This default code page may not recognize certain characters. For more information, see\n[nchar and nvarchar\n(Transact-SQL)\nat docs.microsoft.com](https://docs.microsoft.com/en-us/sql/t-sql/data-types/nchar-and-nvarchar-transact-sql).\n\nExample (Microsoft SQL Server):\n\n SELECT 'abcde' AS a;\n SELECT N'abcde' AS b;\n SELECT 'абвгд' AS c;\n SELECT N'абвгд' AS d;\n\nThe `SELECT 'абвгд' AS c;` does not have the `N` prefix, the `'абвгд'` part will be highlighted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnicodeStringLiteral", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnusedVariableInspection", + "shortDescription": { + "text": "Unused variable" + }, + "fullDescription": { + "text": "Reports unused arguments, variables, or parameters. Example (PostgreSQL): 'CREATE FUNCTION foo(PARAMUSED INT, PARAMUNUSED INT) RETURNS INT AS\n$$\nBEGIN\n RETURN PARAMUSED;\nEND\n$$ LANGUAGE plpgsql;' The 'PARAMUNUSED' parameter is not used in the function and might be deleted.", + "markdown": "Reports unused arguments, variables, or parameters.\n\nExample (PostgreSQL):\n\n CREATE FUNCTION foo(PARAMUSED INT, PARAMUNUSED INT) RETURNS INT AS\n $$\n BEGIN\n RETURN PARAMUSED;\n END\n $$ LANGUAGE plpgsql;\n\nThe `PARAMUNUSED` parameter is not used in the function and might be deleted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnused", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "PgSelectFromProcedureInspection", + "shortDescription": { + "text": "Postgres: Select from procedure call" + }, + "fullDescription": { + "text": "Reports situations when you make SELECT from a function or a DBLINK without an alias with a type (for example, 'AS t1(s VARCHAR)'). This requirement does not apply to scalar functions. Example (PostgreSQL): 'CREATE FUNCTION produce_a_table() RETURNS RECORD AS $$\nSELECT 1;\n$$ LANGUAGE sql;\nSELECT * FROM produce_a_table() AS s (c1 INT);\nSELECT * FROM produce_a_table() AS s (c1);\nSELECT * FROM DBLINK('dbname=mydb', 'SELECT proname, prosrc FROM pg_proc') AS t1;' The 'AS s (c1 INT)' has a typed alias, while 'AS s (c1)' and 'AS t1' do not. In this case, the second call of 'produce_a_table()' and 'DBLINK()' will be highlighted.", + "markdown": "Reports situations when you make SELECT from a function or a DBLINK without an alias with a type (for example, `AS t1(s VARCHAR)`).\n\nThis requirement does not apply to scalar functions.\n\nExample (PostgreSQL):\n\n CREATE FUNCTION produce_a_table() RETURNS RECORD AS $$\n SELECT 1;\n $$ LANGUAGE sql;\n SELECT * FROM produce_a_table() AS s (c1 INT);\n SELECT * FROM produce_a_table() AS s (c1);\n SELECT * FROM DBLINK('dbname=mydb', 'SELECT proname, prosrc FROM pg_proc') AS t1;\n\nThe `AS s (c1 INT)` has a typed alias, while `AS s (c1)` and `AS t1` do not.\nIn this case, the second call of `produce_a_table()` and `DBLINK()` will be highlighted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PgSelectFromProcedure", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "PostgreSQL", + "index": 136, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlStorageInspection", + "shortDescription": { + "text": "SQL source modification detection" + }, + "fullDescription": { + "text": "Reports situations when source code of a database object has been changed. The inspection is triggered when you perform database or object introspection. The introspection is run when you open source code of an object, run statements, and perform code refactoring. Also, you can run introspection by right-clicking an object and selecting Refresh. The inspection covers the following situations: Object source code was changed in the database but code in the editor was not updated. Works in PostgreSQL, Microsoft SQL Server, Oracle, and Sybase ASE. You changed the object source code, introspected the database, but source code has been already changed by someone else. The database introspector was updated in the IDE and you need to download new object properties that were missing in the previous introspector version.", + "markdown": "Reports situations when source code of a database object has been changed.\n\nThe inspection is triggered when you perform database or object introspection. The introspection is run when you open source code of an\nobject, run statements, and perform code refactoring.\nAlso, you can run introspection by right-clicking an object and selecting **Refresh**.\n\nThe inspection covers the following situations:\n\n* Object source code was changed in the database but code in the editor was not updated. Works in PostgreSQL, Microsoft SQL Server, Oracle, and Sybase ASE.\n* You changed the object source code, introspected the database, but source code has been already changed by someone else.\n* The database introspector was updated in the IDE and you need to download new object properties that were missing in the previous introspector version." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlStorageInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlSignatureInspection", + "shortDescription": { + "text": "Function signature" + }, + "fullDescription": { + "text": "Reports signature issues for built-in functions. The inspection will report a wrong number of arguments, invalid keywords, wrong data types, and other issues. Example (MySQL): 'CREATE TABLE foo (a INT, b INT, c INT)\n\nSELECT IFNULL() FROM foo; -- error\nSELECT IFNULL(a) FROM foo; -- error\nSELECT IFNULL(a, b) FROM foo; -- OK\nSELECT IFNULL(a, b, c) FROM foo; -- error' In MySQL, the 'IFNULL()' function accepts strictly two arguments. So, only the 'SELECT IFNULL(a, b) FROM foo;' query is correct.", + "markdown": "Reports signature issues for built-in functions.\n\nThe inspection will report a wrong number of arguments, invalid keywords, wrong data types, and other issues.\n\nExample (MySQL):\n\n CREATE TABLE foo (a INT, b INT, c INT)\n\n SELECT IFNULL() FROM foo; -- error\n SELECT IFNULL(a) FROM foo; -- error\n SELECT IFNULL(a, b) FROM foo; -- OK\n SELECT IFNULL(a, b, c) FROM foo; -- error\n\nIn MySQL, the `IFNULL()` function accepts strictly two arguments. So, only the `SELECT IFNULL(a, b) FROM foo;`\nquery is correct." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlSignature", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantOrderingDirectionInspection", + "shortDescription": { + "text": "Redundant ordering direction" + }, + "fullDescription": { + "text": "Reports redundant ordering directions like ASC and DESC in ORDER BY clauses. Example (MySQL): 'CREATE TABLE foo(a INT, b INT, c INT);\nSELECT * FROM foo ORDER BY a ASC, b DESC, c ASC;' The ORDER BY keyword sorts the records in the ascending order by default. So, the 'ASC' keyword for 'a' and 'c' columns is redundant.", + "markdown": "Reports redundant ordering directions like ASC and DESC in ORDER BY clauses.\n\nExample (MySQL):\n\n CREATE TABLE foo(a INT, b INT, c INT);\n SELECT * FROM foo ORDER BY a ASC, b DESC, c ASC;\n\nThe ORDER BY keyword sorts the records in the ascending order by default. So, the `ASC` keyword for `a` and\n`c` columns is redundant." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantOrderingDirection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "OraOverloadInspection", + "shortDescription": { + "text": "Overloading errors" + }, + "fullDescription": { + "text": "Reports invalid cases of subprogram overloading in Oracle. Example (Oracle): 'DECLARE\n SUBTYPE fff IS BINARY_INTEGER;\n SUBTYPE ggg IS NATURAL;\n PROCEDURE foo (a IN ggg) IS BEGIN NULL; END;\n PROCEDURE foo (a IN fff) IS BEGIN NULL; END;\nBEGIN\n NULL;\nEND;' You cannot overload subprograms which parameters differ only in subtypes. For example, you cannot overload procedures where one accepts a BINARY INTEGER parameter and the other accepts a NATURAL parameter. For more information about restrictions on procedure overloading, see Restrictions on Overloading at docs.oracle.com.", + "markdown": "Reports invalid cases of subprogram overloading in Oracle.\n\nExample (Oracle):\n\n DECLARE\n SUBTYPE fff IS BINARY_INTEGER;\n SUBTYPE ggg IS NATURAL;\n PROCEDURE foo (a IN ggg) IS BEGIN NULL; END;\n PROCEDURE foo (a IN fff) IS BEGIN NULL; END;\n BEGIN\n NULL;\n END;\n\nYou cannot overload subprograms which parameters differ only in subtypes. For example, you cannot overload procedures where one accepts a\nBINARY INTEGER parameter and the other accepts a NATURAL parameter. For more information about restrictions on procedure overloading,\nsee [Restrictions on Overloading at docs.oracle.com](https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/subprograms.htm)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlOverload", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Oracle", + "index": 119, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MysqlSpaceAfterFunctionNameInspection", + "shortDescription": { + "text": "Whitespace between the function name and the open parenthesis" + }, + "fullDescription": { + "text": "Reports any whitespace in a function call between the function name and the open parenthesis, which is not supported by default. Example (MySQL): 'SELECT MAX (qty) FROM orders;'", + "markdown": "Reports any whitespace in a function call between the function name and the open parenthesis, which is not supported by default.\n\nExample (MySQL):\n\n SELECT MAX (qty) FROM orders;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "MysqlSpaceAfterFunctionName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "MySQL", + "index": 128, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlAutoIncrementDuplicateInspection", + "shortDescription": { + "text": "Auto-increment duplicate" + }, + "fullDescription": { + "text": "Reports tables that contain two columns with an automatic increment. In MySQL, Microsoft SQL Server, and Db2 dialects, a table can have only one field with a auto-increment option, and this field must be a key. Example (MySQL): 'CREATE TABLE my_table\n(\n id INT AUTO_INCREMENT,\n c2 INT AUTO_INCREMENT,\n);' The AUTO_INCREMENT constraint for 'c2' will be highlighted as 'c1' already has this constraint. To fix the warning, you can make 'id' a primary key and delete AUTO_INCREMENT for 'c2'. 'CREATE TABLE my_table\n(\n id INT AUTO_INCREMENT PRIMARY KEY,\n c2 INT,\n);'", + "markdown": "Reports tables that contain two columns with an automatic increment. In MySQL, Microsoft SQL Server, and Db2 dialects, a table can have only one field with a auto-increment option, and this field must be a key.\n\nExample (MySQL):\n\n CREATE TABLE my_table\n (\n id INT AUTO_INCREMENT,\n c2 INT AUTO_INCREMENT,\n );\n\nThe AUTO_INCREMENT constraint for `c2` will be highlighted as `c1` already has this constraint. To fix the warning,\nyou can make `id` a primary key and delete AUTO_INCREMENT for `c2`.\n\n CREATE TABLE my_table\n (\n id INT AUTO_INCREMENT PRIMARY KEY,\n c2 INT,\n );\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlAutoIncrementDuplicate", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlStringLengthExceededInspection", + "shortDescription": { + "text": "Implicit string truncation" + }, + "fullDescription": { + "text": "Reports variables that exceed the defined length in characters. Example (Microsoft SQL Server): 'CREATE PROCEDURE test() AS\nBEGIN\nDECLARE myVarOk VARCHAR(5) = 'abcde';\nDECLARE myVarExceeded VARCHAR(5) = 'abcde12345';\n\nSET myVarOk = 'xyz';\nSET myVarExceeded = '123456789';\nEND;' The 'myVarExceeded' variable is defined as 'VARCHAR(5)' but both assigned values (''abcde12345'' and ''123456789'') exceed this limitation. You can truncate assigned values or increase the defined length. To increase the length, use the Increase type length quick-fix. After the quick-fix is applied: 'CREATE PROCEDURE test() AS\nBEGIN\nDECLARE myVarOk VARCHAR(5) = 'abcde';\nDECLARE myVarExceeded VARCHAR(10) = 'abcde12345';\n\nSET myVarOk = 'xyz';\nSET myVarExceeded = '123456789';\nEND;'", + "markdown": "Reports variables that exceed the defined length in characters.\n\nExample (Microsoft SQL Server):\n\n CREATE PROCEDURE test() AS\n BEGIN\n DECLARE myVarOk VARCHAR(5) = 'abcde';\n DECLARE myVarExceeded VARCHAR(5) = 'abcde12345';\n\n SET myVarOk = 'xyz';\n SET myVarExceeded = '123456789';\n END;\n\nThe `myVarExceeded` variable is defined as `VARCHAR(5)` but both assigned values (`'abcde12345'` and\n`'123456789'`) exceed this limitation. You can truncate assigned values or increase the defined length.\nTo increase the length, use the **Increase type length** quick-fix.\n\nAfter the quick-fix is applied:\n\n CREATE PROCEDURE test() AS\n BEGIN\n DECLARE myVarOk VARCHAR(5) = 'abcde';\n DECLARE myVarExceeded VARCHAR(10) = 'abcde12345';\n\n SET myVarOk = 'xyz';\n SET myVarExceeded = '123456789';\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlStringLengthExceeded", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCallNotationInspection", + "shortDescription": { + "text": "Using of named and positional arguments" + }, + "fullDescription": { + "text": "Reports calls in which positional arguments go after the named ones. Works in PostgreSQL, Oracle, and Db2. Example (In PostgreSQL): 'CREATE FUNCTION foo(a int, b int, c int) RETURNS int\n LANGUAGE plpgsql AS\n$$\nBEGIN\n RETURN a + b + c;\nEND\n$$;\nSELECT foo(a => 1, b => 2, c => 3);\n -- `3` goes after the named argument\nSELECT foo(1, b => 2, 3);\n -- `1` and `3` go after the named argument\nSELECT foo(b => 2, 1, 3);'", + "markdown": "Reports calls in which positional arguments go after the named ones. Works in PostgreSQL, Oracle, and Db2.\n\nExample (In PostgreSQL):\n\n CREATE FUNCTION foo(a int, b int, c int) RETURNS int\n LANGUAGE plpgsql AS\n $$\n BEGIN\n RETURN a + b + c;\n END\n $$;\n SELECT foo(a => 1, b => 2, c => 3);\n -- `3` goes after the named argument\n SELECT foo(1, b => 2, 3);\n -- `1` and `3` go after the named argument\n SELECT foo(b => 2, 1, 3);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SqlCallNotation", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MysqlParsingInspection", + "shortDescription": { + "text": "Unsupported syntax in pre-8.0 versions" + }, + "fullDescription": { + "text": "Reports invalid usages of UNION in queries. The inspection works in MySQL versions that are earlier than 8.0. Example (MySQL): 'SELECT * FROM (SELECT 1 UNION (SELECT 1 UNION SELECT 2)) a;'", + "markdown": "Reports invalid usages of UNION in queries.\n\nThe inspection works in MySQL versions that are earlier than 8.0.\n\nExample (MySQL):\n\n\n SELECT * FROM (SELECT 1 UNION (SELECT 1 UNION SELECT 2)) a;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MysqlParsing", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MySQL", + "index": 128, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlShadowingAliasInspection", + "shortDescription": { + "text": "Column is shadowed by alias" + }, + "fullDescription": { + "text": "Reports SELECT aliases with names that match column names in the FROM clause. Example (MySQL): 'CREATE TABLE foo (a INT, b INT, c INT);\nSELECT a b, c FROM foo;' The 'a' column uses the 'b' alias but the 'b' name is also used by the column from the 'foo' table.", + "markdown": "Reports SELECT aliases with names that match column names in the FROM clause.\n\nExample (MySQL):\n\n CREATE TABLE foo (a INT, b INT, c INT);\n SELECT a b, c FROM foo;\n\nThe `a` column uses the `b` alias but the `b` name is also used by the column from the `foo`\ntable." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlShadowingAlias", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlUnreachableCodeInspection", + "shortDescription": { + "text": "Unreachable code" + }, + "fullDescription": { + "text": "Reports unreachable statements inside SQL routines. Example (Microsoft SQL Server): 'CREATE FUNCTION foo() RETURNS INT AS\nBEGIN\n THROW;\n RETURN 1;\nEND;' In Microsoft SQL Server, the 'THROW' statement raises an exception and transfers execution to the CATCH block of the TRY...CATCH construct. Therefore, the 'RETURN 1;' part will never be executed.", + "markdown": "Reports unreachable statements inside SQL routines.\n\nExample (Microsoft SQL Server):\n\n CREATE FUNCTION foo() RETURNS INT AS\n BEGIN\n THROW;\n RETURN 1;\n END;\n\nIn Microsoft SQL Server, the `THROW` statement raises an exception and transfers execution to the CATCH block of the TRY...CATCH\nconstruct. Therefore, the `RETURN 1;` part will never be executed." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlUnreachable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlResolveInspection", + "shortDescription": { + "text": "Unresolved reference" + }, + "fullDescription": { + "text": "Reports unresolved SQL references. Example (MySQL): 'CREATE TABLE users(id INT, name VARCHAR(40));\nCREATE TABLE admins(id INT, col1 INT);\n\nSELECT users.id, admins.id FROM admins WHERE admins.id > 1;' The 'users.id' column is unresolved because the 'users' table is missing in the FROM clause.", + "markdown": "Reports unresolved SQL references.\n\nExample (MySQL):\n\n CREATE TABLE users(id INT, name VARCHAR(40));\n CREATE TABLE admins(id INT, col1 INT);\n\n SELECT users.id, admins.id FROM admins WHERE admins.id > 1;\n\nThe `users.id` column is unresolved because the `users` table is missing in the FROM clause." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SqlResolve", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantLimitInspection", + "shortDescription": { + "text": "Redundant row limiting in queries" + }, + "fullDescription": { + "text": "Reports redundant row limiting clauses like FETCH and LIMIT in queries. Example (PostgreSQL): 'CREATE TABLE foo(a INT);\n\nSELECT * FROM foo WHERE EXISTS(SELECT * FROM foo LIMIT 2);\nSELECT * FROM foo WHERE EXISTS(SELECT * FROM foo FETCH FIRST 2 ROWS ONLY);' To fix the warning, you can add OFFSET to limiting clauses. If OFFSET is missing, then LIMIT is redundant because the usage of LIMIT does not influence the operation result of EXISTS. In case with OFFSET, we skip first 'N' rows and this will influence the output. 'SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW LIMIT 2);\nSELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW FETCH FIRST 2 ROWS ONLY);'", + "markdown": "Reports redundant row limiting clauses like FETCH and LIMIT in queries.\n\nExample (PostgreSQL):\n\n CREATE TABLE foo(a INT);\n\n SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo LIMIT 2);\n SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo FETCH FIRST 2 ROWS ONLY);\n\nTo fix the warning, you can add OFFSET to limiting clauses. If OFFSET is missing, then LIMIT is redundant because\nthe usage of LIMIT does not influence the operation result of EXISTS. In case with OFFSET, we skip first `N` rows and this will\ninfluence the output.\n\n SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW LIMIT 2);\n SELECT * FROM foo WHERE EXISTS(SELECT * FROM foo OFFSET 1 ROW FETCH FIRST 2 ROWS ONLY);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantLimit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDerivedTableAliasInspection", + "shortDescription": { + "text": "Each derived table should have alias" + }, + "fullDescription": { + "text": "Reports derived tables without aliases. Example (MySQL): 'CREATE TABLE table1 (id INT, name VARCHAR(20), cats FLOAT);\nCREATE TABLE table2 (id INT, age INTEGER);\n\nSELECT id AS ID, name, cats, age\nFROM (SELECT table1.id, name, cats, age\nFROM table1\nJOIN table2 ON table1.id = table2.id);' According to Derived Tables at dev.mysql.com, an alias is mandatory. You can add the alias by using the Introduce alias quick-fix. After the quick-fix is applied: 'SELECT id AS ID, name, cats, age\nFROM (SELECT table1.id, name, cats, age\nFROM table1\nJOIN table2 ON table1.id = table2.id);'", + "markdown": "Reports derived tables without aliases.\n\nExample (MySQL):\n\n CREATE TABLE table1 (id INT, name VARCHAR(20), cats FLOAT);\n CREATE TABLE table2 (id INT, age INTEGER);\n\n SELECT id AS ID, name, cats, age\n FROM (SELECT table1.id, name, cats, age\n FROM table1\n JOIN table2 ON table1.id = table2.id);\n\nAccording to [Derived Tables at dev.mysql.com](https://dev.mysql.com/doc/refman/8.0/en/derived-tables.html), an alias is\nmandatory. You can add the alias by using the **Introduce alias** quick-fix.\n\nAfter the quick-fix is applied:\n\n SELECT id AS ID, name, cats, age\n FROM (SELECT table1.id, name, cats, age\n FROM table1\n JOIN table2 ON table1.id = table2.id);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDerivedTableAlias", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlCaseVsCoalesceInspection", + "shortDescription": { + "text": "Using CASE instead of COALESCE function and vice versa" + }, + "fullDescription": { + "text": "Reports situations when CASE and COALESCE calls are interchangeable. This inspection has the following intention actions: Replace with 'COALESCE' call and the opposite one Replace with CASE expression. Example (MySQL): 'SELECT\n -- this CASE may be replaced by COALESCE\n\tCASE\n\t\tWHEN C1 IS NOT NULL THEN C1\n\t\tELSE 0\n\t\tEND\nFROM dual;' In the example, the CASE statement can be replaced with 'SELECT COALESCE(C1, 0)' that produces the same output. If you prefer using CASE expressions, select the Prefer CASE expressions over COALESCE function option on the inspection page.", + "markdown": "Reports situations when CASE and COALESCE calls are interchangeable. This inspection has the following intention actions: **Replace\nwith 'COALESCE' call** and the opposite one **Replace with CASE expression** .\n\nExample (MySQL):\n\n SELECT\n -- this CASE may be replaced by COALESCE\n \tCASE\n \t\tWHEN C1 IS NOT NULL THEN C1\n \t\tELSE 0\n \t\tEND\n FROM dual;\n\nIn the example, the CASE statement can be replaced with `SELECT COALESCE(C1, 0)` that produces the same output.\n\nIf you prefer using CASE expressions, select the **Prefer CASE expressions over COALESCE function** option on\nthe inspection page." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlCaseVsCoalesce", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlRedundantCodeInCoalesceInspection", + "shortDescription": { + "text": "Redundant code in COALESCE call" + }, + "fullDescription": { + "text": "Reports all the arguments except for the first expression that does not evaluate to NULL in COALESCE functions. Example (MySQL): 'SELECT COALESCE(NULL, NULL, NULL, 42, NULL, 'string') as a;' The first NOT NULL argument is '42', all other arguments will be grayed out.", + "markdown": "Reports all the arguments except for the first expression that does not evaluate to NULL in COALESCE functions.\n\nExample (MySQL):\n\n SELECT COALESCE(NULL, NULL, NULL, 42, NULL, 'string') as a;\n\nThe first NOT NULL argument is `42`, all other arguments will be grayed out." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlRedundantCodeInCoalesce", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlAggregatesInspection", + "shortDescription": { + "text": "Aggregate-related problems" + }, + "fullDescription": { + "text": "Reports invalid usages of SQL aggregate functions. The following situations are considered: Columns that are used in HAVING and ORDER BY clauses but are missed in GROUP BY clauses. 'CREATE TABLE foo(id INT PRIMARY KEY, a INT, b INT);\nSELECT a, MAX(b) FROM foo GROUP BY a HAVING b > 0;\nSELECT * FROM foo GROUP BY a ORDER BY b;' This rule does not apply when grouping is made by the primary key. 'SELECT * FROM foo GROUP BY id ORDER BY b;' Aggregate functions in a wrong context. Usually, you can use aggregate functions in the following contexts: a list of expressions in SELECT; in HAVING and ORDER BY sections; and other dialect-specific cases. The following queries will display an error. 'SELECT a FROM foo WHERE MAX(b) > 0;\nSELECT a FROM foo GROUP BY MAX(a);' Nested calls of aggregate functions. 'SELECT MAX(SUM(a)) FROM foo GROUP BY a;' This rule does not apply to analytic functions. The following query is valid and correct. 'SELECT MAX(SUM(a) OVER ()) FROM foo;' Usages of HAVING without aggregate functions. In this case, consider rewriting your code using the WHERE section. 'SELECT a, MAX(b) FROM foo GROUP BY a HAVING a > 0;'", + "markdown": "Reports invalid usages of SQL aggregate functions.\n\nThe following situations are considered:\n\n* Columns that are used in HAVING and ORDER BY clauses but are missed in GROUP BY clauses.\n\n CREATE TABLE foo(id INT PRIMARY KEY, a INT, b INT);\n SELECT a, MAX(b) FROM foo GROUP BY a HAVING b > 0;\n SELECT * FROM foo GROUP BY a ORDER BY b;\n\n This rule does not apply when grouping is made by the primary key.\n\n SELECT * FROM foo GROUP BY id ORDER BY b;\n\n* Aggregate functions in a wrong context. Usually, you can use aggregate functions in the following contexts: a list of expressions in\n SELECT; in HAVING and ORDER BY sections; and other dialect-specific cases. The following queries will display an error.\n\n SELECT a FROM foo WHERE MAX(b) > 0;\n SELECT a FROM foo GROUP BY MAX(a);\n\n* Nested calls of aggregate functions.\n\n SELECT MAX(SUM(a)) FROM foo GROUP BY a;\n\n This rule does not apply to analytic functions. The following query is valid and correct.\n\n SELECT MAX(SUM(a) OVER ()) FROM foo;\n\n* Usages of HAVING without aggregate functions. In this case, consider rewriting your code using the WHERE section.\n\n SELECT a, MAX(b) FROM foo GROUP BY a HAVING a > 0;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlAggregates", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlMissingColumnAliasesInspection", + "shortDescription": { + "text": "Missing column aliases" + }, + "fullDescription": { + "text": "Reports queries without explicit aliases in output expressions (for example, in the SELECT statement). Example (PostgreSQL): 'CREATE TABLE foo(a INT, b INT);\n\nSELECT 1, a + 1 AS A2, MAX(b) AS M\nFROM foo;'", + "markdown": "Reports queries without explicit aliases in output expressions (for example, in the SELECT statement).\n\nExample (PostgreSQL):\n\n CREATE TABLE foo(a INT, b INT);\n\n SELECT 1, a + 1 AS A2, MAX(b) AS M\n FROM foo;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlMissingColumnAliases", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlAddNotNullColumnInspection", + "shortDescription": { + "text": "Adding not null column without default value" + }, + "fullDescription": { + "text": "Reports attempts to create NOT NULL columns without DEFAULT values. Example (Microsoft SQL Server): 'CREATE TABLE foo (a INT, b INT)\n\nALTER TABLE foo ADD c INT NOT NULL;' By default, a column holds NULL values. In the example, we use the NOT NULL constraint that enforces a column not to accept NULL values. If we prohibit to use NULL values, we must set the DEFAULT value that SQL can use when we create a new record. 'ALTER TABLE foo ADD c INT NOT NULL DEFAULT 42;' You can quickly add the DEFAULT value by using the Add DEFAULT value quick-fix.", + "markdown": "Reports attempts to create NOT NULL columns without DEFAULT values.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE foo (a INT, b INT)\n\n ALTER TABLE foo ADD c INT NOT NULL;\n\nBy default, a column holds NULL values. In the example, we use the NOT NULL constraint that enforces a column not to accept NULL values.\nIf we prohibit to use NULL values, we must set the DEFAULT value that SQL can use when we create a new record.\n\n ALTER TABLE foo ADD c INT NOT NULL DEFAULT 42;\n\nYou can quickly add the DEFAULT value by using the **Add DEFAULT value** quick-fix." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlAddNotNullColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MongoJSExtResolveInspection", + "shortDescription": { + "text": "Resolution problems" + }, + "fullDescription": { + "text": "Reports unresolved references in MongoDB and JavaScript code.", + "markdown": "Reports unresolved references in MongoDB and JavaScript code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MongoJSResolve", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "MongoJS", + "index": 88, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlIllegalCursorStateInspection", + "shortDescription": { + "text": "Illegal cursor state" + }, + "fullDescription": { + "text": "Reports illegal cursor states inside SQL routines. A routine has CLOSE or FETCH statements but a cursor might be closed. A routine has the OPEN statement but a cursor might be opened. Example (Microsoft SQL Server): 'CREATE TABLE t(col INT);\n\nCREATE PROCEDURE foo() AS\nBEGIN\nDECLARE my_cursor CURSOR FOR SELECT * FROM t;\nDECLARE a INT;\nFETCH my_cursor INTO a;\nCLOSE my_cursor;\nEND;' According to CLOSE (Transact-SQL) at docs.microsoft.com, CLOSE must be issued on an open cursor, and CLOSE is not allowed on cursors that have only been declared or are already closed. So, we need to open the cursor to fix the warning. 'CREATE PROCEDURE foo() AS\nBEGIN\nDECLARE my_cursor CURSOR FOR SELECT * FROM t;\nDECLARE a INT;\nOPEN my_cursor;\nFETCH my_cursor INTO a;\nCLOSE my_cursor;\nEND;'", + "markdown": "Reports illegal cursor states inside SQL routines.\n\n* A routine has CLOSE or FETCH statements but a cursor might be closed.\n* A routine has the OPEN statement but a cursor might be opened.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE t(col INT);\n\n CREATE PROCEDURE foo() AS\n BEGIN\n DECLARE my_cursor CURSOR FOR SELECT * FROM t;\n DECLARE a INT;\n FETCH my_cursor INTO a;\n CLOSE my_cursor;\n END;\n\nAccording to [CLOSE (Transact-SQL) at\ndocs.microsoft.com](https://docs.microsoft.com/en-us/sql/t-sql/language-elements/close-transact-sql), CLOSE must be issued on an open cursor, and CLOSE is not allowed on cursors that have only been declared or are\nalready closed. So, we need to open the cursor to fix the warning.\n\n CREATE PROCEDURE foo() AS\n BEGIN\n DECLARE my_cursor CURSOR FOR SELECT * FROM t;\n DECLARE a INT;\n OPEN my_cursor;\n FETCH my_cursor INTO a;\n CLOSE my_cursor;\n END;\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlIllegalCursorState", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlDuplicateColumnInspection", + "shortDescription": { + "text": "Duplicating column name in SELECT" + }, + "fullDescription": { + "text": "Reports duplicated names of column aliases in SELECT lists. Example (Sybase ASE): 'CREATE TABLE t1 (a TEXT, b INT, c INT);\n\nSELECT a AS x, b AS x FROM t1;' The 'x' alias name is used for 'a' and 'b' columns. These assignments are highlighted as errors because you cannot use identical alias names for columns in Sybase ASE.", + "markdown": "Reports duplicated names of column aliases in SELECT lists.\n\nExample (Sybase ASE):\n\n CREATE TABLE t1 (a TEXT, b INT, c INT);\n\n SELECT a AS x, b AS x FROM t1;\n\nThe `x` alias name is used for `a` and `b` columns. These assignments are highlighted as errors because\nyou cannot use identical alias names for columns in Sybase ASE." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlDuplicateColumn", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SqlIdentifierInspection", + "shortDescription": { + "text": "Identifier should be quoted" + }, + "fullDescription": { + "text": "Reports situations when you use SQL reserved keywords as identifier names in your query. Example (Microsoft SQL Server): 'CREATE TABLE select (identity INT IDENTITY NOT NULL, order INT NOT NULL);' We use 'select', 'identity', and 'order' as table and column names. But they are also reserved keywords in Microsoft SQL Server. Therefore, in order to use them as object names in the query, you must quote these identifiers. To quote them, you can use the Quote identifier quick-fix. After the quick-fix is applied: 'CREATE TABLE [select] ([identity] INT IDENTITY NOT NULL, [order] INT NOT NULL);'", + "markdown": "Reports situations when you use SQL reserved keywords as identifier names in your query.\n\nExample (Microsoft SQL Server):\n\n CREATE TABLE select (identity INT IDENTITY NOT NULL, order INT NOT NULL);\n\nWe use `select`, `identity`, and `order` as table and column names.\nBut they are also reserved keywords in Microsoft SQL Server.\nTherefore, in order to use them as object names in the query, you must quote these identifiers. To quote them, you can use the\n**Quote identifier** quick-fix.\n\nAfter the quick-fix is applied:\n\n CREATE TABLE [select] ([identity] INT IDENTITY NOT NULL, [order] INT NOT NULL);\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SqlIdentifier", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "SQL", + "index": 24, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.css", + "version": "241.14494.107", + "rules": [ + { + "id": "CssInvalidFunction", + "shortDescription": { + "text": "Invalid function" + }, + "fullDescription": { + "text": "Reports an unknown CSS function or an incorrect function parameter.", + "markdown": "Reports an unknown [CSS function](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Functions) or an incorrect function parameter." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidFunction", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssConvertColorToRgbInspection", + "shortDescription": { + "text": "Color could be replaced with rgb()" + }, + "fullDescription": { + "text": "Reports an 'hsl()' or 'hwb()' color function or a hexadecimal color notation. Suggests replacing such color value with an equivalent 'rgb()' or 'rgba()' color function. Example: '#0c0fff' After the quick-fix is applied: 'rgb(12, 15, 255)'.", + "markdown": "Reports an `hsl()` or `hwb()` color function or a hexadecimal color notation.\n\nSuggests replacing such color value with an equivalent `rgb()` or `rgba()` color function.\n\n**Example:**\n\n #0c0fff\n\nAfter the quick-fix is applied:\n\n rgb(12, 15, 255).\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssConvertColorToRgbInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssOverwrittenProperties", + "shortDescription": { + "text": "Overwritten property" + }, + "fullDescription": { + "text": "Reports a duplicated CSS property within a ruleset. Respects shorthand properties. Example: '.foo {\n margin-bottom: 1px;\n margin-bottom: 1px; /* duplicates margin-bottom */\n margin: 0; /* overrides margin-bottom */\n}'", + "markdown": "Reports a duplicated CSS property within a ruleset. Respects shorthand properties.\n\n**Example:**\n\n\n .foo {\n margin-bottom: 1px;\n margin-bottom: 1px; /* duplicates margin-bottom */\n margin: 0; /* overrides margin-bottom */\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssOverwrittenProperties", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidNestedSelector", + "shortDescription": { + "text": "Invalid nested selector" + }, + "fullDescription": { + "text": "Reports a nested selector starting with an identifier or a functional notation.", + "markdown": "Reports a nested selector starting with an identifier or a functional notation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidNestedSelector", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidHtmlTagReference", + "shortDescription": { + "text": "Invalid type selector" + }, + "fullDescription": { + "text": "Reports a CSS type selector that matches an unknown HTML element.", + "markdown": "Reports a CSS [type selector](https://developer.mozilla.org/en-US/docs/Web/CSS/Type_selectors) that matches an unknown HTML element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidHtmlTagReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssMissingSemicolon", + "shortDescription": { + "text": "Missing semicolon" + }, + "fullDescription": { + "text": "Reports a missing semicolon at the end of a declaration.", + "markdown": "Reports a missing semicolon at the end of a declaration." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssMissingSemicolon", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code style issues", + "index": 112, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCustomPropertyAtRuleName", + "shortDescription": { + "text": "Invalid @property name" + }, + "fullDescription": { + "text": "Reports an invalid custom property name. Custom property name should be prefixed with two dashes. Example: '@property invalid-property-name {\n ...\n}\n\n@property --valid-property-name {\n ...\n}'", + "markdown": "Reports an invalid custom property name. Custom property name should be prefixed with two dashes.\n\n**Example:**\n\n\n @property invalid-property-name {\n ...\n }\n\n @property --valid-property-name {\n ...\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidCustomPropertyAtRuleName", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownTarget", + "shortDescription": { + "text": "Unresolved file reference" + }, + "fullDescription": { + "text": "Reports an unresolved file reference, for example, an incorrect path in an '@import' statement.", + "markdown": "Reports an unresolved file reference, for example, an incorrect path in an `@import` statement." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnknownTarget", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCharsetRule", + "shortDescription": { + "text": "Misplaced or incorrect @charset" + }, + "fullDescription": { + "text": "Reports a misplaced '@charset' at-rule or an incorrect charset value.", + "markdown": "Reports a misplaced `@charset` at-rule or an incorrect charset value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidCharsetRule", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidPseudoSelector", + "shortDescription": { + "text": "Invalid pseudo-selector" + }, + "fullDescription": { + "text": "Reports an incorrect CSS pseudo-class pseudo-element.", + "markdown": "Reports an incorrect CSS [pseudo-class](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-classes) [pseudo-element](https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidPseudoSelector", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidCustomPropertyAtRuleDeclaration", + "shortDescription": { + "text": "Invalid @property declaration" + }, + "fullDescription": { + "text": "Reports a missing required syntax, inherits, or initial-value property in a declaration of a custom property.", + "markdown": "Reports a missing required [syntax](https://developer.mozilla.org/en-US/docs/web/css/@property/syntax), [inherits](https://developer.mozilla.org/en-US/docs/web/css/@property/inherits), or [initial-value](https://developer.mozilla.org/en-US/docs/web/css/@property/initial-value) property in a declaration of a custom property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidCustomPropertyAtRuleDeclaration", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssBrowserCompatibilityForProperties", + "shortDescription": { + "text": "Property is incompatible with selected browsers" + }, + "fullDescription": { + "text": "Reports a CSS property that is not supported by the specified browsers. Based on the MDN Compatibility Data.", + "markdown": "Reports a CSS property that is not supported by the specified browsers. Based on the [MDN Compatibility Data](https://github.com/mdn/browser-compat-data)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssBrowserCompatibilityForProperties", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidMediaFeature", + "shortDescription": { + "text": "Invalid media feature" + }, + "fullDescription": { + "text": "Reports an unknown CSS media feature or an incorrect media feature value.", + "markdown": "Reports an unknown [CSS media feature](https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries) or an incorrect media feature value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidMediaFeature", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnresolvedCustomProperty", + "shortDescription": { + "text": "Unresolved custom property" + }, + "fullDescription": { + "text": "Reports an unresolved reference to a custom property among the arguments of the 'var()' function.", + "markdown": "Reports an unresolved reference to a [custom property](https://developer.mozilla.org/en-US/docs/Web/CSS/--*) among the arguments of the `var()` function." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnresolvedCustomProperty", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownProperty", + "shortDescription": { + "text": "Unknown property" + }, + "fullDescription": { + "text": "Reports an unknown CSS property or a property used in a wrong context. Add the unknown property to the 'Custom CSS properties' list to skip validation.", + "markdown": "Reports an unknown CSS property or a property used in a wrong context.\n\nAdd the unknown property to the 'Custom CSS properties' list to skip validation." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssUnknownProperty", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssMissingComma", + "shortDescription": { + "text": "Missing comma in selector list" + }, + "fullDescription": { + "text": "Reports a multi-line selector. Most likely this means that several single-line selectors are actually intended but a comma is missing at the end of one or several lines. Example: 'input /* comma has probably been forgotten */\n.button {\n margin: 1px;\n}'", + "markdown": "Reports a multi-line selector. Most likely this means that several single-line selectors are actually intended but a comma is missing at the end of one or several lines.\n\n**Example:**\n\n\n input /* comma has probably been forgotten */\n .button {\n margin: 1px;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssMissingComma", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 132, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnusedSymbol", + "shortDescription": { + "text": "Unused selector" + }, + "fullDescription": { + "text": "Reports a CSS class or an element IDs that appears in selectors but is not used in HTML. Note that complete inspection results are available only when running it via Code | Inspect Code or Code | Analyze Code | Run Inspection by Name. Due to performance reasons, style sheet files are not inspected on the fly.", + "markdown": "Reports a CSS class or an element IDs that appears in selectors but is not used in HTML.\n\n\nNote that complete inspection results are available only when running it via **Code \\| Inspect Code** or\n**Code \\| Analyze Code \\| Run Inspection by Name**.\nDue to performance reasons, style sheet files are not inspected on the fly." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssUnusedSymbol", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssDeprecatedValue", + "shortDescription": { + "text": "Deprecated value" + }, + "fullDescription": { + "text": "Reports a deprecated CSS value. Suggests replacing the deprecated value with its valid equivalent.", + "markdown": "Reports a deprecated CSS value. Suggests replacing the deprecated value with its valid equivalent." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssDeprecatedValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNonIntegerLengthInPixels", + "shortDescription": { + "text": "Non-integer length in pixels" + }, + "fullDescription": { + "text": "Reports a non-integer length in pixels. Example: 'width: 3.14px'", + "markdown": "Reports a non-integer length in pixels.\n\n**Example:**\n\n width: 3.14px\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssNonIntegerLengthInPixels", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 132, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssConvertColorToHexInspection", + "shortDescription": { + "text": "Color could be replaced with #-hex" + }, + "fullDescription": { + "text": "Reports an 'rgb()', 'hsl()', or other color function. Suggests replacing a color function with an equivalent hexadecimal notation. Example: 'rgb(12, 15, 255)' After the quick-fix is applied: '#0c0fff'.", + "markdown": "Reports an `rgb()`, `hsl()`, or other color function.\n\nSuggests replacing a color function with an equivalent hexadecimal notation.\n\n**Example:**\n\n rgb(12, 15, 255)\n\nAfter the quick-fix is applied:\n\n #0c0fff.\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssConvertColorToHexInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidAtRule", + "shortDescription": { + "text": "Unknown at-rule" + }, + "fullDescription": { + "text": "Reports an unknown CSS at-rule.", + "markdown": "Reports an unknown [CSS at-rule](https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidAtRule", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNegativeValue", + "shortDescription": { + "text": "Negative property value" + }, + "fullDescription": { + "text": "Reports a negative value of a CSS property that is not expected to be less than zero, for example, object width or height.", + "markdown": "Reports a negative value of a CSS property that is not expected to be less than zero, for example, object width or height." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssNegativeValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssNoGenericFontName", + "shortDescription": { + "text": "Missing generic font family name" + }, + "fullDescription": { + "text": "Verifies that the 'font-family' property contains a generic font family name as a fallback alternative. Generic font family names are: 'serif', 'sans-serif', 'cursive', 'fantasy', and 'monospace'.", + "markdown": "Verifies that the [font-family](https://developer.mozilla.org/en-US/docs/Web/CSS/font-family) property contains a generic font family name as a fallback alternative.\n\n\nGeneric font family names are: `serif`, `sans-serif`, `cursive`, `fantasy`,\nand `monospace`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssNoGenericFontName", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Probable bugs", + "index": 132, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssRedundantUnit", + "shortDescription": { + "text": "Redundant measure unit" + }, + "fullDescription": { + "text": "Reports a measure unit of a zero value where units are not required by the specification. Example: 'width: 0px'", + "markdown": "Reports a measure unit of a zero value where units are not required by the specification.\n\n**Example:**\n\n width: 0px\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssRedundantUnit", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code style issues", + "index": 112, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidPropertyValue", + "shortDescription": { + "text": "Invalid property value" + }, + "fullDescription": { + "text": "Reports an incorrect CSS property value.", + "markdown": "Reports an incorrect CSS property value." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssInvalidPropertyValue", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssReplaceWithShorthandUnsafely", + "shortDescription": { + "text": "Properties may probably be replaced with a shorthand" + }, + "fullDescription": { + "text": "Reports a set of longhand CSS properties and suggests replacing an incomplete set of longhand CSS properties with a shorthand form, which is however not 100% equivalent in this case. For example, 2 properties: 'outline-color' and 'outline-style' may be replaced with a single 'outline'. Such replacement is not 100% equivalent because shorthands reset all omitted sub-values to their initial states. In this example, switching to the 'outline' shorthand means that 'outline-width' is also set to its initial value, which is 'medium'. This inspection doesn't handle full sets of longhand properties (when switching to shorthand is 100% safe). For such cases see the 'Properties may be safely replaced with a shorthand' inspection instead.", + "markdown": "Reports a set of longhand CSS properties and suggests replacing an incomplete set of longhand CSS properties with a shorthand form, which is however not 100% equivalent in this case.\n\n\nFor example, 2 properties: `outline-color` and `outline-style` may be replaced with a single `outline`.\nSuch replacement is not 100% equivalent because shorthands reset all omitted sub-values to their initial states.\nIn this example, switching to the `outline` shorthand means that `outline-width` is also set to its initial value,\nwhich is `medium`.\n\n\nThis inspection doesn't handle full sets of longhand properties (when switching to shorthand is 100% safe).\nFor such cases see the 'Properties may be safely replaced with a shorthand' inspection instead." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssReplaceWithShorthandUnsafely", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnknownUnit", + "shortDescription": { + "text": "Unknown unit" + }, + "fullDescription": { + "text": "Reports an unknown unit.", + "markdown": "Reports an unknown unit." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnknownUnit", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssInvalidImport", + "shortDescription": { + "text": "Misplaced @import" + }, + "fullDescription": { + "text": "Reports a misplaced '@import' statement. According to the specification, '@import' rules must precede all other types of rules, except '@charset' rules.", + "markdown": "Reports a misplaced `@import` statement.\n\n\nAccording to the [specification](https://developer.mozilla.org/en-US/docs/Web/CSS/@import),\n`@import` rules must precede all other types of rules, except `@charset` rules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CssInvalidImport", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssUnresolvedClassInComposesRule", + "shortDescription": { + "text": "Unresolved class in 'composes' rule" + }, + "fullDescription": { + "text": "Reports a CSS class reference in the 'composes' rule that cannot be resolved to any valid target. Example: '.className {/* ... */}\n\n .otherClassName {\n composes: className;\n }'", + "markdown": "Reports a CSS class reference in the ['composes'](https://github.com/css-modules/css-modules#composition) rule that cannot be resolved to any valid target.\n\n**Example:**\n\n\n .className {/* ... */}\n\n .otherClassName {\n composes: className;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "CssUnresolvedClassInComposesRule", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Invalid elements", + "index": 29, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CssReplaceWithShorthandSafely", + "shortDescription": { + "text": "Properties may be safely replaced with a shorthand" + }, + "fullDescription": { + "text": "Reports a set of longhand properties. Suggests replacing a complete set of longhand CSS properties with an equivalent shorthand form. For example, 4 properties: 'padding-top', 'padding-right', 'padding-bottom', and 'padding-left' can be safely replaced with a single 'padding' property. Note that this inspection doesn't show up if the set of longhand properties is incomplete (e.g. only 3 'padding-xxx' properties in a ruleset) because switching to a shorthand may change the result. For such cases consider the 'Properties may probably be replaced with a shorthand' inspection.", + "markdown": "Reports a set of longhand properties. Suggests replacing a complete set of longhand CSS properties with an equivalent shorthand form.\n\n\nFor example, 4 properties: `padding-top`, `padding-right`, `padding-bottom`, and\n`padding-left`\ncan be safely replaced with a single `padding` property.\n\n\nNote that this inspection doesn't show up if the set of longhand properties is incomplete\n(e.g. only 3 `padding-xxx` properties in a ruleset)\nbecause switching to a shorthand may change the result.\nFor such cases consider the 'Properties may probably be replaced with a shorthand'\ninspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "CssReplaceWithShorthandSafely", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "CSS", + "index": 28, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.restClient", + "version": "241.14494.107", + "rules": [ + { + "id": "HttpClientUnresolvedAuthId", + "shortDescription": { + "text": "Unresolved Auth identifier" + }, + "fullDescription": { + "text": "Highlights references to non-existent Auth configurations. Suggests creating a new one in the current environment.", + "markdown": "Highlights references to non-existent Auth configurations. Suggests creating a new one in the current environment." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "HttpClientUnresolvedAuthId", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestRequestSeparatorJsonBodyInspection", + "shortDescription": { + "text": "Missing request separator in JSON body" + }, + "fullDescription": { + "text": "Reports possible requests in injected JSON body where request separator '###' is missing. The quick fix suggests adding the separator '###' before the request.", + "markdown": "Reports possible requests in injected JSON body where request separator `###` is missing. The quick fix suggests adding the separator `###` before the request." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpRequestRequestSeparatorJsonBodyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestContentLengthIsIgnored", + "shortDescription": { + "text": "Redundant 'Content-Length'" + }, + "fullDescription": { + "text": "Reports an explicitly set 'Content-Length' header. The header is redundant because HTTP Client uses the actual request body length.", + "markdown": "Reports an explicitly set `Content-Length` header. The header is redundant because HTTP Client uses the actual request body length." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HttpRequestContentLengthIsIgnored", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestRequestSeparatorXmlBodyInspection", + "shortDescription": { + "text": "Missing request separator in HTML/XML body" + }, + "fullDescription": { + "text": "Reports possible requests in injected XML/HTML body where request separator '###' is missing. The quick fix suggests adding the separator '###' before the request.", + "markdown": "Reports possible requests in injected XML/HTML body where request separator `###` is missing. The quick fix suggests adding the separator `###` before the request." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpRequestRequestSeparatorXmlBodyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpClientUnresolvedVariable", + "shortDescription": { + "text": "Unresolved environment variable" + }, + "fullDescription": { + "text": "Reports variables undeclared in the current environment HTTP Client. Executing requests with undeclared variables probably fail. Consider adding a variable to the environment or selecting an environment with this variable. Inspection doesn't report variables in request bodies, because it can be a valid syntax of the body. Some variables may be not reported as unresolved, because they are declared in response or pre-request handler scripts via 'client.global.set' or 'request.variables.set' functions call.", + "markdown": "Reports variables undeclared in the current environment HTTP Client.\n\n\nExecuting requests with undeclared variables probably fail.\nConsider adding a variable to the environment or selecting an environment with this variable.\n\nInspection doesn't report variables in request bodies, because it can be a valid syntax of the body.\n\n\nSome variables may be not reported as unresolved, because they are declared in response or pre-request handler scripts via\n`client.global.set` or `request.variables.set` functions call." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HttpClientUnresolvedVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IncorrectHttpHeaderInspection", + "shortDescription": { + "text": "Incorrect HTTP header" + }, + "fullDescription": { + "text": "Reports unknown HTTP headers that do not match any publicly known headers. The quick fix suggests adding the header to the list of custom headers when the Use custom HTTP headers option is enabled. HTTP headers from the list of custom headers will not trigger the inspection.", + "markdown": "Reports unknown HTTP headers that do not match any [publicly\nknown headers](https://www.iana.org/assignments/message-headers/message-headers.xml). The quick fix suggests adding the header to the list of custom headers when the **Use custom HTTP headers** option\nis enabled. HTTP headers from the list of custom headers will not trigger the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IncorrectHttpHeaderInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestEnvironmentAuthConfigurationValidationInspection", + "shortDescription": { + "text": "Auth configuration validation" + }, + "fullDescription": { + "text": "Reports Auth configuration the following problems in HTTP Client environment files: Missing properties in Auth configuration Auth/Security configuration placed in private environment file", + "markdown": "Reports Auth configuration the following problems in HTTP Client environment files:\n\n* Missing properties in Auth configuration\n* Auth/Security configuration placed in private environment file" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HttpRequestEnvironmentAuthConfigurationValidationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpUrlsUsage", + "shortDescription": { + "text": "Link with unencrypted protocol" + }, + "fullDescription": { + "text": "Reports the links that use unencrypted protocols (such as HTTP), which can expose your data to man-in-the-middle attacks. These attacks are dangerous in general and may be especially harmful for artifact repositories. Use protocols with encryption, such as HTTPS, instead. See HTTPS: Difference from HTTP (wikipedia.org).", + "markdown": "Reports the links that use unencrypted protocols (such as HTTP), which can expose your data to man-in-the-middle attacks. These attacks\nare dangerous in general and may be especially harmful for artifact repositories. Use protocols with encryption, such as HTTPS,\ninstead.\n\nSee [HTTPS: Difference from HTTP (wikipedia.org)](https://en.wikipedia.org/wiki/HTTPS#Difference_from_HTTP)." + }, + "defaultConfiguration": { + "enabled": true, + "level": "note", + "parameters": { + "suppressToolId": "HttpUrlsUsage", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Security", + "index": 80, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestPlaceholder", + "shortDescription": { + "text": "'$placeholder' in HTTP Request" + }, + "fullDescription": { + "text": "Reports a '$placeholder' inside a request. A '$placeholder' to be replaced by the user is created automatically when a tool cannot recognize a part of a request. For example, a request mapping '/aaaa/*/bbb' will be generated as 'GET localhost/aaaa/{{$placeholder}}/bbb'.", + "markdown": "Reports a `$placeholder` inside a request.\n\nA `$placeholder` to be replaced by the user is created automatically when a tool cannot recognize a part of a request. For example, a request mapping `/aaaa/*/bbb` will be generated as `GET localhost/aaaa/{{$placeholder}}/bbb`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HttpRequestPlaceholder", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestWhitespaceInsideRequestTargetPath", + "shortDescription": { + "text": "Whitespace in URL in request" + }, + "fullDescription": { + "text": "Highlights spaces inside URL path segments. HTTP Client will ignore them. For better composing use Split Lines action.", + "markdown": "Highlights spaces inside URL path segments. HTTP Client will ignore them. For better composing use Split Lines action." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpRequestWhitespaceInsideRequestTargetPath", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpClientInappropriateProtocolUsageInspection", + "shortDescription": { + "text": "Inappropriate HTTP Protocol usage" + }, + "fullDescription": { + "text": "Reports inappropriate usage of HTTP protocol keyword, e.g. 'HTTP/2', with non-HTTP method requests. Such a usage will be ignored.", + "markdown": "Reports inappropriate usage of HTTP protocol keyword, e.g. `HTTP/2`, with non-HTTP method requests. Such a usage will be ignored." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpClientInappropriateProtocolUsageInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HttpRequestRequestSeparatorYamlBodyInspection", + "shortDescription": { + "text": "Missing request separator in YAML body" + }, + "fullDescription": { + "text": "Reports possible requests in injected YAML body where request separator '###' is missing. The quick fix suggests adding the separator '###' before the request.", + "markdown": "Reports possible requests in injected YAML body where request separator `###` is missing. The quick fix suggests adding the separator `###` before the request." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HttpRequestRequestSeparatorYamlBodyInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "HTTP Client", + "index": 32, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.kubernetes", + "version": "241.14494.107", + "rules": [ + { + "id": "KubernetesDeprecatedResources", + "shortDescription": { + "text": "Deprecated Kubernetes resources" + }, + "fullDescription": { + "text": "Report deprecated Kubernetes resource types.", + "markdown": "Report deprecated Kubernetes resource types. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "KubernetesDeprecatedResources", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "KubernetesNonEditableResources", + "shortDescription": { + "text": "Non-editable Kubernetes resources" + }, + "fullDescription": { + "text": "Reports non-editable (read-only) Kubernetes resource types.", + "markdown": "Reports non-editable (read-only) Kubernetes resource types. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "KubernetesNonEditableResources", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "KubernetesDeprecatedKeys", + "shortDescription": { + "text": "Deprecated Kubernetes resource properties" + }, + "fullDescription": { + "text": "Reports deprecated keys in Kubernetes resource files.", + "markdown": "Reports deprecated keys in Kubernetes resource files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "KubernetesDeprecatedKeys", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "KubernetesNonEditableKeys", + "shortDescription": { + "text": "Non-editable Kubernetes resource properties" + }, + "fullDescription": { + "text": "Reports non-editable (read-only) keys in Kubernetes resource files.", + "markdown": "Reports non-editable (read-only) keys in Kubernetes resource files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "KubernetesNonEditableKeys", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HelmChartMissingKeys", + "shortDescription": { + "text": "Missing Chart.yaml keys" + }, + "fullDescription": { + "text": "Reports missing required keys in Chart.yaml.", + "markdown": "Reports missing required keys in Chart.yaml. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "HelmChartMissingKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "KubernetesUnknownValues", + "shortDescription": { + "text": "Unknown Kubernetes YAML values" + }, + "fullDescription": { + "text": "Reports invalid values in Kubernetes resource files.", + "markdown": "Reports invalid values in Kubernetes resource files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "KubernetesUnknownValues", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "KubernetesUnknownKeys", + "shortDescription": { + "text": "Unknown Kubernetes YAML keys" + }, + "fullDescription": { + "text": "Reports unrecognized keys in Kubernetes resource files.", + "markdown": "Reports unrecognized keys in Kubernetes resource files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "KubernetesUnknownKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HelmChartUnknownValues", + "shortDescription": { + "text": "Invalid Chart.yaml values" + }, + "fullDescription": { + "text": "Reports unrecognized values in Chart.yaml and requirements.yaml.", + "markdown": "Reports unrecognized values in Chart.yaml and requirements.yaml. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "HelmChartUnknownValues", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "KubernetesMissingKeys", + "shortDescription": { + "text": "Missing Kubernetes YAML keys" + }, + "fullDescription": { + "text": "Reports missing required keys in Kubernetes resource files.", + "markdown": "Reports missing required keys in Kubernetes resource files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "KubernetesMissingKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "KubernetesUnknownResourcesInspection", + "shortDescription": { + "text": "Unknown Kubernetes resources" + }, + "fullDescription": { + "text": "Reports unrecognized Kubernetes resource types.", + "markdown": "Reports unrecognized Kubernetes resource types. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "KubernetesUnknownResourcesInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HelmChartUnknownKeys", + "shortDescription": { + "text": "Unknown Chart.yaml keys" + }, + "fullDescription": { + "text": "Reports unrecognized keys in Chart.yaml.", + "markdown": "Reports unrecognized keys in Chart.yaml. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HelmChartUnknownKeys", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "KubernetesDuplicatedEnvVars", + "shortDescription": { + "text": "Duplicated EnvVar definitions" + }, + "fullDescription": { + "text": "Reports duplicate EnvVars in Kubernetes container definitions.", + "markdown": "Reports duplicate EnvVars in Kubernetes container definitions. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "KubernetesDuplicatedEnvVars", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Kubernetes", + "index": 33, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.properties", + "version": "241.14494.107", + "rules": [ + { + "id": "UseEllipsisInPropertyInspection", + "shortDescription": { + "text": "Three dot characters instead of the ellipsis" + }, + "fullDescription": { + "text": "Reports three \"dot\" characters which are used instead of the ellipsis character for UTF-8 properties files.", + "markdown": "Reports three \"dot\" characters which are used instead of the ellipsis character for UTF-8 properties files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UseEllipsisInPropertyInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Properties files", + "index": 38, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AlphaUnsortedPropertiesFile", + "shortDescription": { + "text": "Properties file or resource bundle is alphabetically unsorted" + }, + "fullDescription": { + "text": "Reports alphabetically unsorted resource bundles or .properties files.", + "markdown": "Reports alphabetically unsorted resource bundles or .properties files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "AlphaUnsortedPropertiesFile", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Properties files", + "index": 38, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UnusedProperty", + "shortDescription": { + "text": "Unused property" + }, + "fullDescription": { + "text": "Reports properties that are not referenced outside of the .properties file they are contained in.", + "markdown": "Reports properties that are not referenced outside of the .properties file they are contained in." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnusedProperty", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Properties files", + "index": 38, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "TrailingSpacesInProperty", + "shortDescription": { + "text": "Trailing spaces in property" + }, + "fullDescription": { + "text": "Reports properties whose keys or values end with a whitespace.", + "markdown": "Reports properties whose keys or values end with a whitespace." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TrailingSpacesInProperty", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Properties files", + "index": 38, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "WrongPropertyKeyValueDelimiter", + "shortDescription": { + "text": "Property key/value delimiter doesn't match code style settings" + }, + "fullDescription": { + "text": "Reports properties in which key or value delimiters do not match code style settings.", + "markdown": "Reports properties in which key or value delimiters do not match code style settings." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "WrongPropertyKeyValueDelimiter", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Properties files", + "index": 38, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicatePropertyInspection", + "shortDescription": { + "text": "Duplicate property" + }, + "fullDescription": { + "text": "Reports duplicate property keys with different values, duplicate keys, or duplicate property values. Example: 'property1=value;\nproperty2=value;' The Options list allows selecting the area in which the inspection should search for duplicates.", + "markdown": "Reports duplicate property keys with different values, duplicate keys, or duplicate property values.\n\nExample:\n\n\n property1=value;\n property2=value;\n\nThe **Options** list allows selecting the area in which the inspection should search for duplicates." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DuplicatePropertyInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Properties files", + "index": 38, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "XPathView", + "version": "241.14494.107", + "rules": [ + { + "id": "XsltUnusedDeclaration", + "shortDescription": { + "text": "Unused variable or parameter" + }, + "fullDescription": { + "text": "Reports local variables and parameters that are never used.", + "markdown": "Reports local variables and parameters that are never used." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XsltUnusedDeclaration", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XSLT", + "index": 43, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "RedundantTypeConversion", + "shortDescription": { + "text": "Redundant type conversion" + }, + "fullDescription": { + "text": "Reports unnecessary type conversions. Type conversions are unnecessary when the argument type of a 'string()', 'number()', or 'boolean()' function is already the same as the function's return type or if the expected expression type is 'any'. Suggests removing the unnecessary conversion.", + "markdown": "Reports unnecessary type conversions. Type conversions are unnecessary when the argument type of a `string()`, `number()`, or `boolean()` function is already the same as the function's return type or if the expected expression type is `any`. Suggests removing the unnecessary conversion." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "RedundantTypeConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 83, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckNodeTest", + "shortDescription": { + "text": "Unknown element or attribute name" + }, + "fullDescription": { + "text": "Reports names of elements or attributes that are used in an XPath-expression but are missing in the associated XML files and are not defined in the referenced schemas. Such names are often the result of typos and would otherwise probably only be discovered at runtime. Example: '' If the 'h' is bound to the XHTML namespace, the inspection will report this part of the 'match' expression as an unknown element name because the correct name of the element is \"textarea\".", + "markdown": "Reports names of elements or attributes that are used in an XPath-expression but are missing in the associated XML files and are not defined in the referenced schemas. Such names are often the result of typos and would otherwise probably only be discovered at runtime.\n\n**Example:**\n\n\n \n\n\nIf the `h` is bound to the XHTML namespace, the inspection will report this part of the `match` expression as an\nunknown element name because the correct name of the element is \"textarea\"." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckNodeTest", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 83, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XsltDeclarations", + "shortDescription": { + "text": "Incorrect declaration" + }, + "fullDescription": { + "text": "Reports duplicate declarations and illegal identifiers in XSLT variables, parameters, and named templates:", + "markdown": "Reports duplicate declarations and illegal identifiers in XSLT variables, parameters, and named templates:" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XsltDeclarations", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XSLT", + "index": 43, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HardwiredNamespacePrefix", + "shortDescription": { + "text": "Hardcoded namespace prefix" + }, + "fullDescription": { + "text": "Reports comparisons of the 'name()' function with a string that contains a colon (':'). Such usages usually indicate a hardcoded namespace prefix in the comparison. As a result, the code will break when run against XML that uses another prefix for the same namespace. Example: '...'", + "markdown": "Reports comparisons of the `name()` function with a string that contains a colon (`:`). Such usages usually indicate a hardcoded namespace prefix in the comparison. As a result, the code will break when run against XML that uses another prefix for the same namespace.\n\n**Example:**\n\n\n ...\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HardwiredNamespacePrefix", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 83, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ImplicitTypeConversion", + "shortDescription": { + "text": "Implicit type conversion" + }, + "fullDescription": { + "text": "Reports implicit conversions between the predefined XPath-types 'STRING', 'NUMBER', 'BOOLEAN', and 'NODESET'. Helps to write XSLT scripts that are more expressive about types and prevents subtle bugs: Example: '' is not the same as '' The first test checks whether the element \"foo\" exists ('count(foo) > 0)'; the latter one however is only true if the element actually contains any text ('string-length(foo) > 0'). Suggests making the type conversion more explicit. Use the following options to configure the inspection: Enable or disable implicit conversions between certain types Always report explicit conversions that do not result in the actually expected type, for example, '' Ignore conversion from 'NODESET' to 'BOOLEAN' by using the 'string()' function as a shortcut for writing 'string-length() > 0'.", + "markdown": "Reports implicit conversions between the predefined XPath-types `STRING`, `NUMBER`, `BOOLEAN`, and `NODESET`. Helps to write XSLT scripts that are more expressive about types and prevents subtle bugs:\n\n**Example:**\n\n\n \n\nis not the same as\n\n\n \n\n\nThe first test checks whether the element \"foo\" exists (`count(foo) > 0)`; the latter one however is only\ntrue if the element actually contains any text (`string-length(foo) > 0`). Suggests making\nthe type conversion more explicit.\n\n\nUse the following options to configure the inspection:\n\n* Enable or disable implicit conversions between certain types\n* Always report explicit conversions that do not result in the actually expected type, for example, ``\n* Ignore conversion from `NODESET` to `BOOLEAN` by using the `string()` function as a shortcut for writing `string-length() > 0`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ImplicitTypeConversion", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 83, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "IndexZeroUsage", + "shortDescription": { + "text": "XPath predicate with index 0" + }, + "fullDescription": { + "text": "Reports usages of '0' in a predicate index or in a comparison with the function 'position()'. Such usage is almost always a bug because in XPath, the index starts at '1', not at '0'. Example: '//someelement[position() = 0]' or '//something[0]'", + "markdown": "Reports usages of `0` in a predicate index or in a comparison with the function `position()`. Such usage is almost always a bug because in XPath, the index starts at `1`, *not* at `0`.\n\n**Example:**\n\n\n //someelement[position() = 0] or //something[0]\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "IndexZeroUsage", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XPath", + "index": 83, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XsltTemplateInvocation", + "shortDescription": { + "text": "Incorrect template invocation" + }, + "fullDescription": { + "text": "Reports missing arguments, passing arguments that are not declared, and passing arguments for parameters more than once in named XSLT template invocations. Parameters declared with a default value are optional and will not be reported as missing.", + "markdown": "Reports missing arguments, passing arguments that are not declared, and passing arguments for parameters more than once in named XSLT template invocations.\n\n\nParameters declared with a default value are optional and will not be reported as missing." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "XsltTemplateInvocation", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "XSLT", + "index": 43, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XsltVariableShadowing", + "shortDescription": { + "text": "Shadowed variable" + }, + "fullDescription": { + "text": "Reports shadowed XSLT variables.", + "markdown": "Reports shadowed XSLT variables." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XsltVariableShadowing", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "XSLT", + "index": 43, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "Docker", + "version": "241.14494.107", + "rules": [ + { + "id": "DockerFileRunCommandMissingContinuation", + "shortDescription": { + "text": "Missing continuation character for ''RUN'' command" + }, + "fullDescription": { + "text": "Reports missing continuation characters in 'RUN' command. In the shell form of 'RUN' command you should use a '\\' (backslash) to continue a single 'RUN' instruction onto the next line. Otherwise, Docker build will fail. Examples: '# the command below will fail\n RUN /bin/bash -c 'source $HOME/.bashrc;\n echo $HOME'' After the quick-fix is applied: 'RUN /bin/bash -c 'source $HOME/.bashrc; \\\n echo $HOME''", + "markdown": "Reports missing continuation characters in `RUN` command.\n\n\nIn the *shell* form of `RUN` command you should use a '\\\\' (backslash)\nto continue a single `RUN` instruction onto the next line.\nOtherwise, Docker build will fail.\n\n**Examples:**\n\n\n # the command below will fail\n RUN /bin/bash -c 'source $HOME/.bashrc;\n echo $HOME'\n\nAfter the quick-fix is applied:\n\n\n RUN /bin/bash -c 'source $HOME/.bashrc; \\\n echo $HOME'\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DockerFileRunCommandMissingContinuation", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 44, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerJsonFormStringLiterals", + "shortDescription": { + "text": "A single quoted string in JSON array format" + }, + "fullDescription": { + "text": "Reports a single quoted string in JSON array format. JSON array form, must use double-quotes (\") around words not single-quotes ('). Otherwise, Docker build will fail. Examples: '# all the commands below will fail\n RUN ['/bin/bash', '-c', 'echo hello']\n ADD ['binaryA.jar', 'binary2.jar', 'destination/']\n COPY ['binaryA.jar', 'binary2.jar', 'destination/']' After the quick-fix is applied: 'RUN [\"/bin/bash\", \"-c\", \"echo hello\"]\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n COPY [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]'", + "markdown": "Reports a single quoted string in JSON array format.\n\n\nJSON array form, must use double-quotes (\") around words not single-quotes ('). Otherwise, Docker build will fail.\n\n**Examples:**\n\n\n # all the commands below will fail\n RUN ['/bin/bash', '-c', 'echo hello']\n ADD ['binaryA.jar', 'binary2.jar', 'destination/']\n COPY ['binaryA.jar', 'binary2.jar', 'destination/']\n\nAfter the quick-fix is applied:\n\n\n RUN [\"/bin/bash\", \"-c\", \"echo hello\"]\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n COPY [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DockerJsonFormStringLiterals", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 44, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileArgumentCount", + "shortDescription": { + "text": "Wrong number of arguments" + }, + "fullDescription": { + "text": "Reports invalid number of arguments for the Dockerfile commands. Docker build will fail after reaching the instruction with an invalid number of arguments.", + "markdown": "Reports invalid number of arguments for the Dockerfile commands.\n\n\nDocker build will fail after reaching the instruction with an invalid number of arguments." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DockerFileArgumentCount", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 44, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposeUnknownValues", + "shortDescription": { + "text": "Unknown docker-compose YAML values" + }, + "fullDescription": { + "text": "Reports unrecognized values in Docker Compose files.", + "markdown": "Reports unrecognized values in Docker Compose files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ComposeUnknownValues", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 123, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileAddOrCopyPaths", + "shortDescription": { + "text": "Invalid destination for ''ADD''/''COPY'' commands" + }, + "fullDescription": { + "text": "Reports invalid destination directories in 'ADD' and 'COPY' commands. According to the Dockerfile specification, if multiple sources are specified, then the destination must be a directory, and it must end with a slash '/'. Otherwise, Docker build will fail. Examples: '# all the commands below will fail\n ADD textA.txt textB.txt relativeDir\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination\"]\n COPY text3.txt text4.txt /absolute/path' After the quick-fix is applied: 'ADD textA.txt textB.txt relativeDir/\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n COPY text3.txt text4.txt /absolute/path/'", + "markdown": "Reports invalid destination directories in `ADD` and `COPY` commands.\n\n\nAccording to the [Dockerfile specification](https://docs.docker.com/engine/reference/builder/#add),\nif multiple sources are specified, then the destination must be a directory, and it must end with a slash '/'.\nOtherwise, Docker build will fail.\n\n**Examples:**\n\n\n # all the commands below will fail\n ADD textA.txt textB.txt relativeDir\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination\"]\n COPY text3.txt text4.txt /absolute/path\n\nAfter the quick-fix is applied:\n\n\n ADD textA.txt textB.txt relativeDir/\n ADD [\"binaryA.jar\", \"binary2.jar\", \"destination/\"]\n COPY text3.txt text4.txt /absolute/path/\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DockerFileAddOrCopyPaths", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 44, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposeMissingKeys", + "shortDescription": { + "text": "Missing docker-compose YAML keys" + }, + "fullDescription": { + "text": "Reports missing required keys in Docker Compose files.", + "markdown": "Reports missing required keys in Docker Compose files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ComposeMissingKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 123, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposeUnquotedPorts", + "shortDescription": { + "text": "Unquoted port mappings" + }, + "fullDescription": { + "text": "Reports unquoted port mappings in Docker Compose files. According to the Compose file specification, mapping ports in the 'HOST:CONTAINER' format may lead to erroneous results when using a container port lower than 60, because YAML parses numbers in the format 'xx:yy' as a base-60 value. For this reason, we recommend always explicitly specifying the port mappings as strings. Examples: 'ports:\n - 3000\n - 3000-3005\n - 22:22\n - 8080:8080' After the quick-fix is applied: 'ports:\n - \"3000\"\n - \"3000-3005\"\n - \"22:22\"\n - \"8080:8080\"'", + "markdown": "Reports unquoted port mappings in Docker Compose files.\n\n\nAccording to the [Compose file specification](https://docs.docker.com/compose/compose-file/compose-file-v3/#short-syntax-1),\nmapping ports in the `HOST:CONTAINER` format may lead to erroneous results when using a container port lower than 60,\nbecause YAML parses numbers in the format `xx:yy` as a base-60 value.\nFor this reason, we recommend always explicitly specifying the port mappings as strings.\n\n**Examples:**\n\n\n ports:\n - 3000\n - 3000-3005\n - 22:22\n - 8080:8080\n\nAfter the quick-fix is applied:\n\n\n ports:\n - \"3000\"\n - \"3000-3005\"\n - \"22:22\"\n - \"8080:8080\"\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "ComposeUnquotedPorts", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 123, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ComposeUnknownKeys", + "shortDescription": { + "text": "Unknown docker-compose YAML keys" + }, + "fullDescription": { + "text": "Reports unrecognized keys in Docker Compose files.", + "markdown": "Reports unrecognized keys in Docker Compose files. " + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ComposeUnknownKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Docker-compose", + "index": 123, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DockerFileAssignments", + "shortDescription": { + "text": "Invalid spaces in ''key=value'' pair" + }, + "fullDescription": { + "text": "Reports incorrect spacing for key-value pairs in 'ARG', 'ENV', and 'LABEL' commands. While it is not explicitly specified in the Dockerfile specification, some combinations of spacing for key-value pairs are not allowed. Docker build will fail after reaching the problem instruction. Examples: The 'ARG' command does not allow any spaces around '=' 'ENV' and 'LABEL' do not allow spaces after '=' '# all the commands below will fail\n ARG answer = 42\n ARG version= \"1.0.0\"\n LABEL \"maintained.by\"= someone@gmail.com\n ENV JAVA_HOME= \"/docker-java-home\"' After the quick-fix is applied: 'ARG answer=2\n ARG version=\"1.0.0\"\n LABEL \"maintained.by\"=someone@gmail.com\n ENV JAVA_HOME=\"/docker-java-home\"'", + "markdown": "Reports incorrect spacing for key-value pairs in `ARG`, `ENV`, and `LABEL` commands.\n\n\nWhile it is not explicitly specified in the [Dockerfile specification](https://docs.docker.com/engine/reference/builder/#arg),\nsome combinations of spacing for key-value pairs are not allowed.\nDocker build will fail after reaching the problem instruction.\n\n**Examples:**\n\n* The `ARG` command does not allow any spaces around '='\n* `ENV` and `LABEL` do not allow spaces after '='\n\n\n # all the commands below will fail\n ARG answer = 42\n ARG version= \"1.0.0\"\n LABEL \"maintained.by\"= someone@gmail.com\n ENV JAVA_HOME= \"/docker-java-home\"\n\nAfter the quick-fix is applied:\n\n\n ARG answer=2\n ARG version=\"1.0.0\"\n LABEL \"maintained.by\"=someone@gmail.com\n ENV JAVA_HOME=\"/docker-java-home\"\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "DockerFileAssignments", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Dockerfile", + "index": 44, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.grazie.pro", + "version": "0.3.292", + "rules": [ + { + "id": "IdentifierGrammar", + "shortDescription": { + "text": "Identifier grammar" + }, + "fullDescription": { + "text": "Check some grammatical errors in symbol names in the code, for example that modifying nouns in compounds are usually singular: \"file downloader\" instead of \"files downloader\". Learn more.", + "markdown": "Check some grammatical errors in symbol names in the code, for example that modifying nouns in compounds are usually singular: \"file downloader\" instead of \"files downloader\". [Learn more](https://simonhoddinott.medium.com/why-can-we-say-mice-eater-but-not-rats-eater-english-compounds-70fbc96bae55)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "IdentifierGrammar", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 51, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "ValeProblem", + "shortDescription": { + "text": "Vale inspection" + }, + "fullDescription": { + "text": "Checks file text with Vale external tool.", + "markdown": "Checks file text with Vale external tool." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "ValeProblem", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 51, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "Style", + "shortDescription": { + "text": "Style" + }, + "fullDescription": { + "text": "Check the writing style defined in: Grazie Pro rule files (e.g. '.grazie.en.yaml' for English) for this project or its specific subdirectories. To create such a file, invoke New menu on any (e.g. root) directory of the project. Style rules in Editor | Natural languages | Rules settings This inspection only returns results via Code | Analyze Code | Run Inspection By Name... or in offline analysis. Editor highlighting of style issues is performed independently of this inspection's settings.", + "markdown": "Check the writing style defined in:\n\n* Grazie Pro rule files (e.g. `.grazie.en.yaml` for English) for this project or its specific subdirectories. To create such a file, invoke **New** menu on any (e.g. root) directory of the project.\n* *Style* rules in *Editor \\| Natural languages \\| Rules* settings\n\nThis inspection only returns results via **Code \\| Analyze Code \\| Run Inspection By Name...** or in offline analysis. Editor highlighting of style issues is performed independently of this inspection's settings." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "Style", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 51, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "StructuralWrap", + "shortDescription": { + "text": "Structural wrap" + }, + "fullDescription": { + "text": "Checks that natural language text is formatted according to Semantic Line Break specification. Inserting line breaks after each substantial unit of thought can make reading easier. It can also result in more stable VCS line history.", + "markdown": "Checks that natural language text is formatted according to [Semantic Line Break](https://sembr.org/) specification. Inserting line breaks after each substantial unit of thought can make reading easier. It can also result in more stable VCS line history." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "StructuralWrap", + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 51, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.qodana", + "version": "241.14494.107", + "rules": [ + { + "id": "JsCoverageInspection", + "shortDescription": { + "text": "Check JavaScript and TypeScript source code coverage" + }, + "fullDescription": { + "text": "Reports methods, classes and files whose coverage is below a certain threshold.", + "markdown": "Reports methods, classes and files whose coverage is below a certain threshold." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsCoverageInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Code Coverage", + "index": 53, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "QodanaSanity", + "shortDescription": { + "text": "Sanity" + }, + "fullDescription": { + "text": "Reports issues essential to this file like syntax errors, unresolved methods and variables, etc...", + "markdown": "Reports issues essential to this file like syntax errors, unresolved methods and variables, etc..." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "QodanaSanity", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Qodana", + "index": 137, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "AngularJS", + "version": "241.14494.107", + "rules": [ + { + "id": "AngularInvalidImportedOrDeclaredSymbol", + "shortDescription": { + "text": "Invalid imported or declared symbol" + }, + "fullDescription": { + "text": "Reports any symbol that is declared, imported or exported by an Angular module or standalone component that is not a module, component, directive, or pipe or can’t be used in the context of the property.", + "markdown": "Reports any symbol that is declared, imported or exported by an Angular module or standalone component that is not a module, component, directive, or pipe or can't be used in the context of the property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInvalidImportedOrDeclaredSymbol", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularRecursiveModuleImportExport", + "shortDescription": { + "text": "Recursive import or export of an Angular module or a standalone component" + }, + "fullDescription": { + "text": "Reports a cyclic dependency between Angular modules or standalone components.", + "markdown": "Reports a cyclic dependency between Angular modules or standalone components." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularRecursiveModuleImportExport", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularNgOptimizedImage", + "shortDescription": { + "text": "Issues with ngSrc usage in img tags" + }, + "fullDescription": { + "text": "Reports issues related to usage of 'ngSrc' (NgOptimizedDirective) on 'img' tags. Following issues are reported: 'img' tags, which use 'src' instead of 'ngSrc' lack of 'width' and 'height', or 'fill' attributes when 'ngSrc' is used 'width' or 'height', and 'fill' attributes being present on the same element when 'ngSrc' is used", + "markdown": "Reports issues related to usage of `ngSrc` ([NgOptimizedDirective](https://angular.io/guide/image-directive)) on `img` tags.\n\n\nFollowing issues are reported:\n\n* `img` tags, which use `src` instead of `ngSrc`\n* lack of `width` and `height`, or `fill` attributes when `ngSrc` is used\n* `width` or `height`, and `fill` attributes being present on the same element when `ngSrc` is used" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "AngularNgOptimizedImage", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidTemplateReferenceVariable", + "shortDescription": { + "text": "Unbound or ambiguous template reference variable" + }, + "fullDescription": { + "text": "Reports a template reference variable that is not assigned to a directive when using 'exportAs' or is assigned to multiple directives.", + "markdown": "Reports a template reference variable that is not assigned to a directive when using `exportAs` or is assigned to multiple directives." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInvalidTemplateReferenceVariable", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularMultipleStructuralDirectives", + "shortDescription": { + "text": "Multiple structural directives on one element" + }, + "fullDescription": { + "text": "Reports multiple structural directives ('*ngIf', '*ngFor', etc.) on one element.", + "markdown": "Reports multiple structural directives (`*ngIf`, `*ngFor`, etc.) on one element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularMultipleStructuralDirectives", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularNonStandaloneComponentImports", + "shortDescription": { + "text": "Invalid usage of imports in non-standalone components" + }, + "fullDescription": { + "text": "Reports usages of imports property in non-standalone component decorators. Imports can be used only in standalone components.", + "markdown": "Reports usages of imports property in non-standalone component decorators. Imports can be used only in standalone components." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularNonStandaloneComponentImports", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidSelector", + "shortDescription": { + "text": "Missing or invalid selector" + }, + "fullDescription": { + "text": "Reports an invalid 'selector' property of a component or directive.", + "markdown": "Reports an invalid `selector` property of a component or directive." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInvalidSelector", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularNonEmptyNgContent", + "shortDescription": { + "text": "Content inside tag" + }, + "fullDescription": { + "text": "Reports a text or tag occurrence inside a '' tag used for content projection.", + "markdown": "Reports a text or tag occurrence inside a `` tag used for content projection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularNonEmptyNgContent", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInsecureBindingToEvent", + "shortDescription": { + "text": "Insecure binding to event" + }, + "fullDescription": { + "text": "Reports a binding to an event property or attribute, for example, '[onclick]' or '[attr.onclick]' instead of '(click)'.", + "markdown": "Reports a binding to an event property or attribute, for example, `[onclick]` or `[attr.onclick]` instead of `(click)`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AngularInsecureBindingToEvent", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularDeferBlockOnTrigger", + "shortDescription": { + "text": "Problems with @defer `on` triggers" + }, + "fullDescription": { + "text": "Reports issues with triggers in `on` parameters in `@defer` block.", + "markdown": "Reports issues with triggers in \\`on\\` parameters in \\`@defer\\` block." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularDeferBlockOnTrigger", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularMissingEventHandler", + "shortDescription": { + "text": "Missing event handler" + }, + "fullDescription": { + "text": "Reports a missing event handler statement for an event binding.", + "markdown": "Reports a missing event handler statement for an event binding." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularMissingEventHandler", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularUndefinedBinding", + "shortDescription": { + "text": "Undefined binding" + }, + "fullDescription": { + "text": "Reports an undefined property, event, or structural directive bindings on elements.", + "markdown": "Reports an undefined property, event, or structural directive bindings on elements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularUndefinedBinding", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularForBlockNonIterableVar", + "shortDescription": { + "text": "Non-iterable type in @for block" + }, + "fullDescription": { + "text": "Reports that the type of variable to iterate over does not have '[Symbol.iterator]()' method, which returns an iterator.", + "markdown": "Reports that the type of variable to iterate over does not have `[Symbol.iterator]()` method, which returns an iterator." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularForBlockNonIterableVar", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularBindingTypeMismatch", + "shortDescription": { + "text": "Invalid binding type" + }, + "fullDescription": { + "text": "Reports a mismatch between actual and expected directive binding type.", + "markdown": "Reports a mismatch between actual and expected directive binding type." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularBindingTypeMismatch", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularUndefinedTag", + "shortDescription": { + "text": "Undefined tag" + }, + "fullDescription": { + "text": "Reports a tag defined by a component or directive out of the current scope.", + "markdown": "Reports a tag defined by a component or directive out of the current scope." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularUndefinedTag", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularAmbiguousComponentTag", + "shortDescription": { + "text": "Ambiguous component tag" + }, + "fullDescription": { + "text": "Reports a component that is matched on an embedded template element '' or multiple components matched on any other element.", + "markdown": "Reports a component that is matched on an embedded template element `` or multiple components matched on any other element." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularAmbiguousComponentTag", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularUndefinedModuleExport", + "shortDescription": { + "text": "Undefined export from Angular module" + }, + "fullDescription": { + "text": "Reports an export of an undeclared or unimported component, directive, or pipes from an Angular module.", + "markdown": "Reports an export of an undeclared or unimported component, directive, or pipes from an Angular module." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularUndefinedModuleExport", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidI18nAttribute", + "shortDescription": { + "text": "Invalid i18n attribute" + }, + "fullDescription": { + "text": "Reports a problem with a 'i18n-*' attribute.", + "markdown": "Reports a problem with a `i18n-*` attribute." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AngularInvalidI18nAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidAnimationTriggerAssignment", + "shortDescription": { + "text": "Invalid animation trigger assignment" + }, + "fullDescription": { + "text": "Reports an invalid assignment of an animation trigger. To attach an animation to an element, use '[@triggerName]=\"expression\"' or an attribute without a value '@triggerName'.", + "markdown": "Reports an invalid assignment of an animation trigger. To attach an animation to an element, use `[@triggerName]=\"expression\"` or an attribute without a value `@triggerName`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInvalidAnimationTriggerAssignment", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularIncorrectBlockUsage", + "shortDescription": { + "text": "Incorrect usage of Angular block" + }, + "fullDescription": { + "text": "Reports problems with Angular blocks.", + "markdown": "Reports problems with Angular blocks." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularIncorrectBlockUsage", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularCliAddDependency", + "shortDescription": { + "text": "Angular CLI add dependency" + }, + "fullDescription": { + "text": "Suggests using the 'ng add' command to install the dependency. 'ng add' will use the package manager to download it and invoke a schematic which can update your project with configuration changes, add additional dependencies (e.g. polyfills), or scaffold package-specific initialization code.", + "markdown": "Suggests using the `ng add` command to install the dependency.\n\n`ng add` will use the package manager to download it and invoke a schematic\nwhich can update your project with configuration changes, add additional dependencies (e.g. polyfills),\nor scaffold package-specific initialization code." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "AngularCliAddDependency", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInaccessibleSymbol", + "shortDescription": { + "text": "Inaccessible component member or directive input" + }, + "fullDescription": { + "text": "Reports access to invisible (private or protected) component member or directive input from an Angular template.", + "markdown": "Reports access to invisible (private or protected) component member or directive input from an Angular template." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInaccessibleSymbol", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularIncorrectTemplateDefinition", + "shortDescription": { + "text": "Incorrect component template definition" + }, + "fullDescription": { + "text": "Reports a component that doesn’t have an associated template or uses both 'template' and 'templateUrl' properties.", + "markdown": "Reports a component that doesn't have an associated template or uses both `template` and `templateUrl` properties." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularIncorrectTemplateDefinition", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularMissingRequiredDirectiveInputBinding", + "shortDescription": { + "text": "Missing required directive input" + }, + "fullDescription": { + "text": "Reports a missing binding for a required directive input.", + "markdown": "Reports a missing binding for a required directive input." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularMissingRequiredDirectiveInputBinding", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularMissingOrInvalidDeclarationInModule", + "shortDescription": { + "text": "Missing or invalid component, directive or pipe declaration in a module" + }, + "fullDescription": { + "text": "Reports a non-standalone Angular component, directive, or pipe that is not declared in any module or is declared in multiple modules.", + "markdown": "Reports a non-standalone Angular component, directive, or pipe that is not declared in any module or is declared in multiple modules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularMissingOrInvalidDeclarationInModule", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "AngularInvalidEntryComponent", + "shortDescription": { + "text": "Invalid entry component" + }, + "fullDescription": { + "text": "Reports an invalid Angular component specified in the module’s 'bootstrap' or 'entryComponents' property.", + "markdown": "Reports an invalid Angular component specified in the module's `bootstrap` or `entryComponents` property." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "AngularInvalidEntryComponent", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Angular", + "index": 58, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.swagger", + "version": "241.14494.107", + "rules": [ + { + "id": "SwYamlMaybeSpecificationInspection", + "shortDescription": { + "text": "Possible OpenAPI/Swagger specification candidate" + }, + "fullDescription": { + "text": "Detects YAML files that can be interpreted as a part of OpenAPI/Swagger specification. Such files do not contain explicit specification attributes, but they are referenced from primary specification files located nearby. The following example contains two files located in the same directory. First one is a plain primary specification file. Second is referenced from the first one and thus is suggested to be considered a specification too. Primary specification file 'openapi.yaml': 'openapi: 3.1.0\ncomponents:\n schemas:\n CustomSchema:\n description: Custom schema object\n properties:\n foo:\n $ref: 'common.components.yaml#/components/schemas/CommonSchema'' Specification file candidate 'common.components.yaml': 'components: # 'Mark file as OpenAPI specification' highlighting\n schemas:\n CommonSchema:\n description: Common schema object reused in several specifications'", + "markdown": "Detects YAML files that can be interpreted as a part of OpenAPI/Swagger specification.\n\n\nSuch files do not contain explicit specification attributes, but they are referenced from primary specification files located nearby.\n\n\nThe following example contains two files located in the same directory. First one is a plain primary specification file.\nSecond is referenced from the first one and thus is suggested to be considered a specification too.\n\n**Primary specification file `openapi.yaml`:**\n\n\n openapi: 3.1.0\n components:\n schemas:\n CustomSchema:\n description: Custom schema object\n properties:\n foo:\n $ref: 'common.components.yaml#/components/schemas/CommonSchema'\n\n**Specification file candidate `common.components.yaml`:**\n\n\n components: # 'Mark file as OpenAPI specification' highlighting\n schemas:\n CommonSchema:\n description: Common schema object reused in several specifications\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SwYamlMaybeSpecificationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "OpenAPI specifications", + "index": 66, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SwJsonUnresolvedReferencesInspection", + "shortDescription": { + "text": "Unresolved reference" + }, + "fullDescription": { + "text": "Detects unresolved references in JSON specification files.", + "markdown": "Detects unresolved references in JSON specification files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SwJsonUnresolvedReferencesInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "OpenAPI specifications", + "index": 66, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SwJsonMaybeSpecificationInspection", + "shortDescription": { + "text": "Possible OpenAPI/Swagger specification candidate" + }, + "fullDescription": { + "text": "Detects JSON files that can be interpreted as a part of OpenAPI/Swagger specification. Such files do not contain explicit specification attributes, but they are referenced from primary specification files located nearby. The following example contains two files located in the same directory. First one is a plain primary specification file. Second is referenced from the first one and thus is suggested to be considered a specification too. Primary specification file 'openapi.yaml': 'openapi: 3.1.0\ncomponents:\n schemas:\n CustomSchema:\n description: Custom schema object\n properties:\n foo:\n $ref: 'common.components.json#/components/schemas/CommonSchema'' Specification file candidate 'common.components.json': '{\n \"components\": { // 'Mark file as OpenAPI specification' highlighting\n \"schemas\": {\n \"CommonSchema\": {\n \"description\": \"Common schema object reused in several specifications\"\n }\n }\n }\n}'", + "markdown": "Detects JSON files that can be interpreted as a part of OpenAPI/Swagger specification.\n\n\nSuch files do not contain explicit specification attributes, but they are referenced from primary specification files located nearby.\n\n\nThe following example contains two files located in the same directory. First one is a plain primary specification file.\nSecond is referenced from the first one and thus is suggested to be considered a specification too.\n\n**Primary specification file `openapi.yaml`:**\n\n\n openapi: 3.1.0\n components:\n schemas:\n CustomSchema:\n description: Custom schema object\n properties:\n foo:\n $ref: 'common.components.json#/components/schemas/CommonSchema'\n\n**Specification file candidate `common.components.json`:**\n\n\n {\n \"components\": { // 'Mark file as OpenAPI specification' highlighting\n \"schemas\": {\n \"CommonSchema\": {\n \"description\": \"Common schema object reused in several specifications\"\n }\n }\n }\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "SwJsonMaybeSpecificationInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "OpenAPI specifications", + "index": 66, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "SwYamlUnresolvedReferencesInspection", + "shortDescription": { + "text": "Unresolved reference" + }, + "fullDescription": { + "text": "Detects unresolved references in Yaml specification files.", + "markdown": "Detects unresolved references in Yaml specification files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "SwYamlUnresolvedReferencesInspection", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "OpenAPI specifications", + "index": 66, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.plugins.jade", + "version": "241.14494.107", + "rules": [ + { + "id": "JadeTabsAndSpaces", + "shortDescription": { + "text": "Tabs and spaces both used" + }, + "fullDescription": { + "text": "Reports use of spaces and tabs for indentation in a Pug file.", + "markdown": "Reports use of spaces and tabs for indentation in a Pug file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "JadeTabsAndSpaces", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Pug_Jade", + "index": 70, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.jsonpath", + "version": "241.14494.107", + "rules": [ + { + "id": "JsonPathUnknownFunction", + "shortDescription": { + "text": "Unknown JSONPath function" + }, + "fullDescription": { + "text": "Reports an unknown name in a JSONPath function call instead of known standard function names: 'concat', 'keys', 'length', 'min', 'max', 'avg', 'stddev', 'sum'.", + "markdown": "Reports an unknown name in a JSONPath function call instead of known standard function names: `concat`, `keys`, `length`, `min`, `max`, `avg`, `stddev`, `sum`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonPathUnknownFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JSONPath", + "index": 75, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonPathUnknownOperator", + "shortDescription": { + "text": "Unknown JSONPath operator" + }, + "fullDescription": { + "text": "Reports an unknown operator on a JSONPath expression instead of one of the standard ones: 'in', 'nin', 'subsetof', 'anyof', 'noneof', 'size', 'empty', 'contains'.", + "markdown": "Reports an unknown operator on a JSONPath expression instead of one of the standard ones: `in`, `nin`, `subsetof`, `anyof`, `noneof`, `size`, `empty`, `contains`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonPathUnknownOperator", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JSONPath", + "index": 75, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonPathEvaluateUnknownKey", + "shortDescription": { + "text": "Unknown property key used for JSONPath evaluate expression" + }, + "fullDescription": { + "text": "Reports a key in a JSONPath expression that is missing in the source JSON document to evaluate.", + "markdown": "Reports a key in a JSONPath expression that is missing in the source JSON document to evaluate." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonPathEvaluateUnknownKey", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JSONPath", + "index": 75, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.hardcodedPasswords", + "version": "241.14494.107", + "rules": [ + { + "id": "HardcodedPasswordsInComment", + "shortDescription": { + "text": "Check hardcoded passwords in the comments" + }, + "fullDescription": { + "text": "Detects potential security tokens or passwords in comments using entropy analysis and regular expressions. This inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or passwords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness relies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements. '// Example of a regular expression pattern used for detection:\n/[0-9]+:AA[0-9A-Za-z\\-_]{33}/' Text after this comment will only be shown in the settings of the inspection.", + "markdown": "Detects potential security tokens or passwords in comments using entropy analysis and regular expressions.\n\n\nThis inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or\npasswords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness\nrelies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements.\n\n\n // Example of a regular expression pattern used for detection:\n /[0-9]+:AA[0-9A-Za-z\\-_]{33}/\n\nText after this comment will only be shown in the settings of the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HardcodedPasswordsInComment", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Security", + "index": 80, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YamlHardcodedPasswords", + "shortDescription": { + "text": "Check hardcoded passwords in YAML" + }, + "fullDescription": { + "text": "Detects potential security tokens or passwords in yaml using entropy analysis and regular expressions. This inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or passwords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness relies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements. '// Example of a string detected as a potential token:\npossibleToken: pa#sw@rd;\n\n// Example of a regular expression pattern used for detection:\nregexPattern = '/[0-9]+:AA[0-9A-Za-z\\-_]{33}/'' Text after this comment will only be shown in the settings of the inspection.", + "markdown": "Detects potential security tokens or passwords in yaml using entropy analysis and regular expressions.\n\n\nThis inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or\npasswords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness\nrelies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements.\n\n\n // Example of a string detected as a potential token:\n possibleToken: pa#sw@rd;\n\n // Example of a regular expression pattern used for detection:\n regexPattern = '/[0-9]+:AA[0-9A-Za-z\\-_]{33}/'\n\nText after this comment will only be shown in the settings of the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YamlHardcodedPasswords", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Security", + "index": 80, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsonHardcodedPasswords", + "shortDescription": { + "text": "Check hardcoded passwords in JSON" + }, + "fullDescription": { + "text": "Detects potential security tokens or passwords in json using entropy analysis and regular expressions. This inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or passwords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness relies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements. '// Example of a string detected as a potential token:\n'possibleToken': 'pa#sw@rd;'\n\n// Example of a regular expression pattern used for detection:\nregexPattern = '/[0-9]+:AA[0-9A-Za-z\\-_]{33}/'' Text after this comment will only be shown in the settings of the inspection.", + "markdown": "Detects potential security tokens or passwords in json using entropy analysis and regular expressions.\n\n\nThis inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or\npasswords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness\nrelies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements.\n\n\n // Example of a string detected as a potential token:\n 'possibleToken': 'pa#sw@rd;'\n\n // Example of a regular expression pattern used for detection:\n regexPattern = '/[0-9]+:AA[0-9A-Za-z\\-_]{33}/'\n\nText after this comment will only be shown in the settings of the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsonHardcodedPasswords", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Security", + "index": 80, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "XmlHardcodedPasswords", + "shortDescription": { + "text": "Check hardcoded passwords in XML" + }, + "fullDescription": { + "text": "Detects potential security tokens or passwords in xml using entropy analysis and regular expressions. This inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or passwords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness relies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements. '// Example of a string detected as a potential token:\n pa#sw@rd;\n\n// Example of a regular expression pattern used for detection:\nregexPattern = '/[0-9]+:AA[0-9A-Za-z\\-_]{33}/'' Text after this comment will only be shown in the settings of the inspection.", + "markdown": "Detects potential security tokens or passwords in xml using entropy analysis and regular expressions.\n\n\nThis inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or\npasswords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness\nrelies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements.\n\n\n // Example of a string detected as a potential token:\n pa#sw@rd;\n\n // Example of a regular expression pattern used for detection:\n regexPattern = '/[0-9]+:AA[0-9A-Za-z\\-_]{33}/'\n\nText after this comment will only be shown in the settings of the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "XmlHardcodedPasswords", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Security", + "index": 80, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "JsHardcodedPasswords", + "shortDescription": { + "text": "Check hardcoded passwords in JS" + }, + "fullDescription": { + "text": "Detects potential security tokens or passwords in code using entropy analysis and regular expressions. This inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or passwords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness relies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements. '// Example of a string detected as a potential token:\nvar possibleToken = \"pa#sw@rd;\";\n\n// Example of a regular expression pattern used for detection:\nvar regexPattern = /[0-9]+:AA[0-9A-Za-z\\-_]{33}/;' Text after this comment will only be shown in the settings of the inspection.", + "markdown": "Detects potential security tokens or passwords in code using entropy analysis and regular expressions.\n\n\nThis inspection utilizes entropy analysis and regular expressions to scan the codebase for strings that resemble security tokens or\npasswords. It highlights these findings, helping developers identify and secure potential vulnerabilities. The inspection's effectiveness\nrelies on the patterns defined in its configuration, making it adaptable to different coding environments and requirements.\n\n\n // Example of a string detected as a potential token:\n var possibleToken = \"pa#sw@rd;\";\n\n // Example of a regular expression pattern used for detection:\n var regexPattern = /[0-9]+:AA[0-9A-Za-z\\-_]{33}/;\n\nText after this comment will only be shown in the settings of the inspection." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "JsHardcodedPasswords", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Security", + "index": 80, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "HtmlTools", + "version": "241.14494.107", + "rules": [ + { + "id": "HtmlRequiredSummaryAttribute", + "shortDescription": { + "text": "Missing required 'summary' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'summary' attribute in a 'table' tag. Suggests adding a'summary' attribute. Based on WCAG 2.0: H73.", + "markdown": "Reports a missing `summary` attribute in a `table` tag. Suggests adding a`summary` attribute. Based on WCAG 2.0: [H73](https://www.w3.org/TR/WCAG20-TECHS/H73.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlRequiredSummaryAttribute", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 81, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlNonExistentInternetResource", + "shortDescription": { + "text": "Unresolved web link" + }, + "fullDescription": { + "text": "Reports an unresolved web link. Works by making network requests in the background.", + "markdown": "Reports an unresolved web link. Works by making network requests in the background." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlNonExistentInternetResource", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredTitleAttribute", + "shortDescription": { + "text": "Missing required 'title' attribute" + }, + "fullDescription": { + "text": "Reports a missing title attribute 'frame', 'iframe', 'dl', and 'a' tags. Suggests adding a title attribute. Based on WCAG 2.0: H33, H40, and H64.", + "markdown": "Reports a missing title attribute `frame`, `iframe`, `dl`, and `a` tags. Suggests adding a title attribute. Based on WCAG 2.0: [H33](https://www.w3.org/TR/WCAG20-TECHS/H33.html), [H40](https://www.w3.org/TR/WCAG20-TECHS/H40.html), and [H64](https://www.w3.org/TR/WCAG20-TECHS/H64.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlRequiredTitleAttribute", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 81, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredAltAttribute", + "shortDescription": { + "text": "Missing required 'alt' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'alt' attribute in a 'img' or 'applet' tag or in a 'area' element of an image map. Suggests adding a required attribute with a text alternative for the contents of the tag. Based on WCAG 2.0: H24, H35, H36, H37.", + "markdown": "Reports a missing `alt` attribute in a `img` or `applet` tag or in a `area` element of an image map. Suggests adding a required attribute with a text alternative for the contents of the tag. Based on WCAG 2.0: [H24](https://www.w3.org/TR/WCAG20-TECHS/H24.html), [H35](https://www.w3.org/TR/WCAG20-TECHS/H35.html), [H36](https://www.w3.org/TR/WCAG20-TECHS/H36.html), [H37](https://www.w3.org/TR/WCAG20-TECHS/H37.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredAltAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 81, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlPresentationalElement", + "shortDescription": { + "text": "Presentational tag" + }, + "fullDescription": { + "text": "Reports a presentational HTML tag. Suggests replacing the presentational tag with a CSS or another tag.", + "markdown": "Reports a presentational HTML tag. Suggests replacing the presentational tag with a CSS or another tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "HtmlPresentationalElement", + "ideaSeverity": "INFORMATION", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlDeprecatedTag", + "shortDescription": { + "text": "Obsolete tag" + }, + "fullDescription": { + "text": "Reports an obsolete HTML5 tag. Suggests replacing the obsolete tag with a CSS or another tag.", + "markdown": "Reports an obsolete HTML5 tag. Suggests replacing the obsolete tag with a CSS or another tag." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlDeprecatedTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlFormInputWithoutLabel", + "shortDescription": { + "text": "Missing associated label" + }, + "fullDescription": { + "text": "Reports a form element ('input', 'textarea', or 'select') without an associated label. Suggests creating a new label. Based on WCAG 2.0: H44.", + "markdown": "Reports a form element (`input`, `textarea`, or `select`) without an associated label. Suggests creating a new label. Based on WCAG 2.0: [H44](https://www.w3.org/TR/WCAG20-TECHS/H44.html). " + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlFormInputWithoutLabel", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 81, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredTitleElement", + "shortDescription": { + "text": "Missing required 'title' element" + }, + "fullDescription": { + "text": "Reports a missing 'title' element inside a 'head' section. Suggests adding a 'title' element. The title should describe the document. Based on WCAG 2.0: H25.", + "markdown": "Reports a missing `title` element inside a `head` section. Suggests adding a `title` element. The title should describe the document. Based on WCAG 2.0: [H25](https://www.w3.org/TR/WCAG20-TECHS/H25.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredTitleElement", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 81, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlDeprecatedAttribute", + "shortDescription": { + "text": "Obsolete attribute" + }, + "fullDescription": { + "text": "Reports an obsolete HTML5 attribute.", + "markdown": "Reports an obsolete HTML5 attribute." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlDeprecatedAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckImageSize", + "shortDescription": { + "text": "Mismatched image size" + }, + "fullDescription": { + "text": "Reports a 'width' and 'height' attribute value of a 'img' tag that is different from the actual width and height of the referenced image.", + "markdown": "Reports a `width` and `height` attribute value of a `img` tag that is different from the actual width and height of the referenced image." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckImageSize", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML", + "index": 11, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "HtmlRequiredLangAttribute", + "shortDescription": { + "text": "Missing required 'lang' attribute" + }, + "fullDescription": { + "text": "Reports a missing 'lang' (or 'xml:lang') attribute in a 'html' tag. Suggests adding a required attribute to state the default language of the document. Based on WCAG 2.0: H57.", + "markdown": "Reports a missing `lang` (or `xml:lang`) attribute in a `html` tag. Suggests adding a required attribute to state the default language of the document. Based on WCAG 2.0: [H57](https://www.w3.org/TR/WCAG20-TECHS/H57.html)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HtmlRequiredLangAttribute", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "HTML/Accessibility", + "index": 81, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.vue", + "version": "241.14494.107", + "rules": [ + { + "id": "VueMissingComponentImportInspection", + "shortDescription": { + "text": "Missing component import" + }, + "fullDescription": { + "text": "Reports Vue components, which require to be imported in Vue templates. It provides a quick fix to add the missing import.", + "markdown": "Reports Vue components, which require to be imported in Vue templates. It provides a quick fix to add the missing import." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueMissingComponentImportInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 86, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueDeprecatedSymbol", + "shortDescription": { + "text": "Deprecated symbol" + }, + "fullDescription": { + "text": "Reports a deprecated Vue symbol.", + "markdown": "Reports a deprecated Vue symbol." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDeprecatedSymbol", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 86, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueUnrecognizedDirective", + "shortDescription": { + "text": "Unrecognized directive" + }, + "fullDescription": { + "text": "Reports an unrecognized Vue directive.", + "markdown": "Reports an unrecognized Vue directive." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueUnrecognizedDirective", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 86, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueDuplicateTag", + "shortDescription": { + "text": "Duplicate template/script tag" + }, + "fullDescription": { + "text": "Reports multiple usages of the 'template' or 'script' tag in a Vue file. Vue Component specification indicates that each '*.vue' file can contain at most one 'template' or 'script' block at a time.", + "markdown": "Reports multiple usages of the `template` or `script` tag in a Vue file.\n\n[Vue Component specification](https://vue-loader.vuejs.org/spec.html) indicates that each `*.vue` file can contain at most one `template` or `script` block at a time." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDuplicateTag", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 86, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueDataFunction", + "shortDescription": { + "text": "Data function" + }, + "fullDescription": { + "text": "Reports a Vue component data property that is not a function. Suggests wrapping an object literal with a function. When defining a component, 'data' must be declared as a function that returns the initial data object, because the same definition will be used for creating numerous instances. If a plain object is still used for 'data', that very object will be shared by reference across all instances created! With a 'data' function, every time a new instance is created we can simply call it to return a fresh copy of the initial data.", + "markdown": "Reports a Vue component [data](https://vuejs.org/v2/api/#data) property that is not a function. Suggests wrapping an object literal with a function.\n\nWhen defining a component, `data` must be declared as a function that returns the initial data object, because the same definition will be used for creating numerous instances. If a plain object is still used for `data`, that very object will be shared by reference across all instances created! With a `data` function, every time a new instance is created we can simply call it to return a fresh copy of the initial data." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "VueDataFunction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 86, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "VueUnrecognizedSlot", + "shortDescription": { + "text": "Unrecognized slot" + }, + "fullDescription": { + "text": "Reports an unrecognized Vue slot.", + "markdown": "Reports an unrecognized Vue slot." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "VueUnrecognizedSlot", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Vue", + "index": 86, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.github", + "version": "241.14494.107", + "rules": [ + { + "id": "MandatoryParamsAbsent", + "shortDescription": { + "text": "Invalid action parameters" + }, + "fullDescription": { + "text": "Reports the absence of mandatory parameters that do not have a default value for an action. It also provides a Quick Fix by adding the missing parameters with an empty value. For more information on action params, see the GitHub documentation.", + "markdown": "Reports the absence of mandatory parameters that do not have a default value for an action. It also provides a Quick Fix by adding the missing parameters with an empty value.\n\n\nFor more information on action params, see the [GitHub documentation](https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runsstepswith)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "MandatoryParamsAbsent", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "GitHub actions", + "index": 87, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UndefinedAction", + "shortDescription": { + "text": "Undefined action reference" + }, + "fullDescription": { + "text": "Detects unresolved action references in GitHub action and workflow files. For more information on action references, see the GitHub documentation.", + "markdown": "Detects unresolved action references in GitHub action and workflow files.\n\n\nFor more information on action references, see the [GitHub documentation](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsuses)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UndefinedAction", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "GitHub actions", + "index": 87, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "UndefinedParamsPresent", + "shortDescription": { + "text": "Undefined action parameters" + }, + "fullDescription": { + "text": "Reports the presence of parameters which are not defined in an action. It also provides a Quick Fix by removing the undefined parameters. For more information on action params, see the GitHub documentation.", + "markdown": "Reports the presence of parameters which are not defined in an action. It also provides a Quick Fix by removing the undefined parameters.\n\n\nFor more information on action params, see the [GitHub documentation](https://docs.github.com/en/actions/creating-actions/metadata-syntax-for-github-actions#runsstepswith)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UndefinedParamsPresent", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "GitHub actions", + "index": 87, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "GithubFunctionSignatureValidation", + "shortDescription": { + "text": "Standard library functions validation" + }, + "fullDescription": { + "text": "Reports invalid GitHub Actions Expression language standard library function calls For more information on GitHub Actions Expression language, see the GitHub documentation.", + "markdown": "Reports invalid GitHub Actions Expression language standard library function calls\n\n\nFor more information on GitHub Actions Expression language, see the [GitHub documentation](https://docs.github.com/en/actions/learn-github-actions/expressions)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "GithubFunctionSignatureValidation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "GitHub actions", + "index": 87, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.plugins.markdown", + "version": "241.14494.107", + "rules": [ + { + "id": "MarkdownOutdatedTableOfContents", + "shortDescription": { + "text": "Outdated table of contents section" + }, + "fullDescription": { + "text": "Checks if a particular table of contents section corresponds to the actual structure of the document.", + "markdown": "Checks if a particular table of contents section corresponds to the actual structure of the document." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MarkdownOutdatedTableOfContents", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Markdown", + "index": 89, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MarkdownUnresolvedLinkLabel", + "shortDescription": { + "text": "Unresolved link label" + }, + "fullDescription": { + "text": "Reports unresolved link labels in Markdown files.", + "markdown": "Reports unresolved link labels in Markdown files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MarkdownUnresolvedLinkLabel", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Markdown", + "index": 89, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MarkdownNoTableBorders", + "shortDescription": { + "text": "Table doesn't have side borders" + }, + "fullDescription": { + "text": "Checks if table has correct side borders. For compatibility reasons all table rows should have borders (pipe symbols) at the start and at the end.", + "markdown": "Checks if table has correct side borders. For compatibility reasons all table rows should have borders (pipe symbols) at the start and at the end." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MarkdownNoTableBorders", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Markdown", + "index": 89, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MarkdownIncorrectlyNumberedListItem", + "shortDescription": { + "text": "Incorrectly numbered list item" + }, + "fullDescription": { + "text": "Ordered list items are expected to have straight numeration starting from 1. The motivation behind this is that most of Markdown processors are ignoring the numbering of ordered lists. A processor will generate an '
    ' element for such list, that will number items continuously from 1.", + "markdown": "Ordered list items are expected to have straight numeration starting from 1.\n\nThe motivation behind this is that most of Markdown processors are ignoring the numbering of ordered lists. A processor will generate an `
      ` element for such list, that will number items continuously from 1." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MarkdownIncorrectlyNumberedListItem", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Markdown", + "index": 89, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MarkdownUnresolvedHeaderReference", + "shortDescription": { + "text": "Unresolved header reference" + }, + "fullDescription": { + "text": "Reports unresolved header references in Markdown files.", + "markdown": "Reports unresolved header references in Markdown files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MarkdownUnresolvedHeaderReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Markdown", + "index": 89, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MarkdownLinkDestinationWithSpaces", + "shortDescription": { + "text": "Links should not contain spaces" + }, + "fullDescription": { + "text": "To ensure consistency between different tools, file links should not contain spaces. Example: '[Some file link](some file.md)' A quick-fix replaces spaces with their url-encoded equivalent: '[Some file link](some%20file.md)'", + "markdown": "To ensure consistency between different tools, file links should not contain spaces.\n\n**Example:**\n\n\n [Some file link](some file.md)\n\nA quick-fix replaces spaces with their url-encoded equivalent:\n\n\n [Some file link](some%20file.md)\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MarkdownLinkDestinationWithSpaces", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Markdown", + "index": 89, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MarkdownIncorrectTableFormatting", + "shortDescription": { + "text": "Incorrect table formatting" + }, + "fullDescription": { + "text": "Checks if table is correctly formatted.", + "markdown": "Checks if table is correctly formatted." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "MarkdownIncorrectTableFormatting", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Markdown", + "index": 89, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "MarkdownUnresolvedFileReference", + "shortDescription": { + "text": "Unresolved file references" + }, + "fullDescription": { + "text": "Reports unresolved file references in Markdown files.", + "markdown": "Reports unresolved file references in Markdown files." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "MarkdownUnresolvedFileReference", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Markdown", + "index": 89, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.yaml", + "version": "241.14494.107", + "rules": [ + { + "id": "YAMLIncompatibleTypes", + "shortDescription": { + "text": "Suspicious type mismatch" + }, + "fullDescription": { + "text": "Reports a mismatch between a scalar value type in YAML file and types of the values in the similar positions. Example: 'myElements:\n - value1\n - value2\n - false # <- reported, because it is a boolean value, while other values are strings'", + "markdown": "Reports a mismatch between a scalar value type in YAML file and types of the values in the similar positions.\n\n**Example:**\n\n\n myElements:\n - value1\n - value2\n - false # <- reported, because it is a boolean value, while other values are strings\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLIncompatibleTypes", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 94, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLUnresolvedAlias", + "shortDescription": { + "text": "Unresolved alias" + }, + "fullDescription": { + "text": "Reports unresolved aliases in YAML files. Example: 'some_key: *unknown_alias'", + "markdown": "Reports unresolved aliases in YAML files.\n\n**Example:**\n\n\n some_key: *unknown_alias\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLUnresolvedAlias", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 94, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLDuplicatedKeys", + "shortDescription": { + "text": "Duplicated YAML keys" + }, + "fullDescription": { + "text": "Reports duplicated keys in YAML files. Example: 'same_key: some value\n same_key: another value'", + "markdown": "Reports duplicated keys in YAML files.\n\n**Example:**\n\n\n same_key: some value\n same_key: another value\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLDuplicatedKeys", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 94, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLSchemaValidation", + "shortDescription": { + "text": "Validation by JSON Schema" + }, + "fullDescription": { + "text": "Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified. Scheme example: '{\n \"properties\": {\n \"SomeNumberProperty\": {\n \"type\": \"number\"\n }\n }\n }' The following is an example with the corresponding warning: 'SomeNumberProperty: hello world'", + "markdown": "Reports inconsistencies between a YAML file and a JSON Schema if the schema is specified.\n\n**Scheme example:**\n\n\n {\n \"properties\": {\n \"SomeNumberProperty\": {\n \"type\": \"number\"\n }\n }\n }\n\n**The following is an example with the corresponding warning:**\n\n\n SomeNumberProperty: hello world\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLSchemaValidation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 94, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLSchemaDeprecation", + "shortDescription": { + "text": "Deprecated YAML key" + }, + "fullDescription": { + "text": "Reports deprecated keys in YAML files. Deprecation is checked only if there exists a JSON schema associated with the corresponding YAML file. Note that the deprecation mechanism is not defined in the JSON Schema specification yet, and this inspection uses a non-standard 'deprecationMessage' extension. Scheme deprecation example: '{\n \"properties\": {\n \"SomeDeprecatedProperty\": {\n \"deprecationMessage\": \"Baz\",\n \"description\": \"Foo bar\"\n }\n }\n }' The following is an example with the corresponding warning: 'SomeDeprecatedProperty: some value'", + "markdown": "Reports deprecated keys in YAML files.\n\nDeprecation is checked only if there exists a JSON schema associated with the corresponding YAML file.\n\nNote that the deprecation mechanism is not defined in the JSON Schema specification yet,\nand this inspection uses a non-standard `deprecationMessage` extension.\n\n**Scheme deprecation example:**\n\n\n {\n \"properties\": {\n \"SomeDeprecatedProperty\": {\n \"deprecationMessage\": \"Baz\",\n \"description\": \"Foo bar\"\n }\n }\n }\n\n**The following is an example with the corresponding warning:**\n\n\n SomeDeprecatedProperty: some value\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "YAMLSchemaDeprecation", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 94, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLRecursiveAlias", + "shortDescription": { + "text": "Recursive alias" + }, + "fullDescription": { + "text": "Reports recursion in YAML aliases. Alias can't be recursive and be used inside the data referenced by a corresponding anchor. Example: 'some_key: &some_anchor\n sub_key1: value1\n sub_key2: *some_anchor'", + "markdown": "Reports recursion in YAML aliases.\n\nAlias can't be recursive and be used inside the data referenced by a corresponding anchor.\n\n**Example:**\n\n\n some_key: &some_anchor\n sub_key1: value1\n sub_key2: *some_anchor\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "YAMLRecursiveAlias", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 94, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "YAMLUnusedAnchor", + "shortDescription": { + "text": "Unused anchor" + }, + "fullDescription": { + "text": "Reports unused anchors. Example: 'some_key: &some_anchor\n key1: value1'", + "markdown": "Reports unused anchors.\n\n**Example:**\n\n\n some_key: &some_anchor\n key1: value1\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "YAMLUnusedAnchor", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "YAML", + "index": 94, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "intellij.webpack", + "version": "241.14494.107", + "rules": [ + { + "id": "WebpackConfigHighlighting", + "shortDescription": { + "text": "Webpack config compliance with JSON Schema" + }, + "fullDescription": { + "text": "Validates options in webpack config files (which name should start with `webpack`, e.g. `webpack.config.js`) against webpack options schema. Disable this inspection to turn off validation and code completion inside the configuration object.", + "markdown": "Validates options in webpack config files (which name should start with \\`webpack\\`, e.g. \\`webpack.config.js\\`) against [webpack options schema](https://github.com/webpack/webpack/blob/master/schemas/WebpackOptions.json). \n\nDisable this inspection to turn off validation and code completion inside the configuration object." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "WebpackConfigHighlighting", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/General", + "index": 18, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.plugins.dependencyAnalysis", + "version": "241.14494.107", + "rules": [ + { + "id": "CheckDependencyLicenses", + "shortDescription": { + "text": "Check dependency licenses" + }, + "fullDescription": { + "text": "Check dependencies licenses for possible problems: missing or prohibited licenses, or other compliance issues", + "markdown": "Check dependencies licenses for possible problems: missing or prohibited licenses, or other compliance issues" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckDependencyLicenses", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Dependency analysis", + "index": 104, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckThirdPartySoftwareList", + "shortDescription": { + "text": "Check third party software list" + }, + "fullDescription": { + "text": "Check project for possible problems: user's third party software list does not match the collected project metadata", + "markdown": "Check project for possible problems: user's third party software list does not match the collected project metadata" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckThirdPartySoftwareList", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Dependency analysis", + "index": 104, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "CheckModuleLicenses", + "shortDescription": { + "text": "Check module licenses" + }, + "fullDescription": { + "text": "Check module licenses for possible problems: missing licenses or other compliance issues", + "markdown": "Check module licenses for possible problems: missing licenses or other compliance issues" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "CheckModuleLicenses", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Dependency analysis", + "index": 104, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.grpc", + "version": "241.14494.107", + "rules": [ + { + "id": "GrpcSchemes", + "shortDescription": { + "text": "GRPC request schema can be substituted or omitted" + }, + "fullDescription": { + "text": "Reports unnecessary `grpc` or standard `http[s]` schemes usage in gRPC requests Example requests: '# `grpc` scheme may be omitted since insecure connection is assumed by default\nGRPC grpc://localhost/TestService/testRpc' '# `http` scheme may be omitted: prefer empty scheme for insecure connection and a dedicated `grpcs` scheme for a secure one\nGRPC http://localhost/TestService/testRpc' '# `https` scheme should be replaced by `grpcs`: prefer a dedicated `grpcs` scheme to indicate that transport layer security should be enabled to execute the request\nGRPC https://localhost/TestService/testRpc' To avoid confusion, it is recommended to use dedicated `grpcs` scheme in a gRPC request, when the request should use secure channel underneath. Otherwise, the scheme might be completely omitted", + "markdown": "Reports unnecessary \\`grpc\\` or standard \\`http\\[s\\]\\` schemes usage in gRPC requests\n\n\nExample requests:\n\n\n # `grpc` scheme may be omitted since insecure connection is assumed by default\n GRPC grpc://localhost/TestService/testRpc\n\n\n # `http` scheme may be omitted: prefer empty scheme for insecure connection and a dedicated `grpcs` scheme for a secure one\n GRPC http://localhost/TestService/testRpc\n\n\n # `https` scheme should be replaced by `grpcs`: prefer a dedicated `grpcs` scheme to indicate that transport layer security should be enabled to execute the request\n GRPC https://localhost/TestService/testRpc\n\n\nTo avoid confusion, it is recommended to use dedicated \\`grpcs\\` scheme in a gRPC request, when the request should use secure channel\nunderneath. Otherwise, the scheme might be completely omitted" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "GrpcSchemes", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Inappropriate gRPC request scheme", + "index": 105, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.sh", + "version": "241.14494.107", + "rules": [ + { + "id": "ShellCheck", + "shortDescription": { + "text": "ShellCheck" + }, + "fullDescription": { + "text": "Reports shell script bugs detected by the integrated ShellCheck static analysis tool.", + "markdown": "Reports shell script bugs detected by the integrated [ShellCheck](https://github.com/koalaman/shellcheck) static analysis tool." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "ShellCheck", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "Shell script", + "index": 109, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.jetbrains.plugins.less", + "version": "241.14494.107", + "rules": [ + { + "id": "LessResolvedByNameOnly", + "shortDescription": { + "text": "Missing import" + }, + "fullDescription": { + "text": "Reports a reference to a variable or mixin that is declared in another file, which is not explicitly imported in the current file. Example: '* {\n margin: @var-in-other-file;\n}'", + "markdown": "Reports a reference to a variable or mixin that is declared in another file, which is not explicitly [imported](http://lesscss.org/features/#import-atrules-feature) in the current file.\n\n**Example:**\n\n\n * {\n margin: @var-in-other-file;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "LessResolvedByNameOnly", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 118, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LessUnresolvedVariable", + "shortDescription": { + "text": "Unresolved variable" + }, + "fullDescription": { + "text": "Reports a reference to a Less variable that is not resolved. Example: '* {\n margin: @unknown-var;\n}'", + "markdown": "Reports a reference to a [Less variable](http://lesscss.org/features/#variables-feature) that is not resolved.\n\n**Example:**\n\n\n * {\n margin: @unknown-var;\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LessUnresolvedVariable", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 118, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "LessUnresolvedMixin", + "shortDescription": { + "text": "Unresolved mixin" + }, + "fullDescription": { + "text": "Reports a reference to a Less mixin that is not resolved. Example: '* {\n .unknown-mixin();\n}'", + "markdown": "Reports a reference to a [Less mixin](http://lesscss.org/features/#mixins-feature) that is not resolved.\n\n**Example:**\n\n\n * {\n .unknown-mixin();\n }\n" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LessUnresolvedMixin", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Less", + "index": 118, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "tanvd.grazi", + "version": "241.14494.107", + "rules": [ + { + "id": "LanguageDetectionInspection", + "shortDescription": { + "text": "Natural language detection" + }, + "fullDescription": { + "text": "Detects natural languages and suggests enabling corresponding grammar and spelling checks.", + "markdown": "Detects natural languages and suggests enabling corresponding grammar and spelling checks." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "LanguageDetectionInspection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 51, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "GrazieInspection", + "shortDescription": { + "text": "Grammar" + }, + "fullDescription": { + "text": "Reports grammar mistakes in your text. You can configure the inspection in Settings | Editor | Natural Languages | Grammar.", + "markdown": "Reports grammar mistakes in your text. You can configure the inspection in [Settings \\| Editor \\| Natural Languages \\| Grammar](settings://reference.settingsdialog.project.grazie)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "GrazieInspection", + "ideaSeverity": "GRAMMAR_ERROR", + "qodanaSeverity": "Info" + } + }, + "relationships": [ + { + "target": { + "id": "Proofreading", + "index": 51, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.rider-cpp", + "version": "241.14494.107", + "rules": [ + { + "id": "UnrealJsonLocalInspectionTool", + "shortDescription": { + "text": "Unreal Engine json inspection" + }, + "fullDescription": { + "text": "RIDER-83134", + "markdown": "[RIDER-83134](https://youtrack.jetbrains.com/issue/RIDER-83134/)" + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "UnrealJsonLocalInspectionTool", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Unreal Engine", + "index": 121, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.stylelint", + "version": "241.14494.107", + "rules": [ + { + "id": "Stylelint", + "shortDescription": { + "text": "Stylelint" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the Stylelint linter. The highlighting is based on the rule severity specified in the Stylelint configuration file for each individual rule.", + "markdown": "Reports a discrepancy detected by the [Stylelint](http://stylelint.io) linter. \n\nThe highlighting is based on the rule severity specified in the [Stylelint configuration file](https://stylelint.io/user-guide/configure) for each individual rule." + }, + "defaultConfiguration": { + "enabled": false, + "level": "error", + "parameters": { + "suppressToolId": "Stylelint", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code quality tools", + "index": 122, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "Karma", + "version": "241.14494.107", + "rules": [ + { + "id": "KarmaConfigFile", + "shortDescription": { + "text": "Invalid Karma configuration file" + }, + "fullDescription": { + "text": "Reports a potential error in a file path ('basePath', 'files') for a Karma configuration file, for example, 'karma.conf.js'.", + "markdown": "Reports a potential error in a file path ('basePath', 'files') for a Karma configuration file, for example, `karma.conf.js`." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "KarmaConfigFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Unit testing", + "index": 126, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.jetbrains.plugins.ini4idea", + "version": "241.14494.107", + "rules": [ + { + "id": "DuplicateSectionInFile", + "shortDescription": { + "text": "Duplicate section in file" + }, + "fullDescription": { + "text": "Reports duplicate sections in the 'ini' file.", + "markdown": "Reports duplicate sections in the `ini` file." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DuplicateSectionInFile", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Ini files", + "index": 133, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + }, + { + "id": "DuplicateKeyInSection", + "shortDescription": { + "text": "Duplicate directive in section" + }, + "fullDescription": { + "text": "Reports duplicate properties in the 'ini' file section.", + "markdown": "Reports duplicate properties in the `ini` file section." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "DuplicateKeyInSection", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Ini files", + "index": 133, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "tslint", + "version": "241.14494.107", + "rules": [ + { + "id": "TsLint", + "shortDescription": { + "text": "TSLint" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the TSLint linter. The highlighting is based on the rule severity specified in the TSLint configuration file for each individual rule. Clear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all TSLint rules.", + "markdown": "Reports a discrepancy detected by the [TSLint](https://github.com/palantir/tslint) linter. \n\nThe highlighting is based on the rule severity specified in the [TSLint configuration file](https://palantir.github.io/tslint/usage/configuration/) for each individual rule. \n\nClear the 'Use rule severity from the configuration file' checkbox to use the severity configured in this inspection for all TSLint rules." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "TsLint", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "JavaScript and TypeScript/Code quality tools", + "index": 69, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "org.intellij.intelliLang", + "version": "241.14494.107", + "rules": [ + { + "id": "InjectedReferences", + "shortDescription": { + "text": "Injected references" + }, + "fullDescription": { + "text": "Reports unresolved references injected by Language Injections. Example: '@Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist'", + "markdown": "Reports unresolved references injected by [Language Injections](https://www.jetbrains.com/help/idea/using-language-injections.html).\n\nExample:\n\n\n @Language(\"file-reference\")\n String fileName = \"/home/user/nonexistent.file\"; // highlighted if file doesn't exist\n" + }, + "defaultConfiguration": { + "enabled": true, + "level": "error", + "parameters": { + "suppressToolId": "InjectedReferences", + "ideaSeverity": "ERROR", + "qodanaSeverity": "Critical" + } + }, + "relationships": [ + { + "target": { + "id": "General", + "index": 47, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "W3Validators", + "version": "241.14494.107", + "rules": [ + { + "id": "W3CssValidation", + "shortDescription": { + "text": "W3C CSS validator" + }, + "fullDescription": { + "text": "Reports a discrepancy detected by the W3C CSS Validator.", + "markdown": "Reports a discrepancy detected by the [W3C CSS Validator](https://jigsaw.w3.org/css-validator/)." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "W3CssValidation", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "CSS/Code quality tools", + "index": 122, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.intellij.plugins.watcher", + "version": "241.14494.107", + "rules": [ + { + "id": "TaskProblemsInspection", + "shortDescription": { + "text": "File watcher problems" + }, + "fullDescription": { + "text": "Reports an error detected by the output filters from a File Watcher. A File Watcher tracks changes in files and executes the configured command when a change is detected.", + "markdown": "Reports an error detected by the output filters from a File Watcher.\n\n\nA File Watcher tracks changes in files and executes the configured command when a change is detected." + }, + "defaultConfiguration": { + "enabled": false, + "level": "note", + "parameters": { + "suppressToolId": "TaskProblemsInspection", + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate" + } + }, + "relationships": [ + { + "target": { + "id": "File Watchers", + "index": 138, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "idea.plugin.protoeditor", + "version": "241.14494.107", + "rules": [ + { + "id": "PbDuplicatedImports", + "shortDescription": { + "text": "Duplicated import statements" + }, + "fullDescription": { + "text": "Reports effectively equivalent import statements.", + "markdown": "Reports effectively equivalent import statements." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "PbDuplicatedImports", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Protocol Buffers", + "index": 144, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + }, + { + "name": "com.dmarcotte.handlebars", + "version": "241.14494.107", + "rules": [ + { + "id": "HbEmptyBlock", + "shortDescription": { + "text": "Missing block helper argument" + }, + "fullDescription": { + "text": "Reports an 'if', 'each', or 'with' block helper without an argument.", + "markdown": "Reports an `if`, `each`, or `with` block helper without an argument." + }, + "defaultConfiguration": { + "enabled": false, + "level": "warning", + "parameters": { + "suppressToolId": "HbEmptyBlock", + "ideaSeverity": "WARNING", + "qodanaSeverity": "High" + } + }, + "relationships": [ + { + "target": { + "id": "Handlebars_Mustache", + "index": 149, + "toolComponent": { + "name": "RD" + } + }, + "kinds": [ + "superset" + ] + } + ] + } + ], + "language": "en-US", + "contents": [ + "localizedData", + "nonLocalizedData" + ], + "isComprehensive": false + } + ] + }, + "invocations": [ + { + "startTimeUtc": "2024-03-20T11:04:48.1113653Z", + "exitCode": 255, + "exitCodeDescription": "Failure condition triggered:\n- Detected 752 problems across all severities, fail threshold: 0", + "executionSuccessful": true + } + ], + "language": "en-US", + "versionControlProvenance": [ + { + "revisionId": "bb8d0cf1463fee11f8b730f193a0d91d21ef21b3", + "branch": "dev", + "properties": { + "repoUrl": "", + "lastAuthorName": "Nice3point", + "vcsType": "Git", + "lastAuthorEmail": "nice3point@gmail.com" + } + } + ], + "results": [ + { + "ruleId": "ArrangeTrailingCommaInMultilineLists", + "kind": "fail", + "level": "note", + "message": { + "text": "Remove trailing comma to conform to code style", + "markdown": "Remove trailing comma to conform to code style" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/ModulesDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 34, + "charOffset": 1624, + "charLength": 1, + "snippet": { + "text": "," + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1522, + "charLength": 118, + "snippet": { + "text": " Content = this,\r\n CloseButtonText = \"Close\",\r\n DialogMaxWidth = 1500,\r\n };\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f06c420cade6880e", + "equalIndicator/v1": "74f2f058405bc16e32d3ee5dec800e20f7c19b683ce786912d27c009256f8d9d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ArrangeTrailingCommaInMultilineLists", + "kind": "fail", + "level": "note", + "message": { + "text": "Remove trailing comma to conform to code style", + "markdown": "Remove trailing comma to conform to code style" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 504, + "startColumn": 57, + "charOffset": 29359, + "charLength": 1, + "snippet": { + "text": "," + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 502, + "startColumn": 1, + "charOffset": 29185, + "charLength": 186, + "snippet": { + "text": " {\"FFFF99\", Resources.Localization.Colors.FFFF99},\r\n {\"FFFFCC\", Resources.Localization.Colors.FFFFCC},\r\n {\"FFFFFF\", Resources.Localization.Colors.FFFFFF},\r\n };\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "196f28412bbd5724", + "equalIndicator/v1": "c047e619a829393b5a90b86ebf643b9740be4f0015bf9f5ba496f0cc358ba5c7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ArrangeTrailingCommaInMultilineLists", + "kind": "fail", + "level": "note", + "message": { + "text": "Remove trailing comma to conform to code style", + "markdown": "Remove trailing comma to conform to code style" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/BoundarySegmentDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 110, + "charOffset": 1591, + "charLength": 1, + "snippet": { + "text": "," + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1414, + "charLength": 198, + "snippet": { + "text": " {\r\n null => $\"ID: {boundarySegment.ElementId}\",\r\n _ => $\"ID: {boundarySegment.ElementId}, {curve.Length.ToString(CultureInfo.InvariantCulture)} ft\",\r\n };\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e8e32deb6da171df", + "equalIndicator/v1": "c0edbf7622c06f0f001667d73da2175b20284714a41c7b88ff0bc28c82bbae6a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToConditionalTernaryExpression", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert into method call with '?:' expression inside", + "markdown": "Convert into method call with '?:' expression inside" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/HelpUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 9, + "charOffset": 1687, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1607, + "charLength": 170, + "snippet": { + "text": " public static void ShowHelp(string query, string parameter)\r\n {\r\n if (query.StartsWith(\"System\"))\r\n {\r\n ShowHelp($\"{query}.{parameter}\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "70a4716d6ceb4e56", + "equalIndicator/v1": "823b3da5ebbec9c055e114f808ecb8f1957fad22ee02fef335324a72f6916c91" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToReturnStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert into 'return' statement", + "markdown": "Convert into 'return' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/ContextUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 9, + "charOffset": 1247, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1187, + "charLength": 155, + "snippet": { + "text": " if (context is not null) return context;\r\n\r\n if (RevitShell.UiApplication is null) return null;\r\n return RevitShell.Document;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e2c027c3de3d6023", + "equalIndicator/v1": "09c91a35984f5ec8ab496ba1da827eacee08353a563b397375674f686d03b305" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToReturnStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert into 'return' statement", + "markdown": "Convert into 'return' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 146, + "startColumn": 9, + "charOffset": 5893, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 144, + "startColumn": 1, + "charOffset": 5872, + "charLength": 143, + "snippet": { + "text": " }\r\n\r\n if (lightness is > 0d and <= 0.5d)\r\n {\r\n return (color.GetHue(), (max - min) / (max + min), lightness);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4a4cd721a786d61d", + "equalIndicator/v1": "286d7e5a2ba045444df289ec4978b50fc65e3b27698a5cb34bb473b8cd8affe6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToReturnStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert into 'return' statement", + "markdown": "Convert into 'return' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/DescriptorUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 9, + "charOffset": 2444, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 2368, + "charLength": 192, + "snippet": { + "text": " public static string MakeGenericFullTypeName(Type type)\r\n {\r\n if (type.IsGenericType) return type.FullName![..type.FullName!.IndexOf('[')];\r\n return type.FullName;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e353b0ccce32bf72", + "equalIndicator/v1": "6c8eb54eb5a4cc6e1a76ae5498343fba052db2e30b0c8449a0d9b2feaa02efe3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToReturnStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert into 'return' statement", + "markdown": "Convert into 'return' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/ContextUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 9, + "charOffset": 1539, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1477, + "charLength": 152, + "snippet": { + "text": "\r\n if (actualContext is null) return context;\r\n if (!actualContext.Equals(context)) return actualContext;\r\n return context;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6d7805b6ce94e7f1", + "equalIndicator/v1": "6fe12513887ea2e43cf5f962a8e4224e64c1d591bb9bbbbeeaf1e8a86404d11c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToReturnStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert into 'return' statement", + "markdown": "Convert into 'return' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 107, + "startColumn": 9, + "charOffset": 3921, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 105, + "startColumn": 1, + "charOffset": 3705, + "charLength": 322, + "snippet": { + "text": " if (targetType == typeof(Document)) return RevitShell.Application.Documents;\r\n if (targetType == typeof(Autodesk.Revit.ApplicationServices.Application)) return new[] {RevitShell.Application};\r\n if (targetType == typeof(UIApplication)) return new[] {RevitShell.UiApplication};\r\n\r\n return null;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aa4126ab2b4e7ce3", + "equalIndicator/v1": "a153a66e36c0b41b4d7b47c060125cd79d7540913510485526db19064321e5cb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToSwitchStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert 'if' statement into 'switch' statement", + "markdown": "Convert 'if' statement into 'switch' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSet.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 9, + "charOffset": 1995, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 1908, + "charLength": 225, + "snippet": { + "text": " public ResolveSet AppendVariant(object result, string description)\r\n {\r\n if (result is null) return this;\r\n if (result is ICollection {Count: 0}) return this;\r\n Variants.Enqueue(new ResolveSummary\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d6075ca4cd0f7374", + "equalIndicator/v1": "3107928f927e8252f371c599e4ba182b44cd6c2df9612636a56e324157b8e80d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToSwitchStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert 'if' statement into 'switch' statement", + "markdown": "Convert 'if' statement into 'switch' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 18, + "charOffset": 2004, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 1908, + "charLength": 240, + "snippet": { + "text": " if (element is not null) results.Add(element);\r\n }\r\n else if (rawId.Length == 45 && rawId.Count(c => c == '-') == 5)\r\n {\r\n var element = RevitShell.Document.GetElement(rawId);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f1e4e5b4a5c7e238", + "equalIndicator/v1": "7baea9199b19a110a4bea06b937e5e28b8fc8548f87ccceeb5c55584981c1a37" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToSwitchStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert 'if' statement into 'switch' statement", + "markdown": "Convert 'if' statement into 'switch' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSet.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 9, + "charOffset": 1683, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 1616, + "charLength": 205, + "snippet": { + "text": " public ResolveSet AppendVariant(object result)\r\n {\r\n if (result is null) return this;\r\n if (result is ICollection {Count: 0}) return this;\r\n Variants.Enqueue(new ResolveSummary\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ba7a9d0042b7fb86", + "equalIndicator/v1": "9b715bc47223765ff43c3db0c7191c40da188ca772542823f0d1433f7f4701a7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ConvertIfStatementToSwitchStatement", + "kind": "fail", + "level": "note", + "message": { + "text": "Convert 'if' statement into 'switch' statement", + "markdown": "Convert 'if' statement into 'switch' statement" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 17, + "charOffset": 2617, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 2525, + "charLength": 201, + "snippet": { + "text": "\r\n //Add data of the selected object if no others are found\r\n if (objectsCount > 0 && dataCount == 0)\r\n return new SearchResults\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5e356d6b1a7b63cb", + "equalIndicator/v1": "f67e675bfb9ab863952a4f95664cfaba5418d44fac161a7f0902e064e4dcdea4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ForeachCanBeConvertedToQueryUsingAnotherGetEnumerator", + "kind": "fail", + "level": "note", + "message": { + "text": "Loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used", + "markdown": "Loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 49, + "startColumn": 21, + "charOffset": 2044, + "charLength": 7, + "snippet": { + "text": "foreach" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 47, + "startColumn": 1, + "charOffset": 1925, + "charLength": 243, + "snippet": { + "text": " filteredObjects = Search(model.SelectedObject, model.SnoopableObjects);\r\n\r\n foreach (var item in filteredObjects)\r\n if (item == model.SelectedObject)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6b2253d22f6409a3", + "equalIndicator/v1": "520beac6ad3408561bf33f6a44efe01104df32840ddf13b1db85b71a8b2c4629" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ForeachCanBeConvertedToQueryUsingAnotherGetEnumerator", + "kind": "fail", + "level": "note", + "message": { + "text": "Loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used", + "markdown": "Loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/UnitsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 13, + "charOffset": 1794, + "charLength": 7, + "snippet": { + "text": "foreach" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1662, + "charLength": 328, + "snippet": { + "text": " var searchResults = new List();\r\n // ReSharper disable once LoopCanBeConvertedToQuery\r\n foreach (var family in Units)\r\n if (family.Label.ToLower().Contains(formattedText) || family.Unit.ToLower().Contains(formattedText))\r\n searchResults.Add(family);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f121284f9afc9520", + "equalIndicator/v1": "bd429316776c8f0178fda17786288a7b0c37d43ae1df49eadd1219eed01e593c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ForeachCanBeConvertedToQueryUsingAnotherGetEnumerator", + "kind": "fail", + "level": "note", + "message": { + "text": "Loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used", + "markdown": "Loop can be converted into LINQ-expression but another 'GetEnumerator' method will be used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 13, + "charOffset": 2682, + "charLength": 7, + "snippet": { + "text": "foreach" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 2548, + "charLength": 251, + "snippet": { + "text": " var searchResults = new List();\r\n // ReSharper disable once LoopCanBeConvertedToQuery\r\n foreach (var module in Modules)\r\n {\r\n if (module.Name.ToLower().Contains(formattedText) ||\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fa5770b4d730e27f", + "equalIndicator/v1": "cd53f72f27e24d2a5be646d9c257cc6ee40f27b4d862a046616cb82029bb8197" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 270, + "startColumn": 31, + "charOffset": 11610, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 268, + "startColumn": 1, + "charOffset": 11542, + "charLength": 221, + "snippet": { + "text": " return hue switch\r\n {\r\n < 60d => $\"R{Math.Round(hue / 0.6d, 0)}\",\r\n < 120d => $\"Y{Math.Round((hue - 60d) / 0.6d, 0)}\",\r\n < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d76369321c79224b", + "equalIndicator/v1": "03de49077946eedfc2624036d25a7eb80504bd0740df58c741fdf0b72354ee5e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 127, + "charOffset": 2338, + "charLength": 11, + "snippet": { + "text": "TableLock16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 2022, + "charLength": 549, + "snippet": { + "text": "\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.ShieldLock16;\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.TableLock16;\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.Box16;\r\n if ((attributes & MemberAttributes.Method) != 0) return SymbolRegular.Cube16;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "56dcd603c9282dc9", + "equalIndicator/v1": "03fc8dc9494428ed4a9e9be6049c227c85ecae7992b7e0ee1448433d3067ad15" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance", + "markdown": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/DefinitionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 60, + "charOffset": 1496, + "charLength": 8, + "snippet": { + "text": "ToString" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1340, + "charLength": 208, + "snippet": { + "text": " if (internalDefinition.BuiltInParameter != BuiltInParameter.INVALID)\r\n {\r\n Name = internalDefinition.BuiltInParameter.ToString();\r\n return;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b0405f0fd126c24d", + "equalIndicator/v1": "05d1f749854f7feaa7f2976bc83705b95f1946f3c9e1b96f5ba7aa463a47fd2a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 78, + "charOffset": 2293, + "charLength": 5, + "snippet": { + "text": "false" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2073, + "charLength": 331, + "snippet": { + "text": " var buttonField = buttonType.GetField(\"m_RibbonItem\", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly)!;\r\n\r\n var button = (PushButton) createMethod.Invoke(null, [pushButtonData, false, internalPanel.Source.Id]);\r\n var internalButton = (RibbonButton) buttonField.GetValue(button);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d292e02562f684af", + "equalIndicator/v1": "0672df41c521b8409d5d0f211228be5bbc4f86dacca59594b7a202ac9b6b1aa9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance", + "markdown": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CompoundStructureLayerDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 31, + "charOffset": 1278, + "charLength": 8, + "snippet": { + "text": "ToString" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 1166, + "charLength": 133, + "snippet": { + "text": " public CompoundStructureLayerDescriptor(CompoundStructureLayer layer)\r\n {\r\n Name = layer.Function.ToString();\r\n }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cfcdae9d5d08a322", + "equalIndicator/v1": "069bda0cc41d2db261642e6c175703b182347b25ead1ed59a4425c706f2f660d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance", + "markdown": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 62, + "charOffset": 2956, + "charLength": 8, + "snippet": { + "text": "ToString" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 2855, + "charLength": 177, + "snippet": { + "text": " try\r\n {\r\n list.Add(new UnitInfo(category, category.ToString(), category.ToLabel()));\r\n }\r\n catch\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "896c7124108cd6c9", + "equalIndicator/v1": "084f196d862c685a0b5126908efb65edf2b2ca979d4876f436289dc66b981674" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/UpdateConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 16, + "charOffset": 3805, + "charLength": 87, + "snippet": { + "text": "state is SoftwareUpdateState.ReadyToInstall ? Visibility.Collapsed : Visibility.Visible" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 3732, + "charLength": 171, + "snippet": { + "text": " {\r\n var state = (SoftwareUpdateState) value!;\r\n return state is SoftwareUpdateState.ReadyToInstall ? Visibility.Collapsed : Visibility.Visible;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6124f76869d1551d", + "equalIndicator/v1": "08bec70847a2a376881b3b46ccdf5d8161984d9c64065dbf9614be9ce3907e78" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 48, + "charOffset": 2621, + "charLength": 13, + "snippet": { + "text": "CanBeMirrored" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2492, + "charLength": 208, + "snippet": { + "text": " {\r\n extension.Name = nameof(ElementExtensions.CanBeMirrored);\r\n extension.Result = extension.Value.CanBeMirrored();\r\n });\r\n manager.Register(_element, extension =>\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e5ad59530bb7a1f3", + "equalIndicator/v1": "129bfa5b41fce2034ad9ed683c9c6111b9a847053eb13ffd7f72920c47c57a1e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PerformanceAdviserDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 71, + "startColumn": 82, + "charOffset": 3228, + "charLength": 56, + "snippet": { + "text": "new KeyValuePair(i, adviser.IsRuleEnabled(i))" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 69, + "startColumn": 1, + "charOffset": 3056, + "charLength": 286, + "snippet": { + "text": " case nameof(PerformanceAdviser.IsRuleEnabled):\r\n {\r\n for (var i = 0; i < rules; i++) resolveSet.AppendVariant(new KeyValuePair(i, adviser.IsRuleEnabled(i)));\r\n break;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "23700797e2404486", + "equalIndicator/v1": "17e11733a1ba500be8f684971024b20c5c4afb8400231955a20cb821b06f50dc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/VisualUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 120, + "charOffset": 1776, + "charLength": 4, + "snippet": { + "text": "true" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1601, + "charLength": 220, + "snippet": { + "text": " if (container.Items.Count == 0) return null;\r\n\r\n if (container is TreeViewItem {IsExpanded: false} viewItem) viewItem.SetValue(TreeViewItem.IsExpandedProperty, true);\r\n\r\n container.ApplyTemplate();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2510ae6c0bac4fc1", + "equalIndicator/v1": "1b582454eefdb68823f1fdcda94d2ab87f6b334e9df26f5ab5f4b08dcde3633b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PlanViewRangeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 42, + "charOffset": 1791, + "charLength": 9, + "snippet": { + "text": "GetOffset" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1555, + "charLength": 450, + "snippet": { + "text": " .AppendVariant(viewRange.GetOffset(PlanViewPlane.CutPlane), \"Cut plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.BottomClipPlane), \"Bottom clip plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.UnderlayBottom), \"Underlay bottom\"),\r\n nameof(PlanViewRange.GetLevelId) => ResolveSet\r\n .Append(viewRange.GetLevelId(PlanViewPlane.TopClipPlane), \"Top clip plane\")\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3dd58f633ec4d6b6", + "equalIndicator/v1": "1c7dcc6381270ab55ae52f0b524b17fecc34e39fdc1cf060351bfc6127e3f5da" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 52, + "startColumn": 78, + "charOffset": 3345, + "charLength": 7, + "snippet": { + "text": "Flash16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 50, + "startColumn": 1, + "charOffset": 3123, + "charLength": 337, + "snippet": { + "text": "\r\n if ((attributes & MemberAttributes.Event) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.FlashSettings20;\r\n if ((attributes & MemberAttributes.Event) != 0) return SymbolRegular.Flash16;\r\n\r\n if ((attributes & MemberAttributes.Extension) != 0) return SymbolRegular.CubeArrowCurveDown20;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d6a28f9cd3446feb", + "equalIndicator/v1": "1d8feb04b19a6b13e118174f7691c0ca9fe0515a980799250e177b8409ce219a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance", + "markdown": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ReferenceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 47, + "charOffset": 1420, + "charLength": 8, + "snippet": { + "text": "ToString" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1334, + "charLength": 107, + "snippet": { + "text": " {\r\n _reference = reference;\r\n Name = reference.ElementReferenceType.ToString();\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a6d75c2ff98df190", + "equalIndicator/v1": "1fb8ebd0bb19124157cee32a6c7687383d9d11e45a34059f4eb9c6e5f3263ea1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 126, + "charOffset": 2477, + "charLength": 5, + "snippet": { + "text": "Box16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 2024, + "charLength": 549, + "snippet": { + "text": " if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.ShieldLock16;\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.TableLock16;\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.Box16;\r\n if ((attributes & MemberAttributes.Method) != 0) return SymbolRegular.Cube16;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "11911641c80703ce", + "equalIndicator/v1": "217f78b63deaa924b5b05ce8836f7d32bc5e7e0779bea4034e7c7703f1d555d3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ColorDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 46, + "charOffset": 1402, + "charLength": 3, + "snippet": { + "text": "Red" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1325, + "charLength": 173, + "snippet": { + "text": " {\r\n _color = color;\r\n Name = color.IsValid ? $\"RGB: {color.Red} {color.Green} {color.Blue}\" : \"The color represents uninitialized/invalid value\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c1de97c337f7976e", + "equalIndicator/v1": "28d0b1000c68749a88adc6ef032d6eb4edaf2874442616ce654c451f7c767729" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 16, + "charOffset": 1451, + "charLength": 65, + "snippet": { + "text": "collection.Count == 0 ? Visibility.Visible : Visibility.Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1356, + "charLength": 171, + "snippet": { + "text": " {\r\n var collection = (IReadOnlyCollection) value!;\r\n return collection.Count == 0 ? Visibility.Visible : Visibility.Collapsed;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d21579c9dd57200b", + "equalIndicator/v1": "29932adf66168b7a9ccc298f0317ebe89099f097ddb5c1a0184abb496619e66b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 129, + "charOffset": 1753, + "charLength": 14, + "snippet": { + "text": "DocumentLock16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1431, + "charLength": 590, + "snippet": { + "text": "\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.CalendarLock16;\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.DocumentLock16;\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.ClipboardNote16;\r\n if ((attributes & MemberAttributes.Property) != 0) return SymbolRegular.ClipboardBulletListLtr16;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b23a1ad0375772f0", + "equalIndicator/v1": "2b9d913356b17dd80e7d2e30a0285f61731b7b8418ed90979f97723ccfe38bcf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/ValueConterters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 16, + "charOffset": 2751, + "charLength": 45, + "snippet": { + "text": "b ? Visibility.Visible : Visibility.Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 2666, + "charLength": 141, + "snippet": { + "text": " {\r\n if (value is not bool b) return Visibility.Collapsed;\r\n return b ? Visibility.Visible : Visibility.Collapsed;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "55551d5199292ba2", + "equalIndicator/v1": "2c57e88d96d957610655ce7a44fd01ce5a887c0a009d24193358f9585aec6d1b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 80, + "startColumn": 68, + "charOffset": 3209, + "charLength": 8, + "snippet": { + "text": "IsHidden" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 78, + "startColumn": 1, + "charOffset": 3008, + "charLength": 417, + "snippet": { + "text": " {\r\n nameof(Element.CanBeHidden) => ResolveSet.Append(_element.CanBeHidden(RevitShell.ActiveView), \"Active view\"),\r\n nameof(Element.IsHidden) => ResolveSet.Append(_element.IsHidden(RevitShell.ActiveView), \"Active view\"),\r\n nameof(Element.GetDependentElements) => ResolveSet.Append(_element.GetDependentElements(null)),\r\n nameof(Element.GetMaterialIds) => ResolveSet\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5269a10348b9b6d8", + "equalIndicator/v1": "2de3ddea8823f8e474d15419a3c97a09ce2cf78cbcd6860fb85ee5dec4e35b36" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CategoryDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 54, + "charOffset": 2408, + "charLength": 11, + "snippet": { + "text": "get_Visible" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 2206, + "charLength": 398, + "snippet": { + "text": " {\r\n \"AllowsVisibilityControl\" => ResolveSet.Append(_category.get_AllowsVisibilityControl(RevitShell.ActiveView), \"Active view\"),\r\n \"Visible\" => ResolveSet.Append(_category.get_Visible(RevitShell.ActiveView), \"Active view\"),\r\n nameof(Category.GetGraphicsStyle) => ResolveSet\r\n .Append(_category.GetGraphicsStyle(GraphicsStyleType.Cut), \"Cut\")\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c7d53fbf36ddc0d7", + "equalIndicator/v1": "33fc183e71002d503d8351732502ef44160b3cf060680c46e506e225819ca56a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 50, + "charOffset": 3443, + "charLength": 6, + "snippet": { + "text": "length" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 3308, + "charLength": 217, + "snippet": { + "text": " {\r\n var length = mepSection.GetSegmentLength(id);\r\n resolveSummary.AppendVariant(length, $\"ID{id}\");\r\n }\r\n catch (ArgumentException)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4e18ac9424931259", + "equalIndicator/v1": "3480f0ec3896a382270e525aa788b0b5a5990191d7539e382487a7e95c8f9700" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 168, + "startColumn": 46, + "charOffset": 7745, + "charLength": 53, + "snippet": { + "text": "new KeyValuePair(materialId, area)" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 166, + "startColumn": 1, + "charOffset": 7613, + "charLength": 205, + "snippet": { + "text": " {\r\n var area = _element.GetMaterialArea(materialId, true);\r\n resolveSummary.AppendVariant(new KeyValuePair(materialId, area));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "208ff38d264b589d", + "equalIndicator/v1": "352f41591d524f60d8e12c6d72b426582ea857cb79d2903e2b84879037d3cfad" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ParameterDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 48, + "charOffset": 1693, + "charLength": 6, + "snippet": { + "text": "AsBool" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1569, + "charLength": 149, + "snippet": { + "text": " {\r\n extension.Name = nameof(ParameterExtensions.AsBool);\r\n extension.Result = extension.Value.AsBool();\r\n });\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d23185fecaa831d1", + "equalIndicator/v1": "36935cc7fae13b73b05b3ecf46f2f2045bfd746fcd66c3c75a2ef3b032a4b9ba" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/DocumentDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 85, + "charOffset": 1631, + "charLength": 5, + "snippet": { + "text": "false" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1506, + "charLength": 268, + "snippet": { + "text": " return target switch\r\n {\r\n nameof(Document.Close) when parameters.Length == 0 => ResolveSet.Append(false, \"Overridden\"),\r\n nameof(Document.PlanTopologies) when parameters.Length == 0 => ResolvePlanTopologies(),\r\n#if R24_OR_GREATER\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "50d02686c09f57f5", + "equalIndicator/v1": "37718fd622a2288ef8a33d21342f0897946acf9a10cfa6087af522ac7efe504e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 32, + "charOffset": 2929, + "charLength": 15, + "snippet": { + "text": "GetEndParameter" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 2774, + "charLength": 327, + "snippet": { + "text": " .AppendVariant(_curve.GetEndPoint(1), \"Point 1\"),\r\n nameof(Curve.GetEndParameter) => ResolveSet\r\n .Append(_curve.GetEndParameter(0), \"Parameter 0\")\r\n .AppendVariant(_curve.GetEndParameter(1), \"Parameter 1\"),\r\n nameof(Curve.GetEndPointReference) => ResolveSet\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5ce1f04750356c3c", + "equalIndicator/v1": "3994d877a57e5844aecb2d09f35080d4f0a27832b729f2473c25a743f4d36db4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance", + "markdown": "Boxing allocation: inherited 'Enum.ToString()' virtual method invocation over the value type instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 64, + "charOffset": 2370, + "charLength": 8, + "snippet": { + "text": "ToString" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 2267, + "charLength": 180, + "snippet": { + "text": " try\r\n {\r\n list.Add(new UnitInfo(parameter, parameter.ToString(), parameter.ToLabel()));\r\n }\r\n catch\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c7c8e35bb6e204e3", + "equalIndicator/v1": "3aea5dd12c881839c50c5138b7f04274d7c5f3264a60c626372c4e0ef3a03110" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/ValueConterters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 52, + "startColumn": 57, + "charOffset": 2027, + "charLength": 9, + "snippet": { + "text": "Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 50, + "startColumn": 1, + "charOffset": 1867, + "charLength": 266, + "snippet": { + "text": " public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r\n {\r\n if (value is not string text) return Visibility.Collapsed;\r\n return string.IsNullOrEmpty(text) ? Visibility.Collapsed : Visibility.Visible;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2ee642dd0f2385d0", + "equalIndicator/v1": "4616d506636f7dba844b3add073fe9c26bd22fbbfb32472ddd5e7c5ddd86ed2b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ColorDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 58, + "charOffset": 1414, + "charLength": 5, + "snippet": { + "text": "Green" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1325, + "charLength": 173, + "snippet": { + "text": " {\r\n _color = color;\r\n Name = color.IsValid ? $\"RGB: {color.Red} {color.Green} {color.Blue}\" : \"The color represents uninitialized/invalid value\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd9c7a7a4d4627a9", + "equalIndicator/v1": "465f7a8d1d3150b8b0eb873192b42ba3bdce4da75c0239e36b9ba92abbb969ab" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 128, + "charOffset": 1897, + "charLength": 15, + "snippet": { + "text": "ClipboardNote16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1433, + "charLength": 590, + "snippet": { + "text": " if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.CalendarLock16;\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.DocumentLock16;\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.ClipboardNote16;\r\n if ((attributes & MemberAttributes.Property) != 0) return SymbolRegular.ClipboardBulletListLtr16;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bdf954c5225a24e5", + "equalIndicator/v1": "49a8e08a6835fe818ba24d54ca48aa1722b3c3117fb97e1f74554bc2af6a8610" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/UiElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 58, + "charOffset": 1713, + "charLength": 5, + "snippet": { + "text": "false" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1481, + "charLength": 289, + "snippet": { + "text": " nameof(UIElement.CaptureMouse) => ResolveSet.Append(false, \"Overridden\"),\r\n nameof(UIElement.CaptureStylus) => ResolveSet.Append(false, \"Overridden\"),\r\n nameof(UIElement.Focus) => ResolveSet.Append(false, \"Overridden\"),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d020998cc08482ed", + "equalIndicator/v1": "49b9d0e7c06a043056e5eaa3f64575d2332d1c1e595dc9aaa307e3e971744845" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 108, + "charOffset": 3752, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 3571, + "charLength": 440, + "snippet": { + "text": " var endParameterMid = (endParameter0 + endParameter1) / 2;\r\n\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter0, false), $\"Parameter {endParameter0.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameterMid, false), $\"Parameter {endParameterMid.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter1, false), $\"Parameter {endParameter1.Round(3)}\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "06546d01ad9f18b4", + "equalIndicator/v1": "4cbc63cb755ada3bf3cb71118b7c4868954cf0751eb5c0b0ece00ac5b5417d01" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 76, + "startColumn": 24, + "charOffset": 2818, + "charLength": 12, + "snippet": { + "text": "milliseconds" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 74, + "startColumn": 1, + "charOffset": 2728, + "charLength": 207, + "snippet": { + "text": " 0 => string.Empty,\r\n < 1e-3 => \"0.001 ms\",\r\n < 10 => $\"{milliseconds:F3} ms\",\r\n < 100 => $\"{milliseconds:F2} ms\",\r\n < 1000 => $\"{milliseconds:F1} ms\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d98254e0e58d281a", + "equalIndicator/v1": "51cfcd93c936e13849dc8fc379b9e463b5c32f47ff0f1d4e2e410241522a1f90" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'DateTime' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'DateTime' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/EventsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 43, + "charOffset": 1983, + "charLength": 3, + "snippet": { + "text": "Now" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1900, + "charLength": 125, + "snippet": { + "text": " Descriptor =\r\n {\r\n Name = $\"{name} {DateTime.Now:HH:mm:ss}\"\r\n }\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61ba055f028c651a", + "equalIndicator/v1": "5239df272906afd060e50cf10b951af5757b6fc7c8fddea2fff43862e45938ab" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 173, + "charOffset": 2746, + "charLength": 12, + "snippet": { + "text": "TrophyLock16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 2485, + "charLength": 552, + "snippet": { + "text": " if ((attributes & MemberAttributes.Method) != 0) return SymbolRegular.Cube16;\r\n\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.TrophyLock16;\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.TagLock16;\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.TagMultiple16;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb396185590cd58e", + "equalIndicator/v1": "599c1a9294cf7ece17c4f268f1b7a25bbe13b89099b15eec7af986a989d9e3a7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'BuiltInCategory' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'BuiltInCategory' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 43, + "charOffset": 2937, + "charLength": 8, + "snippet": { + "text": "category" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 2855, + "charLength": 177, + "snippet": { + "text": " try\r\n {\r\n list.Add(new UnitInfo(category, category.ToString(), category.ToLabel()));\r\n }\r\n catch\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b8cbb8c759dac6e6", + "equalIndicator/v1": "5b2679db563ff2804230d1d4a6a2d3e7ec555622a6e5d32991726101407b37c4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyManagerDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 50, + "charOffset": 2360, + "charLength": 72, + "snippet": { + "text": "new KeyValuePair(parameter, familyParameter)" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 2234, + "charLength": 243, + "snippet": { + "text": " if (familyParameter is not null)\r\n {\r\n resolveSet.AppendVariant(new KeyValuePair(parameter, familyParameter));\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c819df214e07f8b8", + "equalIndicator/v1": "5c5fa919209df27d02343d7d8b70a0fe002199b82b7d03f328acbf2ca687c108" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 126, + "charOffset": 3250, + "charLength": 15, + "snippet": { + "text": "FlashSettings20" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 3038, + "charLength": 318, + "snippet": { + "text": " if ((attributes & MemberAttributes.Field) != 0) return SymbolRegular.Tag16;\r\n\r\n if ((attributes & MemberAttributes.Event) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.FlashSettings20;\r\n if ((attributes & MemberAttributes.Event) != 0) return SymbolRegular.Flash16;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4e60e37cadad4608", + "equalIndicator/v1": "5c968a5c166c0048833f8504bac71fe06790d54a8178abb00506a6b34dbde3c5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PerformanceAdviserDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 82, + "charOffset": 2941, + "charLength": 56, + "snippet": { + "text": "new KeyValuePair(i, adviser.GetRuleName(i))" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2771, + "charLength": 284, + "snippet": { + "text": " case nameof(PerformanceAdviser.GetRuleName):\r\n {\r\n for (var i = 0; i < rules; i++) resolveSet.AppendVariant(new KeyValuePair(i, adviser.GetRuleName(i)));\r\n break;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cb22200b4e3cb054", + "equalIndicator/v1": "5e01fe17e6e6cb9d2d429a986fe7d6fc52676a4cea79539bbe4f4983a10819cc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 21, + "charOffset": 2956, + "charLength": 12, + "snippet": { + "text": "milliseconds" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 2841, + "charLength": 154, + "snippet": { + "text": " < 100 => $\"{milliseconds:F2} ms\",\r\n < 1000 => $\"{milliseconds:F1} ms\",\r\n _ => $\"{milliseconds:0} ms\"\r\n };\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b582da51f7b14ff7", + "equalIndicator/v1": "5f4501225c134728c1714691510baf4c22ab2eacad06baeba422c8ca117e222f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 26, + "charOffset": 2913, + "charLength": 12, + "snippet": { + "text": "milliseconds" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 2795, + "charLength": 193, + "snippet": { + "text": " < 10 => $\"{milliseconds:F3} ms\",\r\n < 100 => $\"{milliseconds:F2} ms\",\r\n < 1000 => $\"{milliseconds:F1} ms\",\r\n _ => $\"{milliseconds:0} ms\"\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6d01532a308490ef", + "equalIndicator/v1": "613f7c77609570f967a2b107ffba06962933465bae0eb0208a5060fd979d9f7d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/ValueConterters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 16, + "charOffset": 2054, + "charLength": 70, + "snippet": { + "text": "string.IsNullOrEmpty(text) ? Visibility.Collapsed : Visibility.Visible" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 1964, + "charLength": 171, + "snippet": { + "text": " {\r\n if (value is not string text) return Visibility.Collapsed;\r\n return string.IsNullOrEmpty(text) ? Visibility.Collapsed : Visibility.Visible;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "963e4c57a0c04a33", + "equalIndicator/v1": "68f48600b31974d7db9476307f8e648b90fda73fa5f2df13d3874b4304f6729a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PlanViewRangeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 42, + "charOffset": 1596, + "charLength": 9, + "snippet": { + "text": "GetOffset" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1404, + "charLength": 448, + "snippet": { + "text": " nameof(PlanViewRange.GetOffset) => ResolveSet\r\n .Append(viewRange.GetOffset(PlanViewPlane.TopClipPlane), \"Top clip plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.CutPlane), \"Cut plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.BottomClipPlane), \"Bottom clip plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.UnderlayBottom), \"Underlay bottom\"),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b1f2ab8d93d48f77", + "equalIndicator/v1": "6aea56c4131dac9315bbbd1966325d3c7b2eeb78a3ead9e61487e08527ea576d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ColorDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 72, + "charOffset": 1428, + "charLength": 4, + "snippet": { + "text": "Blue" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1325, + "charLength": 173, + "snippet": { + "text": " {\r\n _color = color;\r\n Name = color.IsValid ? $\"RGB: {color.Red} {color.Green} {color.Blue}\" : \"The color represents uninitialized/invalid value\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "850443605d934284", + "equalIndicator/v1": "6b57a1810ce1264f76f6023db5f6d6ff3dbf99256d48c69a04809693b928a567" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 174, + "charOffset": 2197, + "charLength": 12, + "snippet": { + "text": "ShieldLock16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1915, + "charLength": 569, + "snippet": { + "text": " if ((attributes & MemberAttributes.Property) != 0) return SymbolRegular.ClipboardBulletListLtr16;\r\n\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.ShieldLock16;\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.TableLock16;\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.Box16;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b74e1e1d3be95e32", + "equalIndicator/v1": "6c799e24dc7778c5c11c35076f5d37ac0ed84c6eea558f1f136db1178d947da9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'BuiltInParameter' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'BuiltInParameter' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 119, + "startColumn": 45, + "charOffset": 5007, + "charLength": 16, + "snippet": { + "text": "builtInParameter" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 117, + "startColumn": 1, + "charOffset": 4895, + "charLength": 182, + "snippet": { + "text": "\r\n var elementId = Activator.CreateInstance(elementIdType);\r\n elementIdIdType.SetValue(elementId, builtInParameter);\r\n\r\n var handle = GCHandle.Alloc(elementId);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "28c35542c877c706", + "equalIndicator/v1": "700a20ba2b14519b88722fa590d0594190d1beec1d97baf1fb8fd88c29507d4e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 176, + "charOffset": 1608, + "charLength": 14, + "snippet": { + "text": "CalendarLock16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1378, + "charLength": 536, + "snippet": { + "text": " var attributes = (MemberAttributes) value!;\r\n\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.CalendarLock16;\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.DocumentLock16;\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.ClipboardNote16;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "549bbff5e33dedf5", + "equalIndicator/v1": "702e41ea8947971858b55357582143946c9117b049ee1fed3fafdd5f7326a813" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/ValueConterters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 93, + "startColumn": 16, + "charOffset": 3430, + "charLength": 45, + "snippet": { + "text": "b ? Visibility.Collapsed : Visibility.Visible" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 91, + "startColumn": 1, + "charOffset": 3345, + "charLength": 141, + "snippet": { + "text": " {\r\n if (value is not bool b) return Visibility.Collapsed;\r\n return b ? Visibility.Collapsed : Visibility.Visible;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "60644867638b7bd8", + "equalIndicator/v1": "711fd65a00649695a6956809a248245ab10804a4ac962f18d3def5e561080cda" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'int?' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'int?' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CategoryDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 42, + "charOffset": 3138, + "charLength": 13, + "snippet": { + "text": "GetLineWeight" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 2959, + "charLength": 274, + "snippet": { + "text": " nameof(Category.GetLineWeight) => ResolveSet\r\n .Append(_category.GetLineWeight(GraphicsStyleType.Cut), \"Cut\")\r\n .AppendVariant(_category.GetLineWeight(GraphicsStyleType.Projection), \"Projection\"),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "da52b00780a68b67", + "equalIndicator/v1": "717da4dc9ab00080a943b3044b57c634aa263be45abb58ae748a79292ebbe83a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 74, + "startColumn": 39, + "charOffset": 3003, + "charLength": 15, + "snippet": { + "text": "GetEndParameter" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 72, + "startColumn": 1, + "charOffset": 2841, + "charLength": 332, + "snippet": { + "text": " nameof(Curve.GetEndParameter) => ResolveSet\r\n .Append(_curve.GetEndParameter(0), \"Parameter 0\")\r\n .AppendVariant(_curve.GetEndParameter(1), \"Parameter 1\"),\r\n nameof(Curve.GetEndPointReference) => ResolveSet\r\n .Append(_curve.GetEndPointReference(0), \"Reference 0\")\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f2ced39b1bfa6a5c", + "equalIndicator/v1": "745b1ac1f65656b51c605fed65d5c49beb14e7edffe6993aa7927d4e33ceb25d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 154, + "startColumn": 59, + "charOffset": 5309, + "charLength": 9, + "snippet": { + "text": "condition" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 152, + "startColumn": 1, + "charOffset": 5164, + "charLength": 181, + "snippet": { + "text": " public static MenuItem SetAvailability(this MenuItem item, bool condition)\r\n {\r\n item.SetCurrentValue(UIElement.IsEnabledProperty, condition);\r\n\r\n return item;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "156b1d60ccb16d39", + "equalIndicator/v1": "7872e8def7d4d7a61525402b7e14f7e9bb56df0c4f81d0ff0758a166a6c3b5d3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 275, + "startColumn": 27, + "charOffset": 11920, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 273, + "startColumn": 1, + "charOffset": 11764, + "charLength": 207, + "snippet": { + "text": " < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r\n < 300d => $\"B{Math.Round((hue - 240d) / 0.6d, 0)}\",\r\n _ => $\"M{Math.Round((hue - 300d) / 0.6d, 0)}\"\r\n };\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "55a3c32dd6b5a185", + "equalIndicator/v1": "7874f791bdb36f9f8a5d9b5e49d007e2bf1d961da010de66ffb03a4e520677b8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 81, + "charOffset": 1995, + "charLength": 24, + "snippet": { + "text": "ClipboardBulletListLtr16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1625, + "charLength": 586, + "snippet": { + "text": " if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.DocumentLock16;\r\n if ((attributes & MemberAttributes.Property) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.ClipboardNote16;\r\n if ((attributes & MemberAttributes.Property) != 0) return SymbolRegular.ClipboardBulletListLtr16;\r\n\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.ShieldLock16;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0e2c50777e404164", + "equalIndicator/v1": "7ee785a0ef358ec2518d590d741ba7544bbf05dd94fee35d3ddf762616d206d2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'switch expression' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'switch expression' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ObjectColorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 16, + "charOffset": 1327, + "charLength": 366, + "snippet": { + "text": "value switch\r\n {\r\n Color {IsValid: false} => System.Windows.Media.Colors.Transparent,\r\n Color color => System.Windows.Media.Color.FromArgb(byte.MaxValue, color.Red, color.Green, color.Blue),\r\n System.Windows.Media.Color color => color,\r\n _ => throw new ArgumentOutOfRangeException(nameof(value), value, null)\r\n " + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1208, + "charLength": 502, + "snippet": { + "text": " public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r\n {\r\n return value switch\r\n {\r\n Color {IsValid: false} => System.Windows.Media.Colors.Transparent,\r\n Color color => System.Windows.Media.Color.FromArgb(byte.MaxValue, color.Red, color.Green, color.Blue),\r\n System.Windows.Media.Color color => color,\r\n _ => throw new ArgumentOutOfRangeException(nameof(value), value, null)\r\n };\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1cb2f75514b2a375", + "equalIndicator/v1": "85bf6857dadfa1c76f51a14c087457f55a4ae44844f8aca42b0a388a6696bf70" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/UiElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 66, + "charOffset": 1633, + "charLength": 5, + "snippet": { + "text": "false" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1398, + "charLength": 360, + "snippet": { + "text": " nameof(UIElement.GetLocalValueEnumerator) => ResolveSet.Append(null),\r\n nameof(UIElement.CaptureMouse) => ResolveSet.Append(false, \"Overridden\"),\r\n nameof(UIElement.CaptureStylus) => ResolveSet.Append(false, \"Overridden\"),\r\n nameof(UIElement.Focus) => ResolveSet.Append(false, \"Overridden\"),\r\n _ => null\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4421da3f063f88ec", + "equalIndicator/v1": "8f6a1cae248eff80d4549c0bff891a2692a8e2aff7c4beb9a58b8b0aa09d71ce" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'int' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'int' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 73, + "charOffset": 1991, + "charLength": 6, + "snippet": { + "text": "Number" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1841, + "charLength": 178, + "snippet": { + "text": " {\r\n var section = mepSystem.GetSectionByIndex(i);\r\n resolveSummary.AppendVariant(section, $\"Number {section.Number}\");\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "321d0df47dcb8e34", + "equalIndicator/v1": "954ca0a27c6db788426c220f771e088f0b7a616e6fcbf70008d1c91b2c2181d5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/ValueConterters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 92, + "startColumn": 52, + "charOffset": 3403, + "charLength": 9, + "snippet": { + "text": "Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 90, + "startColumn": 1, + "charOffset": 3248, + "charLength": 236, + "snippet": { + "text": " public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r\n {\r\n if (value is not bool b) return Visibility.Collapsed;\r\n return b ? Visibility.Collapsed : Visibility.Visible;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0cf191a146cf4e9e", + "equalIndicator/v1": "9b9ffe0e4dfa39451cd20916f57aa422f7cf199bc8bfaa6a68dac5cc885e906b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 126, + "charOffset": 2886, + "charLength": 9, + "snippet": { + "text": "TagLock16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 2572, + "charLength": 550, + "snippet": { + "text": "\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.TrophyLock16;\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.TagLock16;\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.TagMultiple16;\r\n if ((attributes & MemberAttributes.Field) != 0) return SymbolRegular.Tag16;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1714779942d3fa96", + "equalIndicator/v1": "9fe9eb01fd83aad309684b3ee818b42a97b99d87354d31b76cd13856f1e10f5d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/UpdateConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 16, + "charOffset": 2346, + "charLength": 128, + "snippet": { + "text": "state is SoftwareUpdateState.ReadyToDownload or SoftwareUpdateState.ErrorDownloading ? Visibility.Visible : Visibility.Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 2273, + "charLength": 212, + "snippet": { + "text": " {\r\n var state = (SoftwareUpdateState) value!;\r\n return state is SoftwareUpdateState.ReadyToDownload or SoftwareUpdateState.ErrorDownloading ? Visibility.Visible : Visibility.Collapsed;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "051b2e335ec53b05", + "equalIndicator/v1": "9feeda01809b9c3611cdcbcbdd38058a0374459ff8ef7e80ab264658bc897cd5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/UpdateConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 117, + "startColumn": 16, + "charOffset": 4507, + "charLength": 126, + "snippet": { + "text": "state is SoftwareUpdateState.ErrorChecking or SoftwareUpdateState.ErrorDownloading ? Visibility.Visible : Visibility.Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 115, + "startColumn": 1, + "charOffset": 4434, + "charLength": 210, + "snippet": { + "text": " {\r\n var state = (SoftwareUpdateState) value!;\r\n return state is SoftwareUpdateState.ErrorChecking or SoftwareUpdateState.ErrorDownloading ? Visibility.Visible : Visibility.Collapsed;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b85b76dfbc92f188", + "equalIndicator/v1": "a4311e07aed9853c66ad9605f7071f08819e042e113690fb216a8f6b4bed7391" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CategoryDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 70, + "charOffset": 2286, + "charLength": 27, + "snippet": { + "text": "get_AllowsVisibilityControl" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 2176, + "charLength": 345, + "snippet": { + "text": " return target switch\r\n {\r\n \"AllowsVisibilityControl\" => ResolveSet.Append(_category.get_AllowsVisibilityControl(RevitShell.ActiveView), \"Active view\"),\r\n \"Visible\" => ResolveSet.Append(_category.get_Visible(RevitShell.ActiveView), \"Active view\"),\r\n nameof(Category.GetGraphicsStyle) => ResolveSet\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2fd66c77f4ba181b", + "equalIndicator/v1": "a464ca92e88d9aa71603360113a5e2b6ec2f0797f72d61d837f0e953187240eb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PlanViewRangeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 42, + "charOffset": 1686, + "charLength": 9, + "snippet": { + "text": "GetOffset" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1463, + "charLength": 449, + "snippet": { + "text": " .Append(viewRange.GetOffset(PlanViewPlane.TopClipPlane), \"Top clip plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.CutPlane), \"Cut plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.BottomClipPlane), \"Bottom clip plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.UnderlayBottom), \"Underlay bottom\"),\r\n nameof(PlanViewRange.GetLevelId) => ResolveSet\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "30e9b9b309e20866", + "equalIndicator/v1": "a611a2f7563a95bdd999492d9675d5542a599ed3a76ba73c89defca275ebea33" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PerformanceAdviserDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 90, + "startColumn": 54, + "charOffset": 4092, + "charLength": 97, + "snippet": { + "text": "new KeyValuePair(i, adviser.GetElementFilterFromRule(i, RevitShell.Document))" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 88, + "startColumn": 1, + "charOffset": 3959, + "charLength": 288, + "snippet": { + "text": " {\r\n for (var i = 0; i < rules; i++)\r\n resolveSet.AppendVariant(new KeyValuePair(i, adviser.GetElementFilterFromRule(i, RevitShell.Document)));\r\n break;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2faef0cca626f57a", + "equalIndicator/v1": "a6e4f4f3325c756b25ac9efeafcde6f9896b04e2bbd1cdfda45db9329f3d0f26" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/UpdateConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 16, + "charOffset": 1601, + "charLength": 115, + "snippet": { + "text": "state == SoftwareUpdateState.UpToDate && !isUpdating && isUpdateChecked ? Visibility.Visible : Visibility.Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1493, + "charLength": 234, + "snippet": { + "text": " var isUpdating = (bool) values[1];\r\n var isUpdateChecked = (bool) values[2];\r\n return state == SoftwareUpdateState.UpToDate && !isUpdating && isUpdateChecked ? Visibility.Visible : Visibility.Collapsed;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e046aaf9e635c2d1", + "equalIndicator/v1": "ab43d2cdeec18cec1dd65de02a91596204972dc00419464ec7999c02b0ebaf4d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ForgeTypeIdDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 88, + "charOffset": 1565, + "charLength": 5, + "snippet": { + "text": "false" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1437, + "charLength": 185, + "snippet": { + "text": " return target switch\r\n {\r\n nameof(ForgeTypeId.Clear) when parameters.Length == 0 => ResolveSet.Append(false, \"Overridden\"),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "de2401a1a6f2851b", + "equalIndicator/v1": "aeecbcc253f719e9f20269e5787c048ecdfc77467d66554294ee1839add2374e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'int?' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'int?' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CategoryDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 35, + "charOffset": 3051, + "charLength": 13, + "snippet": { + "text": "GetLineWeight" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2854, + "charLength": 367, + "snippet": { + "text": " .AppendVariant(_category.GetLinePatternId(GraphicsStyleType.Projection), \"Projection\"),\r\n nameof(Category.GetLineWeight) => ResolveSet\r\n .Append(_category.GetLineWeight(GraphicsStyleType.Cut), \"Cut\")\r\n .AppendVariant(_category.GetLineWeight(GraphicsStyleType.Projection), \"Projection\"),\r\n _ => null\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df9feea574819d56", + "equalIndicator/v1": "b4983c012c9429b6da59dfc58321ccf1179f309f63c8a20ec1083d3957293a90" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 274, + "startColumn": 32, + "charOffset": 11860, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 272, + "startColumn": 1, + "charOffset": 11699, + "charLength": 265, + "snippet": { + "text": " < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r\n < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r\n < 300d => $\"B{Math.Round((hue - 240d) / 0.6d, 0)}\",\r\n _ => $\"M{Math.Round((hue - 300d) / 0.6d, 0)}\"\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ef48e2fdf4800bdd", + "equalIndicator/v1": "b60788c4f9a21062639874b92ab937369ab7d1c5a88476c06187ef9118eac164" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ColorMediaDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 50, + "charOffset": 1405, + "charLength": 1, + "snippet": { + "text": "B" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1324, + "charLength": 95, + "snippet": { + "text": " {\r\n _color = color;\r\n Name = $\"RGB: {color.R} {color.B} {color.B}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bbdca5836820a567", + "equalIndicator/v1": "b6e063fffd9a278624f1c2ded7e60854677b94c9dd286416a24626ef710c099c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'int' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'int' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 582, + "startColumn": 19, + "charOffset": 32897, + "charLength": 45, + "snippet": { + "text": "(color.R * 65536) + (color.G * 256) + color.B" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 580, + "startColumn": 1, + "charOffset": 32818, + "charLength": 137, + "snippet": { + "text": " public static string ColorToDecimal(Color color)\r\n {\r\n return $\"{(color.R * 65536) + (color.G * 256) + color.B}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae3415ca1b7a39da", + "equalIndicator/v1": "ba7a99db7989988e4c9711b883156a667d36dc0f50ba092d2f2bb48b0cd293a1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PlanViewRangeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 35, + "charOffset": 1497, + "charLength": 9, + "snippet": { + "text": "GetOffset" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1393, + "charLength": 356, + "snippet": { + "text": " {\r\n nameof(PlanViewRange.GetOffset) => ResolveSet\r\n .Append(viewRange.GetOffset(PlanViewPlane.TopClipPlane), \"Top clip plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.CutPlane), \"Cut plane\")\r\n .AppendVariant(viewRange.GetOffset(PlanViewPlane.BottomClipPlane), \"Bottom clip plane\")\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c7f247d3486c5408", + "equalIndicator/v1": "ba9025fb0117712575b2f5b53fd8ed062b1d96cb72f8fe0d23f5c7be0eb60927" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ParameterDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 91, + "charOffset": 2518, + "charLength": 5, + "snippet": { + "text": "false" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2387, + "charLength": 188, + "snippet": { + "text": " return target switch\r\n {\r\n nameof(Parameter.ClearValue) when parameters.Length == 0 => ResolveSet.Append(false, \"Overridden\"),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1a2a3cca153ea97d", + "equalIndicator/v1": "be11c92d1f3b812db37534fdc86a37f7573c917bd2899f424c0874c494368c72" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 49, + "startColumn": 78, + "charOffset": 3115, + "charLength": 5, + "snippet": { + "text": "Tag16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 47, + "startColumn": 1, + "charOffset": 2761, + "charLength": 506, + "snippet": { + "text": " if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.TagLock16;\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.TagMultiple16;\r\n if ((attributes & MemberAttributes.Field) != 0) return SymbolRegular.Tag16;\r\n\r\n if ((attributes & MemberAttributes.Event) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.FlashSettings20;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bb471e14ffa573fa", + "equalIndicator/v1": "be9a6394e7a9fb5d523b6dcd711545bf0ff65a7c5d7da208a9129ad080afa999" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 125, + "charOffset": 3022, + "charLength": 13, + "snippet": { + "text": "TagMultiple16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2574, + "charLength": 550, + "snippet": { + "text": " if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.TrophyLock16;\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.TagLock16;\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.TagMultiple16;\r\n if ((attributes & MemberAttributes.Field) != 0) return SymbolRegular.Tag16;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a97b33c13c738f29", + "equalIndicator/v1": "bed9ffec7dea6c7964307c93e93f025a570928c6561e5ba66f110e97ee7aac81" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ColorMediaDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 40, + "charOffset": 1395, + "charLength": 1, + "snippet": { + "text": "B" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1324, + "charLength": 95, + "snippet": { + "text": " {\r\n _color = color;\r\n Name = $\"RGB: {color.R} {color.B} {color.B}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9e38fa44633808b1", + "equalIndicator/v1": "bf5d0707e3c2100ba6c532c1ecffafbec1d64f5bae28f556cacd3fac71427ee7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/ValueConterters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 52, + "charOffset": 2724, + "charLength": 9, + "snippet": { + "text": "Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2569, + "charLength": 236, + "snippet": { + "text": " public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r\n {\r\n if (value is not bool b) return Visibility.Collapsed;\r\n return b ? Visibility.Visible : Visibility.Collapsed;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d80d48f2aa9880d9", + "equalIndicator/v1": "c0a1baeb1fee403d289f38991d1b39df7e10150324a845c0efbf665a97f9c708" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PerformanceAdviserDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 76, + "startColumn": 82, + "charOffset": 3523, + "charLength": 64, + "snippet": { + "text": "new KeyValuePair(i, adviser.WillRuleCheckElements(i))" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 74, + "startColumn": 1, + "charOffset": 3343, + "charLength": 302, + "snippet": { + "text": " case nameof(PerformanceAdviser.WillRuleCheckElements):\r\n {\r\n for (var i = 0; i < rules; i++) resolveSet.AppendVariant(new KeyValuePair(i, adviser.WillRuleCheckElements(i)));\r\n break;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61c2e4df63361475", + "equalIndicator/v1": "c25bca2cff03c9652ff29bfc022e22c92a42a3f3a3a963dde04d39347026e2c2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 79, + "charOffset": 2563, + "charLength": 6, + "snippet": { + "text": "Cube16" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 2212, + "charLength": 548, + "snippet": { + "text": " if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Private) != 0) return SymbolRegular.TableLock16;\r\n if ((attributes & MemberAttributes.Method) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.Box16;\r\n if ((attributes & MemberAttributes.Method) != 0) return SymbolRegular.Cube16;\r\n\r\n if ((attributes & MemberAttributes.Field) != 0 && (attributes & MemberAttributes.Private) != 0 && (attributes & MemberAttributes.Static) != 0) return SymbolRegular.TrophyLock16;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2897971f50388f5b", + "equalIndicator/v1": "c2fae22b90508df2d96ce531ce201c67c1d558708a69eb56386db91ca481ca98" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PerformanceAdviserDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 82, + "charOffset": 2640, + "charLength": 72, + "snippet": { + "text": "new KeyValuePair(i, adviser.GetRuleId(i))" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2472, + "charLength": 298, + "snippet": { + "text": " case nameof(PerformanceAdviser.GetRuleId):\r\n {\r\n for (var i = 0; i < rules; i++) resolveSet.AppendVariant(new KeyValuePair(i, adviser.GetRuleId(i)));\r\n break;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7bbde9ca85a7243d", + "equalIndicator/v1": "ca630bbe57aa7f0e2c409662060118a47049f514b6c7779d58b4fafb40896ff4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 272, + "startColumn": 32, + "charOffset": 11730, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 270, + "startColumn": 1, + "charOffset": 11580, + "charLength": 313, + "snippet": { + "text": " < 60d => $\"R{Math.Round(hue / 0.6d, 0)}\",\r\n < 120d => $\"Y{Math.Round((hue - 60d) / 0.6d, 0)}\",\r\n < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r\n < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r\n < 300d => $\"B{Math.Round((hue - 240d) / 0.6d, 0)}\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "208e6e2a85758300", + "equalIndicator/v1": "ca909cecfe1fea32a45bacc7371f2582b9af70d9bc9b4f705a3e5221a7879b86" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'IntPtr' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'IntPtr' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 151, + "startColumn": 101, + "charOffset": 6619, + "charLength": 16, + "snippet": { + "text": "elementIdPointer" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 149, + "startColumn": 1, + "charOffset": 6449, + "charLength": 216, + "snippet": { + "text": " Marshal.StructureToPtr(elementId, elementIdPointer, true);\r\n\r\n var category = (Category) categoryCtorType.Invoke([getADocumentType.Invoke(Document, null), elementIdPointer]);\r\n handle.Free();\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "00b955f9adfe439c", + "equalIndicator/v1": "cbcb2fe0a72acdbe7d684f5d5cc2d9daa4e4dbda44e439ddb94c30fe8c2a97ac" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'IntPtr' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'IntPtr' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 104, + "charOffset": 5310, + "charLength": 16, + "snippet": { + "text": "elementIdPointer" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 5137, + "charLength": 219, + "snippet": { + "text": " Marshal.StructureToPtr(elementId, elementIdPointer, true);\r\n\r\n var parameter = (Parameter) parameterCtorType.Invoke([getADocumentType.Invoke(Document, null), elementIdPointer]);\r\n handle.Free();\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e8a8fae46507fe6a", + "equalIndicator/v1": "cc3e4dbaf6fc7fc1ffe279cffb3efdbd3dda5217a4a3c8e3d9f503471f2745a1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'BuiltInParameter' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'BuiltInParameter' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 43, + "charOffset": 2349, + "charLength": 9, + "snippet": { + "text": "parameter" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 2267, + "charLength": 180, + "snippet": { + "text": " try\r\n {\r\n list.Add(new UnitInfo(parameter, parameter.ToString(), parameter.ToLabel()));\r\n }\r\n catch\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d0038aafb2d7f3f5", + "equalIndicator/v1": "cc75354dff4bfc29723d01a1d55a3dd0aa0350d5d2d63d408046597632b5a1ff" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PerformanceAdviserDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 56, + "startColumn": 82, + "charOffset": 2350, + "charLength": 63, + "snippet": { + "text": "new KeyValuePair(i, adviser.GetRuleDescription(i))" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 54, + "startColumn": 1, + "charOffset": 2173, + "charLength": 298, + "snippet": { + "text": " case nameof(PerformanceAdviser.GetRuleDescription):\r\n {\r\n for (var i = 0; i < rules; i++) resolveSet.AppendVariant(new KeyValuePair(i, adviser.GetRuleDescription(i)));\r\n break;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "03c767ddd2a51112", + "equalIndicator/v1": "cd394df41950c9c8dac944ecd8e0b5c94d637ca0e7b71884813d2a3f86597074" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'int' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'int' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 64, + "charOffset": 2426, + "charLength": 1, + "snippet": { + "text": "i" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2285, + "charLength": 164, + "snippet": { + "text": " {\r\n var section = mepSystem.GetSectionByIndex(i);\r\n resolveSummary.AppendVariant(section, $\"Index {i}\");\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "739524429a0131a1", + "equalIndicator/v1": "cd771b8f3f6cac64d8f64c2faba1bd3ead2a21c6c1fbda69a56ad6a55dabd270" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/VisualUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 84, + "startColumn": 64, + "charOffset": 3517, + "charLength": 4, + "snippet": { + "text": "true" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 82, + "startColumn": 1, + "charOffset": 3383, + "charLength": 179, + "snippet": { + "text": "\r\n if (container is TreeViewItem {IsExpanded: false} viewItem)\r\n viewItem.SetValue(TreeViewItem.IsExpandedProperty, true);\r\n\r\n container.ApplyTemplate();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c4a321e0b055ceaf", + "equalIndicator/v1": "ced9b03dfa209e28f84c86879b81d79bce994c451825468f3fe4be1b8dacbe5e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 25, + "charOffset": 2865, + "charLength": 12, + "snippet": { + "text": "milliseconds" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 2760, + "charLength": 216, + "snippet": { + "text": " < 1e-3 => \"0.001 ms\",\r\n < 10 => $\"{milliseconds:F3} ms\",\r\n < 100 => $\"{milliseconds:F2} ms\",\r\n < 1000 => $\"{milliseconds:F1} ms\",\r\n _ => $\"{milliseconds:0} ms\"\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "39836ee7d6701be6", + "equalIndicator/v1": "d05fd36a3387bad8107d31b63142befce475a4a7b91d06f027f0df425f1a3158" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/DefinitionBindingMapIteratorDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 39, + "charOffset": 1308, + "charLength": 68, + "snippet": { + "text": "new KeyValuePair(iterator.Key, iterator.Current)" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1131, + "charLength": 330, + "snippet": { + "text": "public sealed class DefinitionBindingMapIteratorDescriptor(DefinitionBindingMapIterator iterator) : Descriptor, IDescriptorRedirection\r\n{\r\n private readonly object _object = new KeyValuePair(iterator.Key, iterator.Current);\r\n\r\n public bool TryRedirect(Document context, string target, out object output)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "25a772b86a4c9068", + "equalIndicator/v1": "d6e125eba25af55f2fca5e3f271d5a5bd850d7692678dd4ca0f27dbab0b97d15" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 273, + "startColumn": 32, + "charOffset": 11795, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 271, + "startColumn": 1, + "charOffset": 11635, + "charLength": 317, + "snippet": { + "text": " < 120d => $\"Y{Math.Round((hue - 60d) / 0.6d, 0)}\",\r\n < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r\n < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r\n < 300d => $\"B{Math.Round((hue - 240d) / 0.6d, 0)}\",\r\n _ => $\"M{Math.Round((hue - 300d) / 0.6d, 0)}\"\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "11c54828dfd8eb06", + "equalIndicator/v1": "dc63a4b5ab81bbe655af9aab5b6d2c1bae27187db0bfa42cc0d218c10db4b372" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'DocUIType' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'DocUIType' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 44, + "charOffset": 4215, + "charLength": 7, + "snippet": { + "text": "Project" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 4117, + "charLength": 184, + "snippet": { + "text": "\r\n methodInfo.Invoke(null, [DocUIType.Model]);\r\n methodInfo.Invoke(null, [DocUIType.Project]);\r\n\r\n RevitRibbonControl.RibbonControl.ShouldJournalTabChange = true;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0a3f0895191b4c70", + "equalIndicator/v1": "dcbe6e02f9977b073b0280cde548a61caf426416c8a8c60dc16ae40d60027b6d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 16, + "charOffset": 2097, + "charLength": 65, + "snippet": { + "text": "collection.Count == 0 ? Visibility.Collapsed : Visibility.Visible" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 2002, + "charLength": 171, + "snippet": { + "text": " {\r\n var collection = (IReadOnlyCollection) value!;\r\n return collection.Count == 0 ? Visibility.Collapsed : Visibility.Visible;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f1573895c267c34c", + "equalIndicator/v1": "e02a071ea6016278b05425d435424dd0e6ec7d038fd7eccc39b2743231f83b61" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 74, + "startColumn": 57, + "charOffset": 2948, + "charLength": 15, + "snippet": { + "text": "GetPressureDrop" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 72, + "startColumn": 1, + "charOffset": 2833, + "charLength": 165, + "snippet": { + "text": " foreach (var id in elementIds)\r\n {\r\n resolveSummary.AppendVariant(mepSection.GetPressureDrop(id), $\"ID{id}\");\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "23c1cff14f46958e", + "equalIndicator/v1": "e0312252b40380ca4d5e2b331300e2c1439969adfc87c0893f6ed4935611f389" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'SymbolRegular' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/IconDescriptorConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 82, + "charOffset": 3438, + "charLength": 20, + "snippet": { + "text": "CubeArrowCurveDown20" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 3268, + "charLength": 245, + "snippet": { + "text": " if ((attributes & MemberAttributes.Event) != 0) return SymbolRegular.Flash16;\r\n\r\n if ((attributes & MemberAttributes.Extension) != 0) return SymbolRegular.CubeArrowCurveDown20;\r\n\r\n Debug.Assert(false, \"Unsupported image\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bb0e3408dd772f58", + "equalIndicator/v1": "e30ba2a8de74d7c95987860a91f1bb19aac2b63915f24f3094dc6a9eb83d22d0" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/UiElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 65, + "charOffset": 1545, + "charLength": 5, + "snippet": { + "text": "false" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1387, + "charLength": 348, + "snippet": { + "text": " {\r\n nameof(UIElement.GetLocalValueEnumerator) => ResolveSet.Append(null),\r\n nameof(UIElement.CaptureMouse) => ResolveSet.Append(false, \"Overridden\"),\r\n nameof(UIElement.CaptureStylus) => ResolveSet.Append(false, \"Overridden\"),\r\n nameof(UIElement.Focus) => ResolveSet.Append(false, \"Overridden\"),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3fc5e1cef10095a2", + "equalIndicator/v1": "e4f7d1579aa2fda5bd72225e0ca221573e89efedaca8f1052d5f241d87df490f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/ValueConterters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 16, + "charOffset": 1386, + "charLength": 34, + "snippet": { + "text": "value is not null && !(bool) value" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1267, + "charLength": 164, + "snippet": { + "text": " public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r\n {\r\n return value is not null && !(bool) value;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "782964760e4c2a4a", + "equalIndicator/v1": "eadb1459ea581b41113bc9f0f686f01a2b3681359d281781311fbf67e2539092" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'BuiltInCategory' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'BuiltInCategory' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 145, + "startColumn": 45, + "charOffset": 6320, + "charLength": 15, + "snippet": { + "text": "builtInCategory" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 143, + "startColumn": 1, + "charOffset": 6208, + "charLength": 181, + "snippet": { + "text": "\r\n var elementId = Activator.CreateInstance(elementIdType);\r\n elementIdIdType.SetValue(elementId, builtInCategory);\r\n\r\n var handle = GCHandle.Alloc(elementId);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4f1a08e9e2c56812", + "equalIndicator/v1": "ed071e631181c8c8128cc0cdf39eea480692eff304f324232f650f4224e3cf71" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 109, + "startColumn": 50, + "charOffset": 4040, + "charLength": 6, + "snippet": { + "text": "isMain" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 107, + "startColumn": 1, + "charOffset": 3915, + "charLength": 207, + "snippet": { + "text": " {\r\n var isMain = mepSection.IsMain(id);\r\n resolveSummary.AppendVariant(isMain, $\"ID{id}\");\r\n }\r\n catch (ArgumentException)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0abe0136818d3298", + "equalIndicator/v1": "ed14893d6caf6cfc8a5d6cee1b9ee9fd72a4aaabe9d37b09cced50062f47294a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PrintManagerDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 95, + "charOffset": 1592, + "charLength": 5, + "snippet": { + "text": "false" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1457, + "charLength": 192, + "snippet": { + "text": " return target switch\r\n {\r\n nameof(PrintManager.SubmitPrint) when parameters.Length == 0 => ResolveSet.Append(false, \"Overridden\"),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3b2fac7636e2f6f0", + "equalIndicator/v1": "eecb4b07976fcaad66f44330e468ecd33000a478f3423e3ccd2b84764cae5353" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 184, + "startColumn": 46, + "charOffset": 8331, + "charLength": 53, + "snippet": { + "text": "new KeyValuePair(materialId, area)" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 182, + "startColumn": 1, + "charOffset": 8203, + "charLength": 201, + "snippet": { + "text": " {\r\n var area = _element.GetMaterialVolume(materialId);\r\n resolveSummary.AppendVariant(new KeyValuePair(materialId, area));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cb201f681be04ae5", + "equalIndicator/v1": "f11d405f1c352bc77b53002d2edd1beeee43b0810385280d363bf525ec95916c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'byte' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ColorMediaDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 30, + "charOffset": 1385, + "charLength": 1, + "snippet": { + "text": "R" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1324, + "charLength": 95, + "snippet": { + "text": " {\r\n _color = color;\r\n Name = $\"RGB: {color.R} {color.B} {color.B}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ed22d0beff786d78", + "equalIndicator/v1": "f1cbf60d4254733c59e672d66d0e31a93a93361f7f1f82be38f06bd419563046" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'bool' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 71, + "charOffset": 3089, + "charLength": 11, + "snippet": { + "text": "CanBeHidden" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 2978, + "charLength": 389, + "snippet": { + "text": " return target switch\r\n {\r\n nameof(Element.CanBeHidden) => ResolveSet.Append(_element.CanBeHidden(RevitShell.ActiveView), \"Active view\"),\r\n nameof(Element.IsHidden) => ResolveSet.Append(_element.IsHidden(RevitShell.ActiveView), \"Active view\"),\r\n nameof(Element.GetDependentElements) => ResolveSet.Append(_element.GetDependentElements(null)),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5f83a8e2c1917360", + "equalIndicator/v1": "f3a75a8f8158d46320d77256b19c6fed2c63dbc631ec23049c01ff51a5073d09" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 271, + "startColumn": 32, + "charOffset": 11666, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 269, + "startColumn": 1, + "charOffset": 11569, + "charLength": 259, + "snippet": { + "text": " {\r\n < 60d => $\"R{Math.Round(hue / 0.6d, 0)}\",\r\n < 120d => $\"Y{Math.Round((hue - 60d) / 0.6d, 0)}\",\r\n < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r\n < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d589974e1b5f0085", + "equalIndicator/v1": "f7245dffe7f1aebc5f69b2540d734f51cd7acc8b7969f4071c57af166a50bf4a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 108, + "charOffset": 3998, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 3645, + "charLength": 404, + "snippet": { + "text": " resolveSummary.AppendVariant(_curve.Evaluate(endParameter0, false), $\"Parameter {endParameter0.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameterMid, false), $\"Parameter {endParameterMid.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter1, false), $\"Parameter {endParameter1.Round(3)}\");\r\n\r\n return resolveSummary;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57bb3c56fa184f15", + "equalIndicator/v1": "f86941f47ef97533dd20f8b25606a29961c6c19e9092271af79ffaf8f6032138" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 57, + "charOffset": 2555, + "charLength": 14, + "snippet": { + "text": "GetCoefficient" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 2440, + "charLength": 164, + "snippet": { + "text": " foreach (var id in elementIds)\r\n {\r\n resolveSummary.AppendVariant(mepSection.GetCoefficient(id), $\"ID{id}\");\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1d35e14f3b5f8955", + "equalIndicator/v1": "f8c4058e8a3724d64416692bc7bf606b7b2938920a2035d93fc39c22d2e3cf71" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'KeyValuePair' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 162, + "startColumn": 46, + "charOffset": 7483, + "charLength": 53, + "snippet": { + "text": "new KeyValuePair(materialId, area)" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 160, + "startColumn": 1, + "charOffset": 7350, + "charLength": 206, + "snippet": { + "text": " {\r\n var area = _element.GetMaterialArea(materialId, false);\r\n resolveSummary.AppendVariant(new KeyValuePair(materialId, area));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e8b6f8fae7fff130", + "equalIndicator/v1": "fcb36e7597b195f9d45d8d89b2e4d18f081051c964275db58020ac17532e78ce" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'Visibility' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/UpdateConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 16, + "charOffset": 3096, + "charLength": 87, + "snippet": { + "text": "state is SoftwareUpdateState.ReadyToInstall ? Visibility.Visible : Visibility.Collapsed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 3023, + "charLength": 171, + "snippet": { + "text": " {\r\n var state = (SoftwareUpdateState) value!;\r\n return state is SoftwareUpdateState.ReadyToInstall ? Visibility.Visible : Visibility.Collapsed;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cae31dafa8f82346", + "equalIndicator/v1": "fd6bb9787c22e9eeb4ee299f048ae7e2e926df662cd564ab03cd5eb7f590b295" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'double' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 90, + "startColumn": 112, + "charOffset": 3877, + "charLength": 5, + "snippet": { + "text": "Round" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 88, + "startColumn": 1, + "charOffset": 3643, + "charLength": 370, + "snippet": { + "text": "\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter0, false), $\"Parameter {endParameter0.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameterMid, false), $\"Parameter {endParameterMid.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter1, false), $\"Parameter {endParameter1.Round(3)}\");\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e76bb1b789fe74aa", + "equalIndicator/v1": "fda3d6ade9bca72dc88dd2268cb3048cac1c16c6274d9fc553830d3c7153d006" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.BoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Boxing allocation: conversion from 'DocUIType' to 'object' requires boxing of the value type", + "markdown": "Boxing allocation: conversion from 'DocUIType' to 'object' requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 96, + "startColumn": 44, + "charOffset": 4162, + "charLength": 5, + "snippet": { + "text": "Model" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 94, + "startColumn": 1, + "charOffset": 3978, + "charLength": 250, + "snippet": { + "text": " var methodInfo = type.GetMethod(\"LoadRibbonCommands\", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.DeclaredOnly)!;\r\n\r\n methodInfo.Invoke(null, [DocUIType.Model]);\r\n methodInfo.Invoke(null, [DocUIType.Project]);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0d647f12838f30d4", + "equalIndicator/v1": "fe3b44833416ac59de45ce82287c9bd3af9de62383e52b4937f913141f660957" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'element' parameter", + "markdown": "Closure allocation: capture of 'element' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 49, + "startColumn": 35, + "charOffset": 1917, + "charLength": 7, + "snippet": { + "text": "element" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 47, + "startColumn": 1, + "charOffset": 1808, + "charLength": 194, + "snippet": { + "text": " contextMenu.AddMenuItem()\r\n .SetHeader(\"Show element\")\r\n .SetCommand(_element, element =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f15d273199cb7014", + "equalIndicator/v1": "0ac8e3dc3d4ff0f1a4f998e25beff2b9547ca1b3b7a7059a5157be7ca07b2cd9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'snoopableType' parameter", + "markdown": "Closure allocation: capture of 'snoopableType' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SnoopVisualService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 48, + "charOffset": 2349, + "charLength": 13, + "snippet": { + "text": "snoopableType" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 2293, + "charLength": 91, + "snippet": { + "text": " }\r\n\r\n public async Task SnoopAsync(SnoopableType snoopableType)\r\n {\r\n try\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "193d1ea4e3afe939", + "equalIndicator/v1": "0ea07a5f021ace02c37e95de2168e4b0c7c8b141770c911de7ad2d928749d933" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'snoopableType' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'snoopableType' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 59, + "charOffset": 2081, + "charLength": 13, + "snippet": { + "text": "snoopableType" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2014, + "charLength": 146, + "snippet": { + "text": " }\r\n\r\n public ILookupServiceDependsStage Snoop(SnoopableType snoopableType)\r\n {\r\n if (Thread.CurrentThread == _dispatcher.Thread)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9fbf3f5317c4324c", + "equalIndicator/v1": "12435267bd5a1d3b5d2682ac102a69aad24f1608eeac5fea4877265c4934a32d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'title' parameter, 'message' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'title' parameter, 'message' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 36, + "charOffset": 1289, + "charLength": 5, + "snippet": { + "text": "title" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1209, + "charLength": 141, + "snippet": { + "text": " private Action _pendingNotifications;\r\n\r\n public void ShowSuccess(string title, string message)\r\n {\r\n if (!window.IsLoaded)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2b33719739ec1516", + "equalIndicator/v1": "1cd6288706e0e8163924ead7db7e425a181bf8c84351925a4e24f79ce9dec6f6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'edge' parameter", + "markdown": "Closure allocation: capture of 'edge' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EdgeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 32, + "charOffset": 1873, + "charLength": 4, + "snippet": { + "text": "edge" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 1770, + "charLength": 185, + "snippet": { + "text": " contextMenu.AddMenuItem()\r\n .SetHeader(\"Show edge\")\r\n .SetCommand(_edge, edge =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9fb07b02fe3a1d6d", + "equalIndicator/v1": "32c95c6b509162f352415ff673a96f95ff3833ef14ef0aa5038b24df147f2e07" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'handler' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'handler' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 206, + "startColumn": 42, + "charOffset": 6250, + "charLength": 7, + "snippet": { + "text": "handler" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 204, + "startColumn": 1, + "charOffset": 6196, + "charLength": 128, + "snippet": { + "text": " }\r\n\r\n public void Execute(Action handler) where T : class\r\n {\r\n if (_activeTask is null)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aa6cee3396f48ac8", + "equalIndicator/v1": "40fc02d83e751aa50c4dff63da22892d43ac645671f6c897c9b9952e9a2ea1a4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'face' parameter", + "markdown": "Closure allocation: capture of 'face' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FaceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 32, + "charOffset": 1861, + "charLength": 4, + "snippet": { + "text": "face" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 1758, + "charLength": 185, + "snippet": { + "text": " contextMenu.AddMenuItem()\r\n .SetHeader(\"Show face\")\r\n .SetCommand(_face, face =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c6ec16f557c8e5d3", + "equalIndicator/v1": "5510218494f95df7b7097373365081666419d2424ceef34e857e5f0f1084e775" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'handler' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'handler' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 129, + "startColumn": 38, + "charOffset": 3865, + "charLength": 7, + "snippet": { + "text": "handler" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 127, + "startColumn": 1, + "charOffset": 3819, + "charLength": 135, + "snippet": { + "text": " }\r\n\r\n public void Execute(Action handler) where T : class\r\n {\r\n if (Thread.CurrentThread == _dispatcher.Thread)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1056b7e11b0587e2", + "equalIndicator/v1": "5eda76887cfd71b2dd5f9abff5e264db7c104d7336356b5dc9d6e0021df39cda" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'option' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'option' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/SnoopViewModelBase.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 51, + "charOffset": 3100, + "charLength": 6, + "snippet": { + "text": "option" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 3041, + "charLength": 98, + "snippet": { + "text": " }\r\n\r\n private void UpdateSearchResults(SearchOption option)\r\n {\r\n Task.Run(() =>\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "80798781a20bef9f", + "equalIndicator/v1": "67113ebeda27c6406d23b1dfba273e22d4b39848f8e4601ab170e6921aa6586d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'rawId' parameter", + "markdown": "Closure allocation: capture of 'rawId' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 71, + "startColumn": 61, + "charOffset": 2689, + "charLength": 5, + "snippet": { + "text": "rawId" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 69, + "startColumn": 1, + "charOffset": 2620, + "charLength": 174, + "snippet": { + "text": " }\r\n\r\n private static IEnumerable SearchByName(string rawId)\r\n {\r\n var elementTypes = RevitShell.Document.GetElements().WhereElementIsElementType();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "83d4e0302e365112", + "equalIndicator/v1": "747568d2f103cec9572fea91f2072dd5d23237d14a281eb59d01856a52623129" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'logger' parameter", + "markdown": "Closure allocation: capture of 'logger' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 91, + "charOffset": 1303, + "charLength": 6, + "snippet": { + "text": "logger" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1200, + "charLength": 153, + "snippet": { + "text": " }\r\n \r\n private static void RedirectProcessOutput(Process process, Action logger)\r\n {\r\n logger ??= DefaultLogger;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "128307acb94b1f7a", + "equalIndicator/v1": "877864826299259bb3cbc96681f80c84020c967965d71e6ce33f9bd535a8f820" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'title' parameter, 'message' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'title' parameter, 'message' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 36, + "charOffset": 1665, + "charLength": 5, + "snippet": { + "text": "title" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1621, + "charLength": 105, + "snippet": { + "text": " }\r\n\r\n public void ShowWarning(string title, string message)\r\n {\r\n if (!window.IsLoaded)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3a2a8d9f218a8b2a", + "equalIndicator/v1": "8f06f6f261db999310e45ac09614ede045658795fdf940346b57af00b0fd18b3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'settingsService' parameter", + "markdown": "Closure allocation: capture of 'settingsService' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/RibbonController.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 70, + "startColumn": 54, + "charOffset": 3284, + "charLength": 15, + "snippet": { + "text": "settingsService" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 68, + "startColumn": 1, + "charOffset": 3222, + "charLength": 137, + "snippet": { + "text": " }\r\n\r\n public static void ReloadPanels(ISettingsService settingsService)\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7c15a789bf235ac3", + "equalIndicator/v1": "a01e42423fe8c715577cb3aca21c6d73c808184412960395b37e365f68d0e064" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'value' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'value' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/UnitsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 51, + "charOffset": 1405, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1284, + "charLength": 182, + "snippet": { + "text": " [ObservableProperty] private string _searchText = string.Empty;\r\n\r\n async partial void OnSearchTextChanged(string value)\r\n {\r\n if (string.IsNullOrEmpty(SearchText))\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6151c4af6695942d", + "equalIndicator/v1": "ab49394a1e8311d664452ee8d0e377c1f9e5324a92fa4d8fd9662febfd74b030" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'value' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'value' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 51, + "charOffset": 2285, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 2226, + "charLength": 120, + "snippet": { + "text": " }\r\n\r\n async partial void OnSearchTextChanged(string value)\r\n {\r\n if (string.IsNullOrEmpty(SearchText))\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "288198078b9c42e5", + "equalIndicator/v1": "b070374f1c13a413bd050720faa9483a9d5bde5fdfd829ca37f61baeb1e92bd4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'scopeFactory' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'scopeFactory' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 47, + "charOffset": 1712, + "charLength": 12, + "snippet": { + "text": "scopeFactory" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1657, + "charLength": 133, + "snippet": { + "text": " }\r\n\r\n public LookupService(IServiceScopeFactory scopeFactory)\r\n {\r\n if (Thread.CurrentThread == _dispatcher.Thread)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "da2996abaf822629", + "equalIndicator/v1": "b794be0ca2b29557f30eb19733bac43897db2c25f51e3c3227b2f9809a0fcbf6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'provider' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'provider' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 101, + "startColumn": 63, + "charOffset": 3205, + "charLength": 8, + "snippet": { + "text": "provider" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 99, + "startColumn": 1, + "charOffset": 3134, + "charLength": 145, + "snippet": { + "text": " }\r\n\r\n public ILookupServiceShowStage DependsOn(IServiceProvider provider)\r\n {\r\n if (Thread.CurrentThread == _dispatcher.Thread)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4cdf1da3b8fe4afc", + "equalIndicator/v1": "c36c29e648995cbab88b998087e8052fd05b9d871df3566cd8b7ece9af1bea05" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'curve' parameter", + "markdown": "Closure allocation: capture of 'curve' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 33, + "charOffset": 1879, + "charLength": 5, + "snippet": { + "text": "curve" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1774, + "charLength": 188, + "snippet": { + "text": " contextMenu.AddMenuItem()\r\n .SetHeader(\"Show curve\")\r\n .SetCommand(_curve, curve =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "af4c8fde7c5c0a52", + "equalIndicator/v1": "c78febec1c27f001ddd8f6ca60b193689324621016c6fc9fb5c4bdbcdfbfa7df" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'solid' parameter", + "markdown": "Closure allocation: capture of 'solid' parameter" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SolidDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 33, + "charOffset": 1874, + "charLength": 5, + "snippet": { + "text": "solid" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 1769, + "charLength": 188, + "snippet": { + "text": " contextMenu.AddMenuItem()\r\n .SetHeader(\"Show solid\")\r\n .SetCommand(_solid, solid =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bc45aaf49f7b1d44", + "equalIndicator/v1": "c795107ec138977b3939358a9eec74fa76e491f384039e01c260971388615dee" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'title' parameter, 'message' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'title' parameter, 'message' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 34, + "charOffset": 2163, + "charLength": 5, + "snippet": { + "text": "title" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 2121, + "charLength": 103, + "snippet": { + "text": " }\r\n\r\n public void ShowError(string title, string message)\r\n {\r\n if (!window.IsLoaded)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "03c29b431a343b02", + "equalIndicator/v1": "dbee1d64146e11175564be027f597ef4a314b19445613047003a453ad2e9f0ef" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'assemblyLocation' variable 'rootPath' variable 'appDataPath' variable 'fileVersion' variable 'targetFrameworkAttribute' variable", + "markdown": "Closure allocation: capture of 'assemblyLocation' variable 'rootPath' variable 'appDataPath' variable 'fileVersion' variable 'targetFrameworkAttribute' variable" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Config/OptionsConfiguration.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 19, + "startColumn": 13, + "charOffset": 583, + "charLength": 16, + "snippet": { + "text": "assemblyLocation" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 17, + "startColumn": 1, + "charOffset": 507, + "charLength": 288, + "snippet": { + "text": " {\r\n var assembly = Assembly.GetExecutingAssembly();\r\n var assemblyLocation = assembly.Location;\r\n var rootPath = configuration.GetValue(\"contentRoot\");\r\n var appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a366a4905bca759b", + "equalIndicator/v1": "e251c4164590e25354a9bca2ad31a16347a59d44a04eb2a3ce8b5aeb6fa75068" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'snoopableObject' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'snoopableObject' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 61, + "charOffset": 2443, + "charLength": 15, + "snippet": { + "text": "snoopableObject" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 2374, + "charLength": 150, + "snippet": { + "text": " }\r\n\r\n public ILookupServiceDependsStage Snoop(SnoopableObject snoopableObject)\r\n {\r\n if (Thread.CurrentThread == _dispatcher.Thread)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6766791ca37257e5", + "equalIndicator/v1": "f2795289df5c8b19e98587bc39e8a42b87c0875f3dabde789878ac95d78b6016" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'dataGrid' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'dataGrid' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 49, + "charOffset": 2218, + "charLength": 8, + "snippet": { + "text": "dataGrid" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 2114, + "charLength": 164, + "snippet": { + "text": " /// Data grid context menu\r\n /// \r\n private void CreateGridContextMenu(DataGrid dataGrid)\r\n {\r\n var contextMenu = new ContextMenu\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "181b1b1110c09f76", + "equalIndicator/v1": "f87f62f0a5d3aa85e46a9145421d8eb025b8584fd83c5c0a984ca1cf9fbcc4ee" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ClosureAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Closure allocation: capture of 'snoopableObjects' parameter and 'this' reference", + "markdown": "Closure allocation: capture of 'snoopableObjects' parameter and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 87, + "startColumn": 82, + "charOffset": 2832, + "charLength": 16, + "snippet": { + "text": "snoopableObjects" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 85, + "startColumn": 1, + "charOffset": 2742, + "charLength": 172, + "snippet": { + "text": " }\r\n\r\n public ILookupServiceDependsStage Snoop(IReadOnlyCollection snoopableObjects)\r\n {\r\n if (Thread.CurrentThread == _dispatcher.Thread)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "246e00393c45bef0", + "equalIndicator/v1": "fbd365a4d1629f1175954a956fa538a6bbabec9261256ecb033f82de501d457b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'edge'", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'edge'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EdgeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 56, + "charOffset": 1952, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1842, + "charLength": 196, + "snippet": { + "text": " .SetCommand(_edge, edge =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r\n {\r\n if (RevitShell.UiDocument is null) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a530bd32871ee842", + "equalIndicator/v1": "02237f9880f5914cd92d75c2153ded1c610e164c46e2138bf79c48ae1df5c59a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 84, + "startColumn": 67, + "charOffset": 3182, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 82, + "startColumn": 1, + "charOffset": 3028, + "charLength": 234, + "snippet": { + "text": " contextMenu.AddMenuItem(\"CheckableMenuItem\")\r\n .SetHeader(\"Events\")\r\n .SetCommand(_settingsService.IncludeEvents, parameter =>\r\n {\r\n _settingsService.IncludeEvents = !parameter;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8adb35ba04f8d1a9", + "equalIndicator/v1": "073bf91fdc25db4f01ecea83d14e7f732fb15d4241e5f8259c92b068b6fccf1e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func>' instance creation Capture of 'this' reference", + "markdown": "Delegate allocation: new 'Func\\>' instance creation Capture of 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/SnoopableObject.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 84, + "charOffset": 2264, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 2100, + "charLength": 219, + "snippet": { + "text": " public async Task> GetMembersAsync()\r\n {\r\n return _members = await Application.ExternalDescriptorHandler.RaiseAsync(_ => DescriptorBuilder.Build(Object, Context));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "17d7b810c215dfa5", + "equalIndicator/v1": "08144caa1a157958973051f15f79dfc061c12885c5f1b6c36f4dae997075a42d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'EventHandler' instance creation", + "markdown": "Delegate allocation: new 'EventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 80, + "startColumn": 57, + "charOffset": 2659, + "charLength": 23, + "snippet": { + "text": "OnTreeViewItemGenerated" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 78, + "startColumn": 1, + "charOffset": 2546, + "charLength": 147, + "snippet": { + "text": " private void OnTreeChanged(TreeView control)\r\n {\r\n control.ItemContainerGenerator.StatusChanged += OnTreeViewItemGenerated;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "da53cd93e294a4f4", + "equalIndicator/v1": "0e7e5f2eaa46b58e36cf8441dee1bffd62c140c46a9de72596b0be5097171b94" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation", + "markdown": "Delegate allocation: new 'Action' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 46, + "charOffset": 2051, + "charLength": 9, + "snippet": { + "text": "Subscribe" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 1970, + "charLength": 102, + "snippet": { + "text": " public void Subscribe()\r\n {\r\n Application.ActionEventHandler.Raise(Subscribe);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ddc6441a23a3948d", + "equalIndicator/v1": "108f0fa91a59a310acb1687d3d7aac6ff6e71c8abdea805fc3c3fb85f85cfe6f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 68, + "charOffset": 4087, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 3928, + "charLength": 240, + "snippet": { + "text": " contextMenu.AddMenuItem(\"CheckableMenuItem\")\r\n .SetHeader(\"Non-public\")\r\n .SetCommand(_settingsService.IncludePrivate, parameter =>\r\n {\r\n _settingsService.IncludePrivate = !parameter;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f182ca22840685b1", + "equalIndicator/v1": "14e22277578288a55c90e604dc6b0ba445224317009525997122f88b8eaca18a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func>' instance creation Capture of parameter 'value' and 'this' reference", + "markdown": "Delegate allocation: new 'Func\\>' instance creation Capture of parameter 'value' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/UnitsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 43, + "charOffset": 1590, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1535, + "charLength": 126, + "snippet": { + "text": " }\r\n\r\n FilteredUnits = await Task.Run(() =>\r\n {\r\n var formattedText = value.ToLower().Trim();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2dd383da2ac262df", + "equalIndicator/v1": "2ee494b1e7c094ab6fc9d3ff642c596cbe80e52f59278a6cf0edb277d3ac4cef" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'MouseButtonEventHandler' instance creation", + "markdown": "Delegate allocation: new 'MouseButtonEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 217, + "startColumn": 41, + "charOffset": 7211, + "charLength": 16, + "snippet": { + "text": "OnGridRowClicked" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 215, + "startColumn": 1, + "charOffset": 7102, + "charLength": 172, + "snippet": { + "text": " var row = args.Row;\r\n row.Loaded += OnGridRowLoaded;\r\n row.PreviewMouseLeftButtonUp += OnGridRowClicked;\r\n SelectDataGridRowStyle(row);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "08471d52dd0a4693", + "equalIndicator/v1": "313fc8982a51318ca9e8832eceb8220b8011008eeaf50024522f87c1b50fda75" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 67, + "startColumn": 65, + "charOffset": 2300, + "charLength": 24, + "snippet": { + "text": "ShowPendingNotifications" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 65, + "startColumn": 1, + "charOffset": 2194, + "charLength": 217, + "snippet": { + "text": " if (!window.IsLoaded)\r\n {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowErrorBar(title, message);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f723cfd4b34fba6", + "equalIndicator/v1": "3a0cae8d95741c103c5961c59076edfbab02fb1c674d6ab4f98084c1a33791df" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func>' instance creation Capture of parameter 'snoopableType'", + "markdown": "Delegate allocation: new 'Func\\>' instance creation Capture of parameter 'snoopableType'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SnoopVisualService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 90, + "charOffset": 2871, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 2765, + "charLength": 190, + "snippet": { + "text": " }\r\n\r\n var snoopableObjects = await Application.ExternalElementHandler.RaiseAsync(_ => Selector.Snoop(snoopableType));\r\n Snoop(snoopableObjects);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b7d836c9ec42de90", + "equalIndicator/v1": "3aef73450e687227fb9be375e47c5bffd1c31f4851b736f37500c1aaafc00835" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 65, + "charOffset": 1426, + "charLength": 24, + "snippet": { + "text": "ShowPendingNotifications" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1320, + "charLength": 219, + "snippet": { + "text": " if (!window.IsLoaded)\r\n {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowSuccessBar(title, message);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3f176363649b9c6e", + "equalIndicator/v1": "403ab8b94ed57e0d5d459e2539931bd3d8fcce3372a517f8213acc269b9d8404" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'KeyEventHandler' instance creation", + "markdown": "Delegate allocation: new 'KeyEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 35, + "charOffset": 4310, + "charLength": 25, + "snippet": { + "text": "OnPresenterCursorRestored" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 4232, + "charLength": 114, + "snippet": { + "text": "\r\n presenter.Cursor = Cursors.Hand;\r\n presenter.PreviewKeyUp += OnPresenterCursorRestored;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "68b0beaf4ac180d5", + "equalIndicator/v1": "405e164106b519e4865a356a76b1db73126e84c127275eaba711099584d4f813" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'SizeChangedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'SizeChangedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 24, + "charOffset": 3672, + "charLength": 13, + "snippet": { + "text": "OnSizeChanged" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 3604, + "charLength": 92, + "snippet": { + "text": " public void EnableSizeTracking()\r\n {\r\n SizeChanged += OnSizeChanged;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "970fbdd60f7bb6bb", + "equalIndicator/v1": "409386e4502ca8037bba41c9f8745d7792f0f03c55cbd111674cd9e338fef289" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'face'", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'face'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FaceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 56, + "charOffset": 1940, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1830, + "charLength": 196, + "snippet": { + "text": " .SetCommand(_face, face =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r\n {\r\n if (RevitShell.UiDocument is null) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3a87245354d4ead4", + "equalIndicator/v1": "42138e01b5817efc1f5749524dfb85c43f99ccbf6eb6a35cc81eeb3fb98404a3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 119, + "startColumn": 67, + "charOffset": 4702, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 117, + "startColumn": 1, + "charOffset": 4548, + "charLength": 234, + "snippet": { + "text": " contextMenu.AddMenuItem(\"CheckableMenuItem\")\r\n .SetHeader(\"Static\")\r\n .SetCommand(_settingsService.IncludeStatic, parameter =>\r\n {\r\n _settingsService.IncludeStatic = !parameter;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "73e7e8b361d4345a", + "equalIndicator/v1": "440f36f4e1e55d7e611303c760fe3530d0f4e32d536408257c025030404ff692" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of variable 'rootPath' Implicit capture of variables 'assemblyLocation', 'appDataPath', 'fileVersion' and 'targetFrameworkAttribute' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of variable 'rootPath' Implicit capture of variables 'assemblyLocation', 'appDataPath', 'fileVersion' and 'targetFrameworkAttribute' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Config/OptionsConfiguration.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 53, + "charOffset": 1559, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1484, + "charLength": 133, + "snippet": { + "text": " });\r\n \r\n services.Configure(options =>\r\n {\r\n options.RootFolder = rootPath;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b2a5ad68a85e4d30", + "equalIndicator/v1": "48ac19e2914a278096a43c1717ce599f7daef0d7eb408e65887e13363dfabfaa" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 102, + "startColumn": 23, + "charOffset": 3193, + "charLength": 8, + "snippet": { + "text": "OnLoaded" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 100, + "startColumn": 1, + "charOffset": 3105, + "charLength": 139, + "snippet": { + "text": " void OnLoaded(object o, RoutedEventArgs args)\r\n {\r\n Loaded -= OnLoaded;\r\n SetupTreeView();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6d8666e7621ce0e3", + "equalIndicator/v1": "4c09fbb66eb6d72c78071fcbb6dd2df2e4fcffe70b5865f19569396916a5e42c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 123, + "startColumn": 40, + "charOffset": 3753, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 121, + "startColumn": 1, + "charOffset": 3689, + "charLength": 107, + "snippet": { + "text": " else\r\n {\r\n _dispatcher.InvokeAsync(() => _lookupService.Show());\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d118f1c777f395f2", + "equalIndicator/v1": "4fb753f0919ec312e206172c554f13ed6980defcb1fa8a78a24b94480b2780f6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'MouseButtonEventHandler' instance creation", + "markdown": "Delegate allocation: new 'MouseButtonEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 124, + "startColumn": 54, + "charOffset": 3951, + "charLength": 17, + "snippet": { + "text": "OnTreeItemClicked" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 122, + "startColumn": 1, + "charOffset": 3842, + "charLength": 184, + "snippet": { + "text": "\r\n treeItem.Loaded -= OnTreeItemLoaded;\r\n treeItem.PreviewMouseLeftButtonUp -= OnTreeItemClicked;\r\n\r\n treeItem.Loaded += OnTreeItemLoaded;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9a0ffd751bc52bfb", + "equalIndicator/v1": "53b774ffb021372b48a290ae66c2f1d0cc8f393593c90b9379edbeb753de2298" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameters ('title', 'message') and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameters ('title', 'message') and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 41, + "charOffset": 1869, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1727, + "charLength": 202, + "snippet": { + "text": " {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowWarningBar(title, message);\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fc6d82ead8d7b270", + "equalIndicator/v1": "569d4751df6097598766f4e78b6a76f1a6bbd242e2c5054e0d07ce6dfebe1d8b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation", + "markdown": "Delegate allocation: new 'Action' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 52, + "charOffset": 2524, + "charLength": 5, + "snippet": { + "text": "Close" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 2433, + "charLength": 164, + "snippet": { + "text": " private void AddShortcuts()\r\n {\r\n var closeCurrentCommand = new RelayCommand(Close);\r\n var closeAllCommand = new RelayCommand(() =>\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ee3e9dc9711a374d", + "equalIndicator/v1": "57179592bc8147d4521584ecb46baacf0315729543785ad648dd46281c8b2ea1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func>' instance creation Capture of parameter 'value' and 'this' reference", + "markdown": "Delegate allocation: new 'Func\\>' instance creation Capture of parameter 'value' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 45, + "charOffset": 2476, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 2419, + "charLength": 128, + "snippet": { + "text": " }\r\n\r\n FilteredModules = await Task.Run(() =>\r\n {\r\n var formattedText = value.ToLower().Trim();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e8ac34c188b2bba", + "equalIndicator/v1": "5f5709b76151f71260c429a06812772aa36c37c59341cff298a1a5191a987cfd" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 72, + "charOffset": 5008, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 4844, + "charLength": 249, + "snippet": { + "text": " contextMenu.AddMenuItem(\"CheckableMenuItem\")\r\n .SetHeader(\"Unsupported\")\r\n .SetCommand(_settingsService.IncludeUnsupported, parameter =>\r\n {\r\n _settingsService.IncludeUnsupported = !parameter;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8413bdf79a69ce74", + "equalIndicator/v1": "5f630a145f3375ae57b8a5d4af3fd7b3a7a5b3097a594fce68c124a6a5620d43" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation Capture of 'this' reference", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation Capture of 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 180, + "startColumn": 39, + "charOffset": 5738, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 178, + "startColumn": 1, + "charOffset": 5643, + "charLength": 156, + "snippet": { + "text": " private void OnGridChanged(DataGrid control)\r\n {\r\n control.Loaded += (sender, _) =>\r\n {\r\n var dataGrid = (DataGrid) sender;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "23896bc2897f43fc", + "equalIndicator/v1": "607a0dbd72b392d7d1f7f93c77348447843e2744585f2b3693727b1b9ae4492b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'snoopableObject' and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'snoopableObject' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 81, + "startColumn": 40, + "charOffset": 2663, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 79, + "startColumn": 1, + "charOffset": 2599, + "charLength": 120, + "snippet": { + "text": " else\r\n {\r\n _dispatcher.InvokeAsync(() => _lookupService.Snoop(snoopableObject));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e1b3abd9d4549132", + "equalIndicator/v1": "60b27c2464342034190edce8535d024b0c101ca5392be6d6213cc7d4472267e7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'handler' and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'handler' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 137, + "startColumn": 40, + "charOffset": 4087, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 135, + "startColumn": 1, + "charOffset": 4023, + "charLength": 119, + "snippet": { + "text": " else\r\n {\r\n _dispatcher.InvokeAsync(() => _lookupService.Execute(handler));\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "53a34d183bef02d0", + "equalIndicator/v1": "61c9fef2fa7cb74398b72f72c8e9ee1266583a9146fbc3a07111b048f2153f40" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action>' instance creation Capture of 'this' reference", + "markdown": "Delegate allocation: new 'Action\\>' instance creation Capture of 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CategoryDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 47, + "charOffset": 1544, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1428, + "charLength": 175, + "snippet": { + "text": " public void RegisterExtensions(IExtensionManager manager)\r\n {\r\n manager.Register(_category, extension =>\r\n {\r\n extension.Name = \"GetElements\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "25c7ea0f68c4c5d1", + "equalIndicator/v1": "650b58ec738bc6732e7827e37fdf4f78f9fd4d56dd8adbadd42d49a8390a0dac" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'snoopableObjects' and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'snoopableObjects' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 95, + "startColumn": 40, + "charOffset": 3054, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 93, + "startColumn": 1, + "charOffset": 2990, + "charLength": 121, + "snippet": { + "text": " else\r\n {\r\n _dispatcher.InvokeAsync(() => _lookupService.Snoop(snoopableObjects));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "59238c26a44956fe", + "equalIndicator/v1": "65d4aa70dab27f6388defe0a04108ccfb5ff7f7fd24c60ea7edc4975167750eb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Gestures.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 48, + "charOffset": 1330, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1243, + "charLength": 227, + "snippet": { + "text": " private void AddShortcuts()\r\n {\r\n var command = new AsyncRelayCommand(() => ViewModel.RefreshMembersCommand.ExecuteAsync(null));\r\n InputBindings.Add(new KeyBinding(command, new KeyGesture(Key.F5)));\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b2d9c5a0585344cc", + "equalIndicator/v1": "69dc8409d782087f07d2c752243082226baafd7ca9ea435c21d6155e23f0529a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 123, + "startColumn": 36, + "charOffset": 3879, + "charLength": 16, + "snippet": { + "text": "OnTreeItemLoaded" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 121, + "startColumn": 1, + "charOffset": 3793, + "charLength": 179, + "snippet": { + "text": " if (treeItem is null) continue;\r\n\r\n treeItem.Loaded -= OnTreeItemLoaded;\r\n treeItem.PreviewMouseLeftButtonUp -= OnTreeItemClicked;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "70d4d173a10dd3cc", + "equalIndicator/v1": "6adc6fbc15d9a1fdb9fd96225eb80a516e1831d85ff07db838b4d21135595c8a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'dataGrid' and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'dataGrid' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 89, + "charOffset": 2744, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 2570, + "charLength": 297, + "snippet": { + "text": " contextMenu.AddMenuItem(\"CheckableMenuItem\")\r\n .SetHeader(\"Time\")\r\n .SetCommand(dataGrid.Columns[2].Visibility == Visibility.Visible, parameter =>\r\n {\r\n dataGrid.Columns[2].Visibility = parameter ? Visibility.Collapsed : Visibility.Visible;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ee075e0fef16b6bf", + "equalIndicator/v1": "6e50d46129dd178739ff6a61ea1d8e0ebd28de9aba7693ce7a95c87aa370f914" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 108, + "startColumn": 26, + "charOffset": 3505, + "charLength": 24, + "snippet": { + "text": "ShowPendingNotifications" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 106, + "startColumn": 1, + "charOffset": 3393, + "charLength": 218, + "snippet": { + "text": " private void ShowPendingNotifications(object sender, RoutedEventArgs args)\r\n {\r\n window.Loaded -= ShowPendingNotifications;\r\n _pendingNotifications.Invoke();\r\n _pendingNotifications = null;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0e16b1f14d7a8756", + "equalIndicator/v1": "70e08456ecd7440ff4f63c7a300d5c6eb39b9163f2975032098f2e195e4bf9fb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 98, + "startColumn": 67, + "charOffset": 3786, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 96, + "startColumn": 1, + "charOffset": 3632, + "charLength": 234, + "snippet": { + "text": " contextMenu.AddMenuItem(\"CheckableMenuItem\")\r\n .SetHeader(\"Fields\")\r\n .SetCommand(_settingsService.IncludeFields, parameter =>\r\n {\r\n _settingsService.IncludeFields = !parameter;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8143e52d3e8d03d0", + "equalIndicator/v1": "71152d4287137647da40b31a31ebc2a567ff505df3b82e7bc249b79a982c94ba" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'DataReceivedEventHandler' instance creation Capture of parameter 'logger'", + "markdown": "Delegate allocation: new 'DataReceivedEventHandler' instance creation Capture of parameter 'logger'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 48, + "charOffset": 1594, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1475, + "charLength": 191, + "snippet": { + "text": " logger.Invoke(OutputType.Standard, args.Data);\r\n };\r\n process.ErrorDataReceived += (_, args) =>\r\n {\r\n if (string.IsNullOrEmpty(args.Data)) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b7ee50fb2391a141", + "equalIndicator/v1": "7417565daf061e204cb333d0b2cd7c343ccb47ba24d057ed735c433f54bc1228" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameters ('title', 'message') and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameters ('title', 'message') and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 41, + "charOffset": 1493, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1351, + "charLength": 202, + "snippet": { + "text": " {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowSuccessBar(title, message);\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d2da868b922e1e69", + "equalIndicator/v1": "786464b52bcf1bc24cc25d4c6d36db622b2dbcc99b93ed78db4710d8a7d6f2bb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation", + "markdown": "Delegate allocation: new 'Action' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/EventsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 42, + "charOffset": 1560, + "charLength": 15, + "snippet": { + "text": "OnHandlingEvent" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1378, + "charLength": 209, + "snippet": { + "text": " public EventsViewModel(NotificationService notificationService, IServiceProvider provider) : base(notificationService, provider)\r\n {\r\n _eventMonitor = new EventMonitor(OnHandlingEvent);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d629cecf1875b9b6", + "equalIndicator/v1": "845c1325a84e9970792b826b467c4645fb5904c5005a34a7ec3be15e374d6101" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'solid'", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'solid'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SolidDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 56, + "charOffset": 1954, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1842, + "charLength": 198, + "snippet": { + "text": " .SetCommand(_solid, solid =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r\n {\r\n if (RevitShell.UiDocument is null) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b0821a6b71eae9da", + "equalIndicator/v1": "84d88d6ad542a070e852480980bb84e9fa2c52e6acddaa9d904bcec192bbbc77" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 71, + "charOffset": 3486, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 3324, + "charLength": 246, + "snippet": { + "text": " contextMenu.AddMenuItem(\"CheckableMenuItem\")\r\n .SetHeader(\"Extensions\")\r\n .SetCommand(_settingsService.IncludeExtensions, parameter =>\r\n {\r\n _settingsService.IncludeExtensions = !parameter;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1595700fd7cf05b3", + "equalIndicator/v1": "85361bc4cb1b873790ed32dd37b8c9e9eda32e53c32aa00376c44172c442648c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of parameter 'rawId'", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of parameter 'rawId'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 28, + "charOffset": 2991, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 2893, + "charLength": 177, + "snippet": { + "text": " return elementTypes\r\n .UnionWith(elementInstances)\r\n .Where(element => element.Name.Contains(rawId, StringComparison.OrdinalIgnoreCase));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c4a92932f94c11d9", + "equalIndicator/v1": "87bf04015864d90f98e328576ab02e1e07fdf9b4b24a3fd03091673ad1f247ee" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'MouseButtonEventHandler' instance creation", + "markdown": "Delegate allocation: new 'MouseButtonEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 127, + "startColumn": 54, + "charOffset": 4080, + "charLength": 17, + "snippet": { + "text": "OnTreeItemClicked" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 125, + "startColumn": 1, + "charOffset": 3971, + "charLength": 177, + "snippet": { + "text": "\r\n treeItem.Loaded += OnTreeItemLoaded;\r\n treeItem.PreviewMouseLeftButtonUp += OnTreeItemClicked;\r\n\r\n if (treeItem.Items.Count > 0)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "967175be78b5ab08", + "equalIndicator/v1": "8b8889fa785065fa56d6388f5dbf1ed62a15ef81c48f2cadce87b203a663527c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'KeyEventHandler' instance creation", + "markdown": "Delegate allocation: new 'KeyEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Gestures.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 57, + "charOffset": 1956, + "charLength": 16, + "snippet": { + "text": "OnPageKeyPressed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1860, + "charLength": 123, + "snippet": { + "text": " public void OnNavigatedTo()\r\n {\r\n Wpf.Ui.Application.MainWindow.PreviewKeyDown += OnPageKeyPressed;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c1955d7aa49f935d", + "equalIndicator/v1": "8dabbe1d1ca76dfc596a4757092587ace903090a6128cc925a6769089d37f78d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation", + "markdown": "Delegate allocation: new 'Action' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 46, + "charOffset": 2156, + "charLength": 11, + "snippet": { + "text": "Unsubscribe" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 2073, + "charLength": 106, + "snippet": { + "text": " public void Unsubscribe()\r\n {\r\n Application.ActionEventHandler.Raise(Unsubscribe);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ba18dcd201ff09be", + "equalIndicator/v1": "921a71538a0a17d4be7776e0c9fa33d5bba5af66967042d74918265291374a4c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 202, + "startColumn": 58, + "charOffset": 6110, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 200, + "startColumn": 1, + "charOffset": 6020, + "charLength": 186, + "snippet": { + "text": " else\r\n {\r\n _activeTask = _activeTask.ContinueWith(_ => ShowPage(), TaskScheduler.FromCurrentSynchronizationContext());\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6f02fda512340093", + "equalIndicator/v1": "9ba553e29a864acfb5c3dc6710dd1464f5a0bc9a25df361ff9fed84a3f7081ef" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 116, + "startColumn": 40, + "charOffset": 4412, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 114, + "startColumn": 1, + "charOffset": 4301, + "charLength": 183, + "snippet": { + "text": " row.ContextMenu.AddMenuItem()\r\n .SetHeader(\"Snoop\")\r\n .SetCommand(info, unitInfo =>\r\n {\r\n var obj = unitInfo.UnitObject switch\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "817fd4204e3b66a8", + "equalIndicator/v1": "9bfaba5639d567bcaa24299e2e6a121b3d6c84c6f8b16b3291e3c9367a2bf5e8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'EventHandler' instance creation", + "markdown": "Delegate allocation: new 'EventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/SnoopView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 40, + "charOffset": 1532, + "charLength": 19, + "snippet": { + "text": "OnTreeSourceChanged" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1393, + "charLength": 191, + "snippet": { + "text": " SearchBoxControl = SearchBox;\r\n TreeView.SelectedItemChanged += OnTreeItemSelected;\r\n TreeView.ItemsSourceChanged += OnTreeSourceChanged;\r\n\r\n DataContext = this;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a34ada7d647f0e4f", + "equalIndicator/v1": "9d94ea40f82e52952df1c27fde4183ea6dbbf0695ae0377da141c255aaed571a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of variables 'assemblyLocation', 'appDataPath', 'fileVersion' and 'targetFrameworkAttribute' Implicit capture of variable 'rootPath' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of variables 'assemblyLocation', 'appDataPath', 'fileVersion' and 'targetFrameworkAttribute' Implicit capture of variable 'rootPath' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Config/OptionsConfiguration.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 28, + "startColumn": 50, + "charOffset": 1147, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 26, + "startColumn": 1, + "charOffset": 1065, + "charLength": 176, + "snippet": { + "text": " .First();\r\n \r\n services.Configure(options =>\r\n {\r\n options.Framework = targetFrameworkAttribute.FrameworkDisplayName;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "139f1ca2b3f5dac7", + "equalIndicator/v1": "aabfffd998a8c4f43e69d617138e9cd9309d29b4aa14fb4cbe6a66d9e217514f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'SizeChangedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'SizeChangedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 24, + "charOffset": 3766, + "charLength": 13, + "snippet": { + "text": "OnSizeChanged" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 3697, + "charLength": 93, + "snippet": { + "text": " public void DisableSizeTracking()\r\n {\r\n SizeChanged -= OnSizeChanged;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "72f17309071f5578", + "equalIndicator/v1": "aad2e249e5bfc26616631b2e5b60af2e0694557f28245cf51363e4f5138e6ed7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedPropertyChangedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedPropertyChangedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 248, + "startColumn": 48, + "charOffset": 8330, + "charLength": 18, + "snippet": { + "text": "OnTreeItemSelected" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 246, + "startColumn": 1, + "charOffset": 8174, + "charLength": 205, + "snippet": { + "text": " TreeViewControl.SelectedItemChanged -= OnTreeItemSelected;\r\n treeViewItem.IsSelected = true;\r\n TreeViewControl.SelectedItemChanged += OnTreeItemSelected;\r\n return true;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fa23bfabd1c04317", + "equalIndicator/v1": "ac95b130e6f54624fbad7ca9d5f56364d028f50463167ba475f08949fd6b211f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'provider' and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'provider' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 109, + "startColumn": 40, + "charOffset": 3415, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 107, + "startColumn": 1, + "charOffset": 3351, + "charLength": 117, + "snippet": { + "text": " else\r\n {\r\n _dispatcher.InvokeAsync(() => _lookupService.DependsOn(provider));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fd53903fe58058fa", + "equalIndicator/v1": "ad41c2c59ae5f829255c912b38a4577d735f6f834e73621752b22dd891fb4bfd" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of parameter 'scopeFactory' and 'this' reference", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of parameter 'scopeFactory' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 40, + "charOffset": 1944, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1880, + "charLength": 140, + "snippet": { + "text": " else\r\n {\r\n _dispatcher.InvokeAsync(() => _lookupService = new LookupServiceImpl(scopeFactory));\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "41e3628b9aa97ced", + "equalIndicator/v1": "b3975e5ed6ba9092fd87782f97fe5d6abe442c3152b70d035e764e58fdfc994c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'EventHandler' instance creation", + "markdown": "Delegate allocation: new 'EventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 186, + "startColumn": 39, + "charOffset": 5939, + "charLength": 24, + "snippet": { + "text": "OnGridItemsSourceChanged" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 184, + "startColumn": 1, + "charOffset": 5843, + "charLength": 131, + "snippet": { + "text": " CreateGridContextMenu(dataGrid);\r\n };\r\n control.ItemsSourceChanged += OnGridItemsSourceChanged;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "169076e5b3d961f5", + "equalIndicator/v1": "b3e0d92ba2bd7e1696b1273c9213993c4235ff059c4eaa5f54199e255e571f96" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'KeyEventHandler' instance creation", + "markdown": "Delegate allocation: new 'KeyEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Gestures.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 57, + "charOffset": 2082, + "charLength": 16, + "snippet": { + "text": "OnPageKeyPressed" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1984, + "charLength": 125, + "snippet": { + "text": " public void OnNavigatedFrom()\r\n {\r\n Wpf.Ui.Application.MainWindow.PreviewKeyDown -= OnPageKeyPressed;\r\n }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b554852ead29d0a9", + "equalIndicator/v1": "b42b087907f9a4ac4427964d128052194214f8513e7b5f77ae7a2b83195739fa" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'EventHandler' instance creation", + "markdown": "Delegate allocation: new 'EventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 131, + "startColumn": 70, + "charOffset": 4237, + "charLength": 23, + "snippet": { + "text": "OnTreeViewItemGenerated" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 129, + "startColumn": 1, + "charOffset": 4102, + "charLength": 274, + "snippet": { + "text": " if (treeItem.Items.Count > 0)\r\n {\r\n treeItem.ItemContainerGenerator.StatusChanged -= OnTreeViewItemGenerated;\r\n treeItem.ItemContainerGenerator.StatusChanged += OnTreeViewItemGenerated;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0511e103b6efda9e", + "equalIndicator/v1": "b86595da826ebde9b7f86f6d07dbb02dd8d6121a09c6c9c52a81447f3143bfd8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 19, + "charOffset": 3075, + "charLength": 8, + "snippet": { + "text": "OnLoaded" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 3044, + "charLength": 60, + "snippet": { + "text": " }\r\n\r\n Loaded += OnLoaded;\r\n return;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e3e3d0dc358bfbf9", + "equalIndicator/v1": "bc3a311844bc96d5e42cd53f6113cedea63ef4181945b6fd8f1e658eb4a0f0c6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'curve'", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'curve'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 52, + "startColumn": 56, + "charOffset": 1959, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 50, + "startColumn": 1, + "charOffset": 1847, + "charLength": 198, + "snippet": { + "text": " .SetCommand(_curve, curve =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r\n {\r\n if (RevitShell.UiDocument is null) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "80c18522d3774896", + "equalIndicator/v1": "bca9ac7fb531340ffbec5123b41309b92f5b75e07c3bd834513cbdb1d176ee92" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'element'", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'element'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 56, + "charOffset": 1999, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 1883, + "charLength": 202, + "snippet": { + "text": " .SetCommand(_element, element =>\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r\n {\r\n if (RevitShell.UiDocument is null) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a431b767f84ba179", + "equalIndicator/v1": "be768d141bd0f377cd39f485272554faedad72440eecf08eaaeddaf4ca327f4b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'EventHandler' instance creation Capture of 'this' reference", + "markdown": "Delegate allocation: new 'EventHandler' instance creation Capture of 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 171, + "startColumn": 38, + "charOffset": 5238, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 169, + "startColumn": 1, + "charOffset": 5108, + "charLength": 164, + "snippet": { + "text": " _navigationService = _scope.ServiceProvider.GetService();\r\n\r\n _window.Closed += (_, _) => _scope.Dispose();\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61fd58a1c249ce9e", + "equalIndicator/v1": "c0d72bb92f24b52193a3cbc2854b35764bf02a786c95a62aa1f92ae3c8496b06" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 216, + "startColumn": 23, + "charOffset": 7153, + "charLength": 15, + "snippet": { + "text": "OnGridRowLoaded" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 214, + "startColumn": 1, + "charOffset": 7095, + "charLength": 172, + "snippet": { + "text": " {\r\n var row = args.Row;\r\n row.Loaded += OnGridRowLoaded;\r\n row.PreviewMouseLeftButtonUp += OnGridRowClicked;\r\n SelectDataGridRowStyle(row);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "082c8ac91cea249e", + "equalIndicator/v1": "c126d3c56fe5abc0e34b3715d522a9ff74eb4c958d9cc8ae594017d470cda2ab" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedPropertyChangedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedPropertyChangedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/SnoopView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 41, + "charOffset": 1472, + "charLength": 18, + "snippet": { + "text": "OnTreeItemSelected" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1356, + "charLength": 199, + "snippet": { + "text": " TreeViewControl = TreeView;\r\n SearchBoxControl = SearchBox;\r\n TreeView.SelectedItemChanged += OnTreeItemSelected;\r\n TreeView.ItemsSourceChanged += OnTreeSourceChanged;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e0c83aa359f6bab8", + "equalIndicator/v1": "c224bcf874113efc9023bffb50378e699f7ad3fac23532e4c4306feacbffc41c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'EventHandler' instance creation", + "markdown": "Delegate allocation: new 'EventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 132, + "startColumn": 70, + "charOffset": 4332, + "charLength": 23, + "snippet": { + "text": "OnTreeViewItemGenerated" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 130, + "startColumn": 1, + "charOffset": 4149, + "charLength": 242, + "snippet": { + "text": " {\r\n treeItem.ItemContainerGenerator.StatusChanged -= OnTreeViewItemGenerated;\r\n treeItem.ItemContainerGenerator.StatusChanged += OnTreeViewItemGenerated;\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "802d44057eb606d9", + "equalIndicator/v1": "cab794178e72e99794370b43737c32aee34ce26638560463d6ed6503c016b5ba" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'KeyEventHandler' instance creation", + "markdown": "Delegate allocation: new 'KeyEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 131, + "startColumn": 35, + "charOffset": 4515, + "charLength": 25, + "snippet": { + "text": "OnPresenterCursorRestored" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 129, + "startColumn": 1, + "charOffset": 4422, + "charLength": 161, + "snippet": { + "text": " {\r\n var presenter = (FrameworkElement) sender;\r\n presenter.PreviewKeyUp -= OnPresenterCursorRestored;\r\n presenter.Cursor = null;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2a87198b0f3a45c5", + "equalIndicator/v1": "ce519ad2bb6d2458c794d202a7bcbb4584351402206fff7330bc9e48f72d8f2d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'snoopableType' and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'snoopableType' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 67, + "startColumn": 40, + "charOffset": 2297, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 65, + "startColumn": 1, + "charOffset": 2233, + "charLength": 118, + "snippet": { + "text": " else\r\n {\r\n _dispatcher.InvokeAsync(() => _lookupService.Snoop(snoopableType));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "80f4717453f01adb", + "equalIndicator/v1": "cee6a439733579df82a7dbdf85ff4bb27f87cd5b0c3ede4313f075e22d3b085f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'handler' and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'handler' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 214, + "startColumn": 58, + "charOffset": 6486, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 212, + "startColumn": 1, + "charOffset": 6396, + "charLength": 195, + "snippet": { + "text": " else\r\n {\r\n _activeTask = _activeTask.ContinueWith(_ => InvokeHandler(handler), TaskScheduler.FromCurrentSynchronizationContext());\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "28ec43923b46de6a", + "equalIndicator/v1": "d5ce22eff328b0726784b74173397da0e6bd70770ca2b2fcd14b01c1c8235fa6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)", + "markdown": "Delegate allocation: new 'Func' instance creation Capture of 'this' reference Implicit capture of parameter 'dataGrid' (can cause memory leaks)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 112, + "startColumn": 74, + "charOffset": 4399, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 110, + "startColumn": 1, + "charOffset": 4230, + "charLength": 256, + "snippet": { + "text": " contextMenu.AddMenuItem(\"CheckableMenuItem\")\r\n .SetHeader(\"Root hierarchy\")\r\n .SetCommand(_settingsService.IncludeRootHierarchy, parameter =>\r\n {\r\n _settingsService.IncludeRootHierarchy = !parameter;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4b0a186892eee3f4", + "equalIndicator/v1": "e295a72480705328bb0e7d4c30e23b332d7bb96773d7ff5e8fd08c6701d6a567" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedPropertyChangedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedPropertyChangedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 246, + "startColumn": 48, + "charOffset": 8221, + "charLength": 18, + "snippet": { + "text": "OnTreeItemSelected" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 244, + "startColumn": 1, + "charOffset": 8096, + "charLength": 254, + "snippet": { + "text": " if (treeViewItem is null || treeViewItem.IsSelected) return false;\r\n\r\n TreeViewControl.SelectedItemChanged -= OnTreeItemSelected;\r\n treeViewItem.IsSelected = true;\r\n TreeViewControl.SelectedItemChanged += OnTreeItemSelected;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "421cc0a10618070b", + "equalIndicator/v1": "e36c158768496a97463a844ca0be2ad2626ab0a5aa27c6f40da6e8bbd97dd2a9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedPropertyChangedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedPropertyChangedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/EventsView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 41, + "charOffset": 1476, + "charLength": 18, + "snippet": { + "text": "OnTreeItemSelected" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1360, + "charLength": 167, + "snippet": { + "text": " TreeViewControl = TreeView;\r\n SearchBoxControl = SearchBox;\r\n TreeView.SelectedItemChanged += OnTreeItemSelected;\r\n\r\n DataContext = this;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7a21e75cd9042936", + "equalIndicator/v1": "e60302c077796b47b079bdd9b2a630c998f3313603c0a610d39e91b652105213" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameters ('title', 'message') and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameters ('title', 'message') and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 41, + "charOffset": 2367, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 2225, + "charLength": 200, + "snippet": { + "text": " {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowErrorBar(title, message);\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c6be5a2c9c2570a9", + "equalIndicator/v1": "ea0ad5e77275c0c25019963be79a35c96e30a06eeef47dc255ed8461a1f4be81" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'settingsService'", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'settingsService'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/RibbonController.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 48, + "charOffset": 3356, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 3231, + "charLength": 254, + "snippet": { + "text": " public static void ReloadPanels(ISettingsService settingsService)\r\n {\r\n Application.ActionEventHandler.Raise(_ =>\r\n {\r\n RibbonUtils.RemovePanel(\"CustomCtrl_%CustomCtrl_%Add-Ins%Revit Lookup%RevitLookupButton\", PanelName);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "91dd848763d9aa8c", + "equalIndicator/v1": "ebd0dd502e57f7c929508aa21d9eafcaf70dff3694c96e8dcec2d45151dc9b33" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 49, + "startColumn": 65, + "charOffset": 1802, + "charLength": 24, + "snippet": { + "text": "ShowPendingNotifications" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 47, + "startColumn": 1, + "charOffset": 1696, + "charLength": 219, + "snippet": { + "text": " if (!window.IsLoaded)\r\n {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowWarningBar(title, message);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6c7b755350433883", + "equalIndicator/v1": "ed1abe052c6a9e4b73c2cd1e01343908f17eb65e4acaa20c0743a3a98fe7d2ac" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'RoutedEventHandler' instance creation", + "markdown": "Delegate allocation: new 'RoutedEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 36, + "charOffset": 4008, + "charLength": 16, + "snippet": { + "text": "OnTreeItemLoaded" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 3898, + "charLength": 203, + "snippet": { + "text": " treeItem.PreviewMouseLeftButtonUp -= OnTreeItemClicked;\r\n\r\n treeItem.Loaded += OnTreeItemLoaded;\r\n treeItem.PreviewMouseLeftButtonUp += OnTreeItemClicked;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1acff88e63ed90f7", + "equalIndicator/v1": "ed6cfb689d1db3370cbc820dbdfd408954202225cd2d2946ba85adf7b91c0a78" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'DataReceivedEventHandler' instance creation Capture of parameter 'logger'", + "markdown": "Delegate allocation: new 'DataReceivedEventHandler' instance creation Capture of parameter 'logger'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 49, + "charOffset": 1402, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1312, + "charLength": 162, + "snippet": { + "text": " {\r\n logger ??= DefaultLogger;\r\n process.OutputDataReceived += (_, args) =>\r\n {\r\n if (string.IsNullOrEmpty(args.Data)) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "583b73b024b9b3e6", + "equalIndicator/v1": "f6c529350fb27846c0d69477df9ad14f2e53b71f86844b476b0cd10b874b8dd2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.DelegateAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Delegate allocation: new 'Action' instance creation Capture of parameter 'option' and 'this' reference", + "markdown": "Delegate allocation: new 'Action' instance creation Capture of parameter 'option' and 'this' reference" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/SnoopViewModelBase.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 21, + "charOffset": 3136, + "charLength": 2, + "snippet": { + "text": "=>" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 3050, + "charLength": 151, + "snippet": { + "text": " private void UpdateSearchResults(SearchOption option)\r\n {\r\n Task.Run(() =>\r\n {\r\n if (string.IsNullOrEmpty(SearchText))\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cfb589aa2b049d1e", + "equalIndicator/v1": "f72ce042de8a5cac8c80a695142d6c64687126ff191313c73acc553b3ab82d43" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 570, + "startColumn": 16, + "charOffset": 32268, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 568, + "startColumn": 1, + "charOffset": 32207, + "charLength": 366, + "snippet": { + "text": " const string floatFormat = \"0.##\";\r\n\r\n return $\"({Math.Round(red, precision).ToString(floatFormat, CultureInfo.InvariantCulture)}f\"\r\n + $\", {Math.Round(green, precision).ToString(floatFormat, CultureInfo.InvariantCulture)}f\"\r\n + $\", {Math.Round(blue, precision).ToString(floatFormat, CultureInfo.InvariantCulture)}f, 1f)\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0d5293735ec561f3", + "equalIndicator/v1": "02ddd802a684692905842d8436706f85aa3ac7c818ad4415ff523c8a1ef86995" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 55, + "charOffset": 2417, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2285, + "charLength": 164, + "snippet": { + "text": " {\r\n var section = mepSystem.GetSectionByIndex(i);\r\n resolveSummary.AppendVariant(section, $\"Index {i}\");\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1af08d36deeaa5f5", + "equalIndicator/v1": "04dcc19e4f5a84638a0ce354d7a4c4504b1122ee8019f5645b0a63a17a92613c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 271, + "startColumn": 23, + "charOffset": 11657, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 269, + "startColumn": 1, + "charOffset": 11569, + "charLength": 259, + "snippet": { + "text": " {\r\n < 60d => $\"R{Math.Round(hue / 0.6d, 0)}\",\r\n < 120d => $\"Y{Math.Round((hue - 60d) / 0.6d, 0)}\",\r\n < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r\n < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "135e5fd1bc813b35", + "equalIndicator/v1": "0880df189e7aabcf04af297b3f4bb50cd460ff6b52c370b93d44e582868cc967" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 18, + "charOffset": 2953, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 2841, + "charLength": 154, + "snippet": { + "text": " < 100 => $\"{milliseconds:F2} ms\",\r\n < 1000 => $\"{milliseconds:F1} ms\",\r\n _ => $\"{milliseconds:0} ms\"\r\n };\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1af55ab8ecd222e8", + "equalIndicator/v1": "0db436de0647e7984f97aefcc037dea77bc8adb00d975daf639b099c6fe10e17" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 636, + "startColumn": 16, + "charOffset": 35266, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 634, + "startColumn": 1, + "charOffset": 35170, + "charLength": 297, + "snippet": { + "text": "\r\n // Using InvariantCulture since this is used for color representation\r\n return $\"hsv({hue.ToString(CultureInfo.InvariantCulture)}\"\r\n + $\", {saturation.ToString(CultureInfo.InvariantCulture)}%\"\r\n + $\", {value.ToString(CultureInfo.InvariantCulture)}%)\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "397ba97396f2dc28", + "equalIndicator/v1": "10a60f394142aed87dfab5d497b0d29195c2d7c40d8e9b31dc06389b2c9f2c04" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: string concatenation", + "markdown": "Object allocation: string concatenation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/DescriptorUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 18, + "charOffset": 2872, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 2716, + "charLength": 283, + "snippet": { + "text": " var apostropheIndex = typeName.IndexOf('`');\r\n if (apostropheIndex > 0) typeName = typeName.Substring(0, apostropheIndex);\r\n typeName += \"<\";\r\n var genericArguments = type.GetGenericArguments();\r\n for (var i = 0; i < genericArguments.Length; i++)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "163aea7176ca1e3f", + "equalIndicator/v1": "10b751f5f4c634beef815f96bc60488948cd8b1ff33088e5347946a541adfdbb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 9, + "charOffset": 1531, + "charLength": 1, + "snippet": { + "text": "[" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1473, + "charLength": 187, + "snippet": { + "text": " _handler = handler;\r\n _denyList =\r\n [\r\n nameof(UIApplication.Idling),\r\n nameof(Autodesk.Revit.ApplicationServices.Application.ProgressChanged)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "64756db17769ef58", + "equalIndicator/v1": "152a6d4ca399a04babb9f3ba45258c3d9b3509d67d666e81678e4675cde98ed9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 275, + "startColumn": 18, + "charOffset": 11911, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 273, + "startColumn": 1, + "charOffset": 11764, + "charLength": 207, + "snippet": { + "text": " < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r\n < 300d => $\"B{Math.Round((hue - 240d) / 0.6d, 0)}\",\r\n _ => $\"M{Math.Round((hue - 300d) / 0.6d, 0)}\"\r\n };\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8b635ff5ff9cc77d", + "equalIndicator/v1": "162cb6e44d42a9b2b17edd8048608a31d22e3c48b70f75a10e2da91abb7a2671" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 698, + "startColumn": 16, + "charOffset": 38166, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 696, + "startColumn": 1, + "charOffset": 38094, + "charLength": 291, + "snippet": { + "text": " chromaticityB = Math.Round(chromaticityB, 2);\r\n\r\n return $\"CIELab({lightness.ToString(CultureInfo.InvariantCulture)}\" +\r\n $\", {chromaticityA.ToString(CultureInfo.InvariantCulture)}\" +\r\n $\", {chromaticityB.ToString(CultureInfo.InvariantCulture)})\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "17fdbd850265f74a", + "equalIndicator/v1": "171c37217cb3b8cc63bcbb47cc51577e0c93afda2f58d93afea122b45f00254d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 617, + "startColumn": 16, + "charOffset": 34406, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 615, + "startColumn": 1, + "charOffset": 34310, + "charLength": 301, + "snippet": { + "text": "\r\n // Using InvariantCulture since this is used for color representation\r\n return $\"hsl({hue.ToString(CultureInfo.InvariantCulture)}\"\r\n + $\", {saturation.ToString(CultureInfo.InvariantCulture)}%\"\r\n + $\", {lightness.ToString(CultureInfo.InvariantCulture)}%)\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aaa603e3cf5d83ea", + "equalIndicator/v1": "176cbe1e9c58f2f057aeb5869c13757e12c41faf70a61b0e292b90c696dede07" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 682, + "startColumn": 12, + "charOffset": 37338, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 680, + "startColumn": 1, + "charOffset": 37196, + "charLength": 336, + "snippet": { + "text": " /// A representation of a RGB color\r\n public static string ColorToRgb(Color color)\r\n => $\"rgb({color.R.ToString(CultureInfo.InvariantCulture)}\"\r\n + $\", {color.G.ToString(CultureInfo.InvariantCulture)}\"\r\n + $\", {color.B.ToString(CultureInfo.InvariantCulture)})\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1df024bbee06b2b9", + "equalIndicator/v1": "1a2cf0a2ea22ad3b5c58a094d651d8933ac6f8e3540b435d0c7e9efd95bbe10c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Type[]' array instance creation", + "markdown": "Object allocation: new 'Type\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 142, + "startColumn": 80, + "charOffset": 6131, + "charLength": 3, + "snippet": { + "text": "[aD" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 140, + "startColumn": 1, + "charOffset": 5873, + "charLength": 402, + "snippet": { + "text": " var elementIdIdType = elementIdType.GetField(\"\", bindingFlags)!;\r\n var getADocumentType = documentType.GetMethod(\"getADocument\", bindingFlags)!;\r\n var categoryCtorType = categoryType.GetConstructor(bindingFlags, null, [aDocumentType.MakePointerType(), elementIdType.MakePointerType()], null)!;\r\n\r\n var elementId = Activator.CreateInstance(elementIdType);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a644777f238a6a3d", + "equalIndicator/v1": "1b5116ee604ec0424dd4e3ccc3cd4d2b2eced76c3fdacf7a7507a71d376c39f0" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/HelpUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 19, + "charOffset": 1217, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1154, + "charLength": 158, + "snippet": { + "text": " if (query.Contains(' '))\r\n {\r\n uri = $\"https://duckduckgo.com/?q={query}\";\r\n }\r\n else if (query.StartsWith(\"System\"))\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "305a2c139a176850", + "equalIndicator/v1": "1c68526ac0f68a95131da05b6bd447b428a21752a3d9fcc85842f64f1f8a53ef" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 67, + "charOffset": 1626, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1524, + "charLength": 146, + "snippet": { + "text": " {\r\n _element = element;\r\n Name = element.Name == string.Empty ? $\"ID{element.Id}\" : $\"{element.Name}, ID{element.Id}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "24023ef17786a39b", + "equalIndicator/v1": "1f7d7db55db6af3bdf136023f60207725e9c12db0d8d8a52258da5bf0a8727d2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 81, + "charOffset": 3971, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 3645, + "charLength": 404, + "snippet": { + "text": " resolveSummary.AppendVariant(_curve.Evaluate(endParameter0, false), $\"Parameter {endParameter0.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameterMid, false), $\"Parameter {endParameterMid.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter1, false), $\"Parameter {endParameter1.Round(3)}\");\r\n\r\n return resolveSummary;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "08a3269af94f2e8b", + "equalIndicator/v1": "21e0ea31286f51f8f78bc41b5df640165b5d7c17f740a646e8d7972d3581180c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/EventsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 24, + "charOffset": 1964, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1900, + "charLength": 125, + "snippet": { + "text": " Descriptor =\r\n {\r\n Name = $\"{name} {DateTime.Now:HH:mm:ss}\"\r\n }\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61dc93c987441b6e", + "equalIndicator/v1": "278514cb6bb9b04296669bd583a3701ccc674336150ea78b995d1181848be46d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Type[]' array instance creation for params parameter 'typeArguments'", + "markdown": "Object allocation: new 'Type\\[\\]' array instance creation for params parameter 'typeArguments'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 101, + "startColumn": 73, + "charOffset": 4068, + "charLength": 5, + "snippet": { + "text": "field" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 99, + "startColumn": 1, + "charOffset": 3856, + "charLength": 315, + "snippet": { + "text": " ContainerType.Simple => field.ValueType,\r\n ContainerType.Array => typeof(IList<>).MakeGenericType(field.ValueType),\r\n ContainerType.Map => typeof(IDictionary<,>).MakeGenericType(field.KeyType, field.ValueType),\r\n _ => throw new ArgumentOutOfRangeException()\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ef48d4f527b489fb", + "equalIndicator/v1": "294143dc67938b36132893401e9e365c97f7d8ce383d67a7734131153162d39c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Write.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 103, + "startColumn": 16, + "charOffset": 3958, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 101, + "startColumn": 1, + "charOffset": 3773, + "charLength": 227, + "snippet": { + "text": " var parameterNames = types.Select(info => DescriptorUtils.MakeGenericTypeName(info.ParameterType));\r\n var parameters = string.Join(\", \", parameterNames);\r\n return $\"{member.Name} ({parameters})\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "821b0949fff60bde", + "equalIndicator/v1": "3668d3eadbe4a75bfbc52782cc34c6edfed0bf3b68ff8b6941c7ea5e77394463" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new instance creation or boxing of the value type", + "markdown": "Object allocation: new instance creation or boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 52, + "charOffset": 1731, + "charLength": 14, + "snippet": { + "text": "CreateInstance" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1598, + "charLength": 256, + "snippet": { + "text": " public static UIControlledApplication CreateUiControlledApplication()\r\n {\r\n return (UIControlledApplication) Activator.CreateInstance(\r\n typeof(UIControlledApplication),\r\n BindingFlags.Instance | BindingFlags.NonPublic,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7236532a13662bb4", + "equalIndicator/v1": "368c3f2d0d26635b91b30d166c31902c7739141d842b6cc06f434dfbe1d1a7cd" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 733, + "startColumn": 18, + "charOffset": 39783, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 731, + "startColumn": 1, + "charOffset": 39604, + "charLength": 252, + "snippet": { + "text": " + $\"{color.R.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.G.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.B.ToString(hexFormat, CultureInfo.InvariantCulture)}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "80c6e45fb9b53286", + "equalIndicator/v1": "4102bd96170bc642251997d317f7de42711552f4a51347c36823a92dac9f4f50" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 272, + "startColumn": 23, + "charOffset": 11721, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 270, + "startColumn": 1, + "charOffset": 11580, + "charLength": 313, + "snippet": { + "text": " < 60d => $\"R{Math.Round(hue / 0.6d, 0)}\",\r\n < 120d => $\"Y{Math.Round((hue - 60d) / 0.6d, 0)}\",\r\n < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r\n < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r\n < 300d => $\"B{Math.Round((hue - 240d) / 0.6d, 0)}\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5047f6bd49c5b1c", + "equalIndicator/v1": "447f01b52365fb86e03f4cb98945ef460a1e1312ac4deab6a064b75048f047e9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/HelpUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 52, + "startColumn": 22, + "charOffset": 1752, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 50, + "startColumn": 1, + "charOffset": 1679, + "charLength": 123, + "snippet": { + "text": " if (query.StartsWith(\"System\"))\r\n {\r\n ShowHelp($\"{query}.{parameter}\");\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "331370c6e70cf7df", + "equalIndicator/v1": "477c225459750092fd2ececebb9b79aa13a6255f8fffaff2ddbdd4b14720e1ee" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 270, + "startColumn": 22, + "charOffset": 11601, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 268, + "startColumn": 1, + "charOffset": 11542, + "charLength": 221, + "snippet": { + "text": " return hue switch\r\n {\r\n < 60d => $\"R{Math.Round(hue / 0.6d, 0)}\",\r\n < 120d => $\"Y{Math.Round((hue - 60d) / 0.6d, 0)}\",\r\n < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "85e6a6f13414a572", + "equalIndicator/v1": "47b954a183edfd2acad4b2c08ea29a09573091e518fa7d3f8ac5a2140930614c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'object[]' array instance creation", + "markdown": "Object allocation: new 'object\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 33, + "charOffset": 4204, + "charLength": 3, + "snippet": { + "text": "[Do" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 4117, + "charLength": 184, + "snippet": { + "text": "\r\n methodInfo.Invoke(null, [DocUIType.Model]);\r\n methodInfo.Invoke(null, [DocUIType.Project]);\r\n\r\n RevitRibbonControl.RibbonControl.ShouldJournalTabChange = true;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "377f7acdcec721a8", + "equalIndicator/v1": "492ae726efd9c7f02245b32d0f9975a8b5b6a9231471864069c5629b80423bb5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 22, + "charOffset": 2862, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 2760, + "charLength": 216, + "snippet": { + "text": " < 1e-3 => \"0.001 ms\",\r\n < 10 => $\"{milliseconds:F3} ms\",\r\n < 100 => $\"{milliseconds:F2} ms\",\r\n < 1000 => $\"{milliseconds:F1} ms\",\r\n _ => $\"{milliseconds:0} ms\"\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "304b771de9881c78", + "equalIndicator/v1": "49d996e46bb73e1a1abadfe32d58ed5e07f3fe60cc227ecb6fb67e655ea7c1a6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 23, + "charOffset": 2910, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 2795, + "charLength": 193, + "snippet": { + "text": " < 10 => $\"{milliseconds:F3} ms\",\r\n < 100 => $\"{milliseconds:F2} ms\",\r\n < 1000 => $\"{milliseconds:F1} ms\",\r\n _ => $\"{milliseconds:0} ms\"\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "04cec2c81550ac11", + "equalIndicator/v1": "4c48bd8be0366cec6576b502a3e4adc1d9b48ef76de7c5b6176a52df366a57f9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ColorDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 32, + "charOffset": 1388, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1325, + "charLength": 173, + "snippet": { + "text": " {\r\n _color = color;\r\n Name = color.IsValid ? $\"RGB: {color.Red} {color.Green} {color.Blue}\" : \"The color represents uninitialized/invalid value\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb08a7dd3b34ddd1", + "equalIndicator/v1": "4fede3ef2d84386973d493a6cb872344380861262d37263265716a85649f7461" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 536, + "startColumn": 16, + "charOffset": 30732, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 534, + "startColumn": 1, + "charOffset": 30675, + "charLength": 283, + "snippet": { + "text": " const string hexFormat = \"x2\";\r\n\r\n return $\"{color.R.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.G.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.B.ToString(hexFormat, CultureInfo.InvariantCulture)}\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "db8be0de93997508", + "equalIndicator/v1": "50883d590d5eb9a0d483e02870510625226d09411340dbadd283ca4f13af36da" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/BoundarySegmentDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 18, + "charOffset": 1499, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1414, + "charLength": 198, + "snippet": { + "text": " {\r\n null => $\"ID: {boundarySegment.ElementId}\",\r\n _ => $\"ID: {boundarySegment.ElementId}, {curve.Length.ToString(CultureInfo.InvariantCulture)} ft\",\r\n };\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6c001d90c8c70011", + "equalIndicator/v1": "53f94a8898a622f5be18bd3b513252e1dffa5cc2bcef804fa9a69779e681271b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 81, + "charOffset": 3725, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 3571, + "charLength": 440, + "snippet": { + "text": " var endParameterMid = (endParameter0 + endParameter1) / 2;\r\n\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter0, false), $\"Parameter {endParameter0.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameterMid, false), $\"Parameter {endParameterMid.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter1, false), $\"Parameter {endParameter1.Round(3)}\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7703534fa117c6ab", + "equalIndicator/v1": "56a7ea651a1ca71408429f51b429682792db9535c6e0bd146522f3b8d4aecf95" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SolidDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 16, + "charOffset": 1588, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1540, + "charLength": 119, + "snippet": { + "text": " _solid = solid;\r\n#endif\r\n Name = $\"{solid.Volume.ToString(CultureInfo.InvariantCulture)} ft³\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1adaad2d8042ea1f", + "equalIndicator/v1": "5ae6cb385b91a383a4e15e6f1ab00e5d42b3d45c2b7b8ab8aeb84ec98ef40553" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Markup/ThemesDictionary.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 26, + "charOffset": 1369, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1330, + "charLength": 134, + "snippet": { + "text": " };\r\n\r\n Source = new Uri($\"{ApplicationThemeManager.ThemesDictionaryPath}{themeName}.xaml\", UriKind.Absolute);\r\n }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f9a971b69d406b8f", + "equalIndicator/v1": "5b4716baa70408edbd2a7f53a5dc58b0be9c2e5b380049ba6341daa60fb6c7eb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ColorMediaDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 16, + "charOffset": 1371, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1324, + "charLength": 95, + "snippet": { + "text": " {\r\n _color = color;\r\n Name = $\"RGB: {color.R} {color.B} {color.B}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d408b5fe6a07be17", + "equalIndicator/v1": "5d3c2e1e14cfed574d8430d4c2306016c495641fd1f0cb769ffc9272118942d4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/SettingsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 5, + "charOffset": 1963, + "charLength": 1, + "snippet": { + "text": "[" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1904, + "charLength": 125, + "snippet": { + "text": "\r\n public List Themes { get; } =\r\n [\r\n ApplicationTheme.Light,\r\n ApplicationTheme.Dark\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9a32c84246f1c26c", + "equalIndicator/v1": "620d515d5e591e983462927faba2f08a63a0c71ba8f14929c6777c3997497a01" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 582, + "startColumn": 16, + "charOffset": 32894, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 580, + "startColumn": 1, + "charOffset": 32818, + "charLength": 137, + "snippet": { + "text": " public static string ColorToDecimal(Color color)\r\n {\r\n return $\"{(color.R * 65536) + (color.G * 256) + color.B}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "079000eeedd5b2be", + "equalIndicator/v1": "6527589ecea160cf21b2cb6b7809bc7215cfa708c5630f6f1c2f859faf13a11f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 55, + "charOffset": 1973, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1841, + "charLength": 178, + "snippet": { + "text": " {\r\n var section = mepSystem.GetSectionByIndex(i);\r\n resolveSummary.AppendVariant(section, $\"Number {section.Number}\");\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3b92af015a3b38c2", + "equalIndicator/v1": "68531aac99e77b8d09670bc14887998b475eaa1b91fed9c55152345514280ee3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/HelpUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 19, + "charOffset": 1499, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1456, + "charLength": 102, + "snippet": { + "text": " else\r\n {\r\n uri = $\"https://duckduckgo.com/?q={query}\";\r\n }\r\n \r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0272903ef2cdc4ce", + "equalIndicator/v1": "6987b033c6e5d86aa4c11e49cefe4ebd102579d6ca0746c94c1ec59fee1e9957" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: string concatenation", + "markdown": "Object allocation: string concatenation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/DescriptorUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 18, + "charOffset": 3176, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 3146, + "charLength": 71, + "snippet": { + "text": " }\r\n\r\n typeName += \">\";\r\n return typeName;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bcef2a5f8fc0d33f", + "equalIndicator/v1": "6f3b5bd151748ecbe70184e986e631fc11387c54f4f29e17d2dc79f6f115e4a9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 47, + "charOffset": 1606, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1524, + "charLength": 146, + "snippet": { + "text": " {\r\n _element = element;\r\n Name = element.Name == string.Empty ? $\"ID{element.Id}\" : $\"{element.Name}, ID{element.Id}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2bb4fbce9c871c9e", + "equalIndicator/v1": "6fefd8bbb46ccca0e7d6d8d5b935646a1d59568b24d5911cb9dfcea9feff6d92" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Type[]' array instance creation for params parameter 'typeArguments'", + "markdown": "Object allocation: new 'Type\\[\\]' array instance creation for params parameter 'typeArguments'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 68, + "charOffset": 3977, + "charLength": 5, + "snippet": { + "text": "field" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 3845, + "charLength": 314, + "snippet": { + "text": " {\r\n ContainerType.Simple => field.ValueType,\r\n ContainerType.Array => typeof(IList<>).MakeGenericType(field.ValueType),\r\n ContainerType.Map => typeof(IDictionary<,>).MakeGenericType(field.KeyType, field.ValueType),\r\n _ => throw new ArgumentOutOfRangeException()\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5c2b93e72fa33241", + "equalIndicator/v1": "73415069f5ffd0ea9b191c58af0dd153b4f0a4b8fd2206baf3aefe105f2a2137" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'object[]' array instance creation", + "markdown": "Object allocation: new 'object\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 61, + "charOffset": 2276, + "charLength": 3, + "snippet": { + "text": "[pu" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2073, + "charLength": 331, + "snippet": { + "text": " var buttonField = buttonType.GetField(\"m_RibbonItem\", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly)!;\r\n\r\n var button = (PushButton) createMethod.Invoke(null, [pushButtonData, false, internalPanel.Source.Id]);\r\n var internalButton = (RibbonButton) buttonField.GetValue(button);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "06a0064ca13dff0b", + "equalIndicator/v1": "78158203ef52ea075966373ed4c7e47a1505c485bfe130aceba932e09cce163b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'string[]' array instance creation", + "markdown": "Object allocation: new 'string\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 37, + "charOffset": 1364, + "charLength": 3, + "snippet": { + "text": "[En" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1278, + "charLength": 248, + "snippet": { + "text": " public List SearchElements()\r\n {\r\n var rows = SearchText.Split([Environment.NewLine], StringSplitOptions.RemoveEmptyEntries);\r\n var items = ParseRawRequest(rows);\r\n var results = new List(items.Count);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f22ff4457771d749", + "equalIndicator/v1": "7f24f75014a96d2192ea3e2e3816f0f5052c100f076024c266071e77510b0e44" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Type[]' array instance creation", + "markdown": "Object allocation: new 'Type\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 116, + "startColumn": 82, + "charOffset": 4818, + "charLength": 3, + "snippet": { + "text": "[aD" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 114, + "startColumn": 1, + "charOffset": 4558, + "charLength": 404, + "snippet": { + "text": " var elementIdIdType = elementIdType.GetField(\"\", bindingFlags)!;\r\n var getADocumentType = documentType.GetMethod(\"getADocument\", bindingFlags)!;\r\n var parameterCtorType = parameterType.GetConstructor(bindingFlags, null, [aDocumentType.MakePointerType(), elementIdType.MakePointerType()], null)!;\r\n\r\n var elementId = Activator.CreateInstance(elementIdType);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cff805defdbfb90f", + "equalIndicator/v1": "83b784efaa399d37d595e35b98f0ac330a639fd155a55c30499d7cbdec152f2e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 90, + "startColumn": 83, + "charOffset": 3848, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 88, + "startColumn": 1, + "charOffset": 3643, + "charLength": 370, + "snippet": { + "text": "\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter0, false), $\"Parameter {endParameter0.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameterMid, false), $\"Parameter {endParameterMid.Round(3)}\");\r\n resolveSummary.AppendVariant(_curve.Evaluate(endParameter1, false), $\"Parameter {endParameter1.Round(3)}\");\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b49e1626c66d4fa9", + "equalIndicator/v1": "868131f460720c48ad65906f1265b059ffcd0bab1b1e6e9cb2feafdb2d660cc6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'object[]' array instance creation", + "markdown": "Object allocation: new 'object\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 75, + "charOffset": 2984, + "charLength": 3, + "snippet": { + "text": "[fi" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2721, + "charLength": 314, + "snippet": { + "text": " var method = entity.GetType().GetMethod(nameof(Entity.Get), [typeof(Field), typeof(ForgeTypeId)])!;\r\n var genericMethod = MakeGenericInvoker(field, method);\r\n resolveSummary.AppendVariant(genericMethod.Invoke(entity, [field, unit]), field.FieldName);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ee3ac02e5cc07bba", + "equalIndicator/v1": "87496a1e12e9c478643c453a3c5d28abd0155cfa82905a5c4f6993457ec24797" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 554, + "startColumn": 16, + "charOffset": 31549, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 552, + "startColumn": 1, + "charOffset": 31480, + "charLength": 275, + "snippet": { + "text": " brightness = Math.Round(brightness * 100);\r\n\r\n return $\"hsb({hue.ToString(CultureInfo.InvariantCulture)}\"\r\n + $\", {saturation.ToString(CultureInfo.InvariantCulture)}%\"\r\n + $\", {brightness.ToString(CultureInfo.InvariantCulture)}%)\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d2ee8977b3438919", + "equalIndicator/v1": "8b938297cd2a17ca772fb1c72523dda702bcb2e3ddbdd12387a18e6823e9445e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new instance creation or boxing of the value type", + "markdown": "Object allocation: new instance creation or boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 118, + "startColumn": 35, + "charOffset": 4931, + "charLength": 14, + "snippet": { + "text": "CreateInstance" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 116, + "startColumn": 1, + "charOffset": 4737, + "charLength": 291, + "snippet": { + "text": " var parameterCtorType = parameterType.GetConstructor(bindingFlags, null, [aDocumentType.MakePointerType(), elementIdType.MakePointerType()], null)!;\r\n\r\n var elementId = Activator.CreateInstance(elementIdType);\r\n elementIdIdType.SetValue(elementId, builtInParameter);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fcce2f3f720ea2a9", + "equalIndicator/v1": "914e9d42baadecc60dd441b4bfaebfc1c63d42f8497901d659d58df9a7977d12" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: string concatenation", + "markdown": "Object allocation: string concatenation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/DescriptorUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 94, + "startColumn": 59, + "charOffset": 3136, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 92, + "startColumn": 1, + "charOffset": 3000, + "charLength": 158, + "snippet": { + "text": " {\r\n typeName += MakeGenericTypeName(genericArguments[i]);\r\n if (i < genericArguments.Length - 1) typeName += \", \";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cfac0549cd30ccad", + "equalIndicator/v1": "94f5b04e1b5b5f9b44109688fce82830a6f422d909608b9769ad98a0ba0531a5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 716, + "startColumn": 16, + "charOffset": 38950, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 714, + "startColumn": 1, + "charOffset": 38896, + "charLength": 238, + "snippet": { + "text": " z = Math.Round(z * 100, 4);\r\n\r\n return $\"XYZ({x.ToString(CultureInfo.InvariantCulture)}\" +\r\n $\", {y.ToString(CultureInfo.InvariantCulture)}\" +\r\n $\", {z.ToString(CultureInfo.InvariantCulture)})\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90bb581ddf5c2b0c", + "equalIndicator/v1": "95973bb4b4d132d762bf5cf21fd6e7b105bf301f0ca04806e8841cb4052ac68c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/SettingsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 5, + "charOffset": 2152, + "charLength": 1, + "snippet": { + "text": "[" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 2080, + "charLength": 145, + "snippet": { + "text": "\r\n public List BackgroundEffects { get; } =\r\n [\r\n WindowBackdropType.None,\r\n WindowBackdropType.Acrylic,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a4149740bdb57965", + "equalIndicator/v1": "9803b729cec3c4fd002f678e27078da6e85fa32c8bb6aa2268cde5171f84dec6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 598, + "startColumn": 16, + "charOffset": 33534, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 596, + "startColumn": 1, + "charOffset": 33467, + "charLength": 272, + "snippet": { + "text": " intensity = Math.Round(intensity * 100);\r\n\r\n return $\"hsi({hue.ToString(CultureInfo.InvariantCulture)}\"\r\n + $\", {saturation.ToString(CultureInfo.InvariantCulture)}%\"\r\n + $\", {intensity.ToString(CultureInfo.InvariantCulture)}%)\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ffd510078d204347", + "equalIndicator/v1": "9933a51fcaa71fce6e60359e3441730d63c6cd8c7c0e2dee4f0816397002911f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 521, + "startColumn": 16, + "charOffset": 30025, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 519, + "startColumn": 1, + "charOffset": 29960, + "charLength": 265, + "snippet": { + "text": " blackKey = Math.Round(blackKey * 100);\r\n\r\n return $\"cmyk({cyan.ToString(CultureInfo.InvariantCulture)}%\"\r\n + $\", {magenta.ToString(CultureInfo.InvariantCulture)}%\"\r\n + $\", {yellow.ToString(CultureInfo.InvariantCulture)}%\"\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "74c6ba560ea98c75", + "equalIndicator/v1": "9a066f8379f21951a81ae1be7527c97b6a35a9197a0be3f1e412168ee1ca5f69" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'object[]' array instance creation", + "markdown": "Object allocation: new 'object\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 62, + "charOffset": 5268, + "charLength": 3, + "snippet": { + "text": "[ge" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 5137, + "charLength": 219, + "snippet": { + "text": " Marshal.StructureToPtr(elementId, elementIdPointer, true);\r\n\r\n var parameter = (Parameter) parameterCtorType.Invoke([getADocumentType.Invoke(Document, null), elementIdPointer]);\r\n handle.Free();\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "adefe7d912dc6d64", + "equalIndicator/v1": "a0caae598c8aa16d7a4ac8147e1fddfdf1c5a1254b6941a537ace25086cb1986" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: slicing of the string creates new string instance", + "markdown": "Object allocation: slicing of the string creates new string instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/DescriptorUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 55, + "charOffset": 2490, + "charLength": 2, + "snippet": { + "text": ".." + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 2368, + "charLength": 192, + "snippet": { + "text": " public static string MakeGenericFullTypeName(Type type)\r\n {\r\n if (type.IsGenericType) return type.FullName![..type.FullName!.IndexOf('[')];\r\n return type.FullName;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1620781f34ceab40", + "equalIndicator/v1": "a19faaea118e937cfd1fba7383a3a74c242e0ad719eeabdd2cb221600fbd30d7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 732, + "startColumn": 18, + "charOffset": 39702, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 730, + "startColumn": 1, + "charOffset": 39581, + "charLength": 273, + "snippet": { + "text": " return \"0xFF\"\r\n + $\"{color.R.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.G.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.B.ToString(hexFormat, CultureInfo.InvariantCulture)}\";\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8cbeb777c5dc4b01", + "equalIndicator/v1": "a599cfcbd7f6ecd0c8551f5b4f50a0802c8cb8266dfe6aa3c27a6882485ff677" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: string concatenation (4 operands, allocates parameter array)", + "markdown": "Object allocation: string concatenation (4 operands, allocates parameter array)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 731, + "startColumn": 16, + "charOffset": 39619, + "charLength": 1, + "snippet": { + "text": "+" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 729, + "startColumn": 1, + "charOffset": 39579, + "charLength": 268, + "snippet": { + "text": "\r\n return \"0xFF\"\r\n + $\"{color.R.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.G.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.B.ToString(hexFormat, CultureInfo.InvariantCulture)}\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5c095e50954eff9", + "equalIndicator/v1": "aefe75eec4eadada533d2e5a6874f9a6b9ecff563e3b80ced9b45eef1b2f9bbf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 77, + "charOffset": 2575, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 2440, + "charLength": 164, + "snippet": { + "text": " foreach (var id in elementIds)\r\n {\r\n resolveSummary.AppendVariant(mepSection.GetCoefficient(id), $\"ID{id}\");\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "35ebd2353772ab00", + "equalIndicator/v1": "b241831bbad9c7b24182cef0ae1b8b361842b190bf420f2ed82866ad3d76540d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'object[]' array instance creation", + "markdown": "Object allocation: new 'object\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 75, + "charOffset": 2327, + "charLength": 3, + "snippet": { + "text": "[fi" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 2085, + "charLength": 287, + "snippet": { + "text": " var method = entity.GetType().GetMethod(nameof(Entity.Get), [typeof(Field)])!;\r\n var genericMethod = MakeGenericInvoker(field, method);\r\n resolveSummary.AppendVariant(genericMethod.Invoke(entity, [field]), field.FieldName);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "393526fc6ccf8ac2", + "equalIndicator/v1": "ba7d74089d3d84c43bee7f50f41996d2acc58a05ead98cdb89b060ba2372f453" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 25, + "charOffset": 2466, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 2378, + "charLength": 227, + "snippet": { + "text": " foreach (var eventInfo in type.GetEvents())\r\n {\r\n Debug.Write($\"RevitLookup EventMonitor: {eventInfo.ReflectedType}.{eventInfo.Name}\");\r\n if (_denyList.Contains(eventInfo.Name)) continue;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8037816fbd4b4982", + "equalIndicator/v1": "be644fd90c7764623bd1908d74f219d995cdb25c03fb9443904f43b3e8ffa750" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'object[]' array instance creation", + "markdown": "Object allocation: new 'object\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 96, + "startColumn": 33, + "charOffset": 4151, + "charLength": 3, + "snippet": { + "text": "[Do" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 94, + "startColumn": 1, + "charOffset": 3978, + "charLength": 250, + "snippet": { + "text": " var methodInfo = type.GetMethod(\"LoadRibbonCommands\", BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.DeclaredOnly)!;\r\n\r\n methodInfo.Invoke(null, [DocUIType.Model]);\r\n methodInfo.Invoke(null, [DocUIType.Project]);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e384ae60b927f9ef", + "equalIndicator/v1": "c02a2eff5cfbbe07735b455780837d034b56264b593f4e3ba62b01459c5f96d4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 109, + "startColumn": 58, + "charOffset": 4048, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 107, + "startColumn": 1, + "charOffset": 3915, + "charLength": 207, + "snippet": { + "text": " {\r\n var isMain = mepSection.IsMain(id);\r\n resolveSummary.AppendVariant(isMain, $\"ID{id}\");\r\n }\r\n catch (ArgumentException)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0a10b16bc60a536c", + "equalIndicator/v1": "c6df12f8984287ed9ef8ac1d27b2b423591b778496f2c485be32c4f5c57e208e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new instance creation or boxing of the value type", + "markdown": "Object allocation: new instance creation or boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 144, + "startColumn": 35, + "charOffset": 6244, + "charLength": 14, + "snippet": { + "text": "CreateInstance" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 142, + "startColumn": 1, + "charOffset": 6052, + "charLength": 288, + "snippet": { + "text": " var categoryCtorType = categoryType.GetConstructor(bindingFlags, null, [aDocumentType.MakePointerType(), elementIdType.MakePointerType()], null)!;\r\n\r\n var elementId = Activator.CreateInstance(elementIdType);\r\n elementIdIdType.SetValue(elementId, builtInCategory);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae5a63f5919ffe6f", + "equalIndicator/v1": "c9e369a8458850294ba3c7d077139045d9e03a8bdf812f0036a332430f9f7355" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'object[]' array instance creation", + "markdown": "Object allocation: new 'object\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 13, + "charOffset": 1886, + "charLength": 3, + "snippet": { + "text": "[Ui" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1794, + "charLength": 136, + "snippet": { + "text": " BindingFlags.Instance | BindingFlags.NonPublic,\r\n null,\r\n [UiApplication],\r\n null);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0037f7e5986e6321", + "equalIndicator/v1": "cd90233367052e8a40d56bbcce040dc90dbae51dc9ff0602e43f1d8d7dc0526c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/BoundarySegmentDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 21, + "charOffset": 1445, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1385, + "charLength": 220, + "snippet": { + "text": " Name = curve switch\r\n {\r\n null => $\"ID: {boundarySegment.ElementId}\",\r\n _ => $\"ID: {boundarySegment.ElementId}, {curve.Length.ToString(CultureInfo.InvariantCulture)} ft\",\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "da46f9a7b9769307", + "equalIndicator/v1": "ce94944dbd4320aa20fa49d9a5f99ad8f4a2d8533ab8352716de617ea28075a9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/DescriptorLabelConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 81, + "charOffset": 1663, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1500, + "charLength": 220, + "snippet": { + "text": " {\r\n if (string.IsNullOrEmpty(descriptor.Name)) return descriptor.Name;\r\n return string.IsNullOrEmpty(descriptor.Description) ? descriptor.Name : $\"{descriptor.Description}: {descriptor.Name}\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "760f98ceeaf918fe", + "equalIndicator/v1": "cf41f736eff7cdc7ce968982449d3d220a7eccac6a02d888441d11b48059173d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/ValueConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 76, + "startColumn": 21, + "charOffset": 2815, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 74, + "startColumn": 1, + "charOffset": 2728, + "charLength": 207, + "snippet": { + "text": " 0 => string.Empty,\r\n < 1e-3 => \"0.001 ms\",\r\n < 10 => $\"{milliseconds:F3} ms\",\r\n < 100 => $\"{milliseconds:F2} ms\",\r\n < 1000 => $\"{milliseconds:F1} ms\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e8520c8bfbbc2d16", + "equalIndicator/v1": "d0147f2553ba8cd223c9946222e42bc1b1fb615c1011eb2618abc48b23e8780a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FaceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 16, + "charOffset": 1580, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1534, + "charLength": 114, + "snippet": { + "text": " _face = face;\r\n#endif\r\n Name = $\"{face.Area.ToString(CultureInfo.InvariantCulture)} ft²\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f211ba13d48fdee9", + "equalIndicator/v1": "d07c1856a0092bd59e0f4bc35f3ec2f3da78747ea79455b8abace496115b2438" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 146, + "startColumn": 74, + "charOffset": 5610, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 144, + "startColumn": 1, + "charOffset": 5486, + "charLength": 244, + "snippet": { + "text": "\r\n contextMenu.AddMenuItem(\"CopyMenuItem\")\r\n .SetCommand(descriptor, parameter => Clipboard.SetDataObject($\"{parameter.Name}: {parameter.Value.Descriptor.Name}\"))\r\n .SetShortcut(row, ModifierKeys.Control, Key.C);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f92327ed9c20af04", + "equalIndicator/v1": "d0fdc682756c5437083c89edf704c47d5ee72591b930275929561886e95cde51" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/HelpUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 56, + "startColumn": 22, + "charOffset": 1835, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 54, + "startColumn": 1, + "charOffset": 1789, + "charLength": 89, + "snippet": { + "text": " else\r\n {\r\n ShowHelp($\"{query} {parameter}\");\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8f0dfde918db651b", + "equalIndicator/v1": "d460fab328999b15002eb771f4ec3327df00e1b81e100f794634aa4a54181426" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 58, + "charOffset": 3451, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 3308, + "charLength": 217, + "snippet": { + "text": " {\r\n var length = mepSection.GetSegmentLength(id);\r\n resolveSummary.AppendVariant(length, $\"ID{id}\");\r\n }\r\n catch (ArgumentException)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cc8129ae5e0c4d90", + "equalIndicator/v1": "d71e97eb6a1b8d6a4710ca35b31f4c08b35b84991653612ba54529b24c74e74c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Type[]' array instance creation", + "markdown": "Object allocation: new 'Type\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 63, + "startColumn": 77, + "charOffset": 2797, + "charLength": 3, + "snippet": { + "text": "[ty" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 61, + "startColumn": 1, + "charOffset": 2608, + "charLength": 410, + "snippet": { + "text": " var forgeTypeId = field.GetSpecTypeId();\r\n var unit = GetValidUnit(forgeTypeId);\r\n var method = entity.GetType().GetMethod(nameof(Entity.Get), [typeof(Field), typeof(ForgeTypeId)])!;\r\n var genericMethod = MakeGenericInvoker(field, method);\r\n resolveSummary.AppendVariant(genericMethod.Invoke(entity, [field, unit]), field.FieldName);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c50d3b8852288cc3", + "equalIndicator/v1": "dc19d9aa8d114a05a91824751fa92673a4ccaf159c9bc3558cea363ca1e049a6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Type[]' array instance creation for params parameter 'typeArguments'", + "markdown": "Object allocation: new 'Type\\[\\]' array instance creation for params parameter 'typeArguments'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 42, + "charOffset": 4215, + "charLength": 13, + "snippet": { + "text": "containerType" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 4160, + "charLength": 80, + "snippet": { + "text": " };\r\n\r\n return invoker.MakeGenericMethod(containerType);\r\n }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7299f20e778be6c5", + "equalIndicator/v1": "e11d78f3c7c943dbc79f0a53318b42134bbb035ffafa8aad0dd82853deccaef5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 654, + "startColumn": 16, + "charOffset": 36052, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 652, + "startColumn": 1, + "charOffset": 35985, + "charLength": 271, + "snippet": { + "text": " blackness = Math.Round(blackness * 100);\r\n\r\n return $\"hwb({hue.ToString(CultureInfo.InvariantCulture)}\"\r\n + $\", {whiteness.ToString(CultureInfo.InvariantCulture)}%\"\r\n + $\", {blackness.ToString(CultureInfo.InvariantCulture)}%)\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "17f40025fb0500b6", + "equalIndicator/v1": "e240333687d92438f4042d31ad9abbc193c02b28fcef9441f5e544f9096a5aef" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: string concatenation", + "markdown": "Object allocation: string concatenation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/DescriptorUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 93, + "startColumn": 22, + "charOffset": 3032, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 91, + "startColumn": 1, + "charOffset": 2941, + "charLength": 215, + "snippet": { + "text": " for (var i = 0; i < genericArguments.Length; i++)\r\n {\r\n typeName += MakeGenericTypeName(genericArguments[i]);\r\n if (i < genericArguments.Length - 1) typeName += \", \";\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8518f9e3b274cb81", + "equalIndicator/v1": "e33f180621eb342797e7812d2678ae521499a02ca72322c8e179e83cf6a24be8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 671, + "startColumn": 16, + "charOffset": 36826, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 669, + "startColumn": 1, + "charOffset": 36759, + "charLength": 227, + "snippet": { + "text": " blackness = Math.Round(blackness * 100);\r\n\r\n return $\"{hue}\"\r\n + $\", {whiteness.ToString(CultureInfo.InvariantCulture)}%\"\r\n + $\", {blackness.ToString(CultureInfo.InvariantCulture)}%\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "55a47bcf8f024162", + "equalIndicator/v1": "e69347ab9d314c0a3f7ff954909da6c276e31f6acbccf5fc64f0729f94b5a23e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EdgeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 16, + "charOffset": 1580, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1534, + "charLength": 126, + "snippet": { + "text": " _edge = edge;\r\n#endif\r\n Name = $\"{edge.ApproximateLength.ToString(CultureInfo.InvariantCulture)} ft\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6b6fe2016731d0db", + "equalIndicator/v1": "e6b86c55de59a3329893f01c584fc0c14fa370fe516fad30ed337cf24618bc32" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 731, + "startColumn": 18, + "charOffset": 39621, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 729, + "startColumn": 1, + "charOffset": 39579, + "charLength": 268, + "snippet": { + "text": "\r\n return \"0xFF\"\r\n + $\"{color.R.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.G.ToString(hexFormat, CultureInfo.InvariantCulture)}\"\r\n + $\"{color.B.ToString(hexFormat, CultureInfo.InvariantCulture)}\";\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "11dac93e44c7d80b", + "equalIndicator/v1": "e6e98c9af981818dacd1e381e7c5be9312e854b5e9353b605395430faab7744f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 274, + "startColumn": 23, + "charOffset": 11851, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 272, + "startColumn": 1, + "charOffset": 11699, + "charLength": 265, + "snippet": { + "text": " < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r\n < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r\n < 300d => $\"B{Math.Round((hue - 240d) / 0.6d, 0)}\",\r\n _ => $\"M{Math.Round((hue - 300d) / 0.6d, 0)}\"\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "57e9bd9ba9c8b1be", + "equalIndicator/v1": "e8b806221869235c7616a0a5aa14cf7579e646c9e90bc4d342897d0fb05cde1d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 74, + "startColumn": 78, + "charOffset": 2969, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 72, + "startColumn": 1, + "charOffset": 2833, + "charLength": 165, + "snippet": { + "text": " foreach (var id in elementIds)\r\n {\r\n resolveSummary.AppendVariant(mepSection.GetPressureDrop(id), $\"ID{id}\");\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6cd4ed65d6fa097a", + "equalIndicator/v1": "ed72a396a7230226973867eecf694eba3c16d5bab684c5fa8c605f73368c0c9e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/OpenSourceViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 5, + "charOffset": 1220, + "charLength": 1, + "snippet": { + "text": "[" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1156, + "charLength": 197, + "snippet": { + "text": "{\r\n public List Software { get; } =\r\n [\r\n new OpenSourceSoftware()\r\n .AddSoftware(\"CommunityToolkit.Mvvm\", \"https://github.com/CommunityToolkit/dotnet\")\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6489e6774be8ebd0", + "equalIndicator/v1": "edf996747519851388494f9e4152feaae30d9f9102ff31e888bf4b140692e36e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/HelpUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 19, + "charOffset": 1388, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1313, + "charLength": 156, + "snippet": { + "text": " {\r\n query = query.Replace('`', '-');\r\n uri = $\"https://docs.microsoft.com/en-us/dotnet/api/{query}\";\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0c2ec7883a30aeae", + "equalIndicator/v1": "f43623cb4750c74dd69b9023084fb2469b5fd35fe3243901ef1faedab0f4f4d6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Type[]' array instance creation", + "markdown": "Object allocation: new 'Type\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 77, + "charOffset": 2161, + "charLength": 3, + "snippet": { + "text": "[ty" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 2007, + "charLength": 348, + "snippet": { + "text": " foreach (var field in entity.Schema.ListFields())\r\n {\r\n var method = entity.GetType().GetMethod(nameof(Entity.Get), [typeof(Field)])!;\r\n var genericMethod = MakeGenericInvoker(field, method);\r\n resolveSummary.AppendVariant(genericMethod.Invoke(entity, [field]), field.FieldName);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8477dfdf31c03e7a", + "equalIndicator/v1": "f9de30b41efc0fc92a4badb94282fa357487b514264b0bee319e96a57132a3d2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'object[]' array instance creation", + "markdown": "Object allocation: new 'object\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 151, + "startColumn": 59, + "charOffset": 6577, + "charLength": 3, + "snippet": { + "text": "[ge" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 149, + "startColumn": 1, + "charOffset": 6449, + "charLength": 216, + "snippet": { + "text": " Marshal.StructureToPtr(elementId, elementIdPointer, true);\r\n\r\n var category = (Category) categoryCtorType.Invoke([getADocumentType.Invoke(Document, null), elementIdPointer]);\r\n handle.Free();\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2f49604bb34b3374", + "equalIndicator/v1": "fb2bc2e0dd1fe632df005fe498c28c41515c826790a1492d8e11e06ac0f75868" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation ('String.Concat' method call)", + "markdown": "Object allocation: new 'String' instance creation ('String.Concat' method call)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 53, + "charOffset": 1594, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1510, + "charLength": 154, + "snippet": { + "text": " {\r\n _curve = curve;\r\n if (curve.IsBound || curve.IsCyclic) Name = $\"{curve.Length.ToString(CultureInfo.InvariantCulture)} ft\";\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9de5624b4de1a31f", + "equalIndicator/v1": "fb728f94a99b9efdeac8fc38af9370bbb5a92936b4881908c17b08fc76843c24" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'String' instance creation", + "markdown": "Object allocation: new 'String' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 273, + "startColumn": 23, + "charOffset": 11786, + "charLength": 2, + "snippet": { + "text": "$\"" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 271, + "startColumn": 1, + "charOffset": 11635, + "charLength": 317, + "snippet": { + "text": " < 120d => $\"Y{Math.Round((hue - 60d) / 0.6d, 0)}\",\r\n < 180d => $\"G{Math.Round((hue - 120d) / 0.6d, 0)}\",\r\n < 240d => $\"C{Math.Round((hue - 180d) / 0.6d, 0)}\",\r\n < 300d => $\"B{Math.Round((hue - 240d) / 0.6d, 0)}\",\r\n _ => $\"M{Math.Round((hue - 300d) / 0.6d, 0)}\"\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7a49398c8def9bd2", + "equalIndicator/v1": "fc9f2159d3ba7a1624c3743f3b16488139ec43bd08f4646790cb2b0b61076f5f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UiObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'UiObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 130, + "startColumn": 39, + "charOffset": 9025, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 128, + "startColumn": 1, + "charOffset": 8838, + "charLength": 238, + "snippet": { + "text": " Autodesk.Windows.RibbonPanel value => new RibbonPanelDescriptor(value),\r\n RibbonTab value => new RibbonTabDescriptor(value),\r\n INotifyPropertyChanged => new UiObjectDescriptor(),\r\n\r\n //Unknown\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "637594d3904ad05b", + "equalIndicator/v1": "00a4e476593d2b242c8fbd91df4e1742fd98a2d34d31c0cb07047c132af1420b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementId' instance creation", + "markdown": "Object allocation: new 'ElementId' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 82, + "startColumn": 55, + "charOffset": 3197, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 80, + "startColumn": 1, + "charOffset": 3071, + "charLength": 296, + "snippet": { + "text": " private static IList SearchByIfcGuid(string rawId)\r\n {\r\n var guidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_GUID));\r\n var typeGuidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_TYPE_GUID));\r\n#if R22_OR_GREATER\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6ed5635028a3c998", + "equalIndicator/v1": "023b494f6bf4d51b941143eb1aa435ef1518266c7b58a84deaa77b86310d3146" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementIdSetFilter' instance creation", + "markdown": "Object allocation: new 'ElementIdSetFilter' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 144, + "startColumn": 26, + "charOffset": 5725, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 142, + "startColumn": 1, + "charOffset": 5648, + "charLength": 197, + "snippet": { + "text": "\r\n return RevitShell.Document.GetElements()\r\n .WherePasses(new ElementIdSetFilter(elements))\r\n .Select(element => new SnoopableObject(element))\r\n .ToList();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4e9dcbbba138bc1f", + "equalIndicator/v1": "05a20f891f527ef2cc7c1e7d2f7995c0b007adc76a43aa8cee6cd8ec4bd867bb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'CityDescriptor' instance creation", + "markdown": "Object allocation: new 'CityDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 69, + "charOffset": 4176, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 3913, + "charLength": 521, + "snippet": { + "text": " Solid value when type is null || type == typeof(Solid) => new SolidDescriptor(value),\r\n Face value when type is null || type == typeof(Face) => new FaceDescriptor(value),\r\n City value when type is null || type == typeof(City) => new CityDescriptor(value),\r\n PaperSize value when type is null || type == typeof(PaperSize) => new PaperSizeDescriptor(value),\r\n PrintManager value when type is null || type == typeof(PrintManager) => new PrintManagerDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "09aaecca8ddaa870", + "equalIndicator/v1": "060d9e69dc64c4de07b455f8f1f962a59dd687de5cc6581a3e7e3499a5954f2a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/PerformanceAdviserDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 26, + "charOffset": 1495, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1371, + "charLength": 185, + "snippet": { + "text": " if (parameters.Length == 0) return null;\r\n var rules = adviser.GetNumberOfRules();\r\n var resolveSet = new ResolveSet(rules);\r\n\r\n switch (parameters.Length)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "42b55e1114dee528", + "equalIndicator/v1": "0658b893770102bdd46568a7e8b97c4818e484547a256571769d098a156ed7cf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'EdgeDescriptor' instance creation", + "markdown": "Object allocation: new 'EdgeDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 74, + "startColumn": 69, + "charOffset": 3885, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 72, + "startColumn": 1, + "charOffset": 3619, + "charLength": 488, + "snippet": { + "text": " Color value when type is null || type == typeof(Color) => new ColorDescriptor(value),\r\n Curve value when type is null || type == typeof(Curve) => new CurveDescriptor(value),\r\n Edge value when type is null || type == typeof(Edge) => new EdgeDescriptor(value),\r\n Solid value when type is null || type == typeof(Solid) => new SolidDescriptor(value),\r\n Face value when type is null || type == typeof(Face) => new FaceDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d0af3ca9bd8b59ff", + "equalIndicator/v1": "0670c173ce02c43b538212c684f6531e9eb1c53d21b0a5a352af875608b20a26" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceSoftware' instance creation", + "markdown": "Object allocation: new 'OpenSourceSoftware' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/OpenSourceViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 9, + "charOffset": 1472, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1354, + "charLength": 360, + "snippet": { + "text": " .AddLicense(\"MIT License\", \"https://github.com/CommunityToolkit/dotnet/blob/main/License.md\"),\r\n\r\n new OpenSourceSoftware()\r\n .AddSoftware(\"Nice3point.Revit.Extensions\", \"https://github.com/Nice3point/RevitExtensions\")\r\n .AddLicense(\"MIT License\", \"https://github.com/Nice3point/RevitExtensions/blob/main/License.md\"),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "03fc4f88bda8ec1e", + "equalIndicator/v1": "06c4efade59ca201baf6c179675201528a9d4708d2fb7a62cf7ac9222ed62c8f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 80, + "startColumn": 16, + "charOffset": 3260, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 78, + "startColumn": 1, + "charOffset": 3169, + "charLength": 139, + "snippet": { + "text": " private static IReadOnlyCollection SnoopEdge()\r\n {\r\n return new[] {SelectObject(ObjectType.Edge)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e627288016f839ac", + "equalIndicator/v1": "06d8e7a2764a995c35bacadfdc58213a2873689805624bca3e61f6741973a16f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Build.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 21, + "charOffset": 2066, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 1987, + "charLength": 151, + "snippet": { + "text": " private List GetTypeHierarchy(Type type)\r\n {\r\n var types = new List();\r\n while (type.BaseType is not null)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9dcae87bff520b4e", + "equalIndicator/v1": "0754a96d7199ec209a7c194a04e10118c52eb66a64a22fd946274c1420f4e63d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ModuleInfo' instance creation", + "markdown": "Object allocation: new 'ModuleInfo' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 26, + "charOffset": 1826, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1706, + "charLength": 193, + "snippet": { + "text": " var assembly = assemblies[i];\r\n var assemblyName = assembly.GetName();\r\n var module = new ModuleInfo\r\n {\r\n Name = assemblyName.Name,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "441c9b3913eb0bdc", + "equalIndicator/v1": "0758d08b31f904ce8638cfcb848890c428586e11922a89d0f49c985cd5b72e1e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'InputBinding' instance creation", + "markdown": "Object allocation: new 'InputBinding' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 132, + "startColumn": 43, + "charOffset": 4573, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 130, + "startColumn": 1, + "charOffset": 4475, + "charLength": 294, + "snippet": { + "text": " {\r\n var inputGesture = new KeyGesture(key);\r\n bindableElement.InputBindings.Add(new InputBinding(item.Command, inputGesture) {CommandParameter = item.CommandParameter});\r\n item.InputGestureText = inputGesture.GetDisplayStringForCulture(CultureInfo.InvariantCulture);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61054e0ae30dad64", + "equalIndicator/v1": "082ac6bf698bc3c77157f19bdd0620be8aee133528843c039a63bec463582975" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceSoftware' instance creation", + "markdown": "Object allocation: new 'OpenSourceSoftware' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/OpenSourceViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 9, + "charOffset": 2219, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 2099, + "charLength": 341, + "snippet": { + "text": " .AddLicense(\"MIT License\", \"https://github.com/Nice3point/RevitTemplates/blob/main/License.md\"),\r\n\r\n new OpenSourceSoftware()\r\n .AddSoftware(\"Nice3point.Revit.Api\", \"https://github.com/Nice3point/RevitApi\")\r\n .AddLicense(\"MIT License\", \"https://github.com/Nice3point/RevitApi/blob/main/License.md\"),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61c030fce578f615", + "equalIndicator/v1": "09f3a57431d649d6cd23cff4e99a79011b547b2de2d4aef62a1f0bf7d7243df9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Application[]' array instance creation", + "markdown": "Object allocation: new 'Application\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 106, + "startColumn": 90, + "charOffset": 3880, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 104, + "startColumn": 1, + "charOffset": 3698, + "charLength": 307, + "snippet": { + "text": " {\r\n if (targetType == typeof(Document)) return RevitShell.Application.Documents;\r\n if (targetType == typeof(Autodesk.Revit.ApplicationServices.Application)) return new[] {RevitShell.Application};\r\n if (targetType == typeof(UIApplication)) return new[] {RevitShell.UiApplication};\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d0bc15564ec5c196", + "equalIndicator/v1": "09f92de24f8128ee2a2962dfe3a3bcd3dbad3fe9442919192bcee070ebfa03f9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 94, + "startColumn": 54, + "charOffset": 4132, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 92, + "startColumn": 1, + "charOffset": 3997, + "charLength": 217, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Active view\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n View = RevitShell.ActiveView,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "45a557eb0b711fc5", + "equalIndicator/v1": "0a7592ff4052ebc4db0bc7d777c98da2d3a068603c53293e55896c6dbd6c1cd1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'NotSupportedException' instance creation", + "markdown": "Object allocation: new 'NotSupportedException' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Methods.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 67, + "startColumn": 21, + "charOffset": 2270, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 65, + "startColumn": 1, + "charOffset": 2186, + "charLength": 181, + "snippet": { + "text": " if (!_settings.IncludeUnsupported) return false;\r\n\r\n value = new NotSupportedException(\"Method doesn't return a value\");\r\n return true;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5d5e8e5fc32f8647", + "equalIndicator/v1": "0ab1b2fb97c1660f2d3434ca7c035da825a2fb5421a036d1fe6feeff1c73e16e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'WorksetTableDescriptor' instance creation", + "markdown": "Object allocation: new 'WorksetTableDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 106, + "startColumn": 79, + "charOffset": 7389, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 104, + "startColumn": 1, + "charOffset": 7056, + "charLength": 621, + "snippet": { + "text": " CompoundStructureLayer value when type is null || type == typeof(CompoundStructureLayer) => new CompoundStructureLayerDescriptor(value),\r\n Workset value when type is null || type == typeof(Workset) => new WorksetDescriptor(value),\r\n WorksetTable when type is null || type == typeof(WorksetTable) => new WorksetTableDescriptor(),\r\n BoundarySegment value when type is null || type == typeof(BoundarySegment) => new BoundarySegmentDescriptor(value),\r\n AssetProperties value when type is null || type == typeof(AssetProperties) => new AssetPropertiesDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "08a6ae07c95293de", + "equalIndicator/v1": "0bbcc06289996aebe0e6acf5a79a0b059f8852227a94128e4190f1701e9cab9a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'ObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Write.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 26, + "charOffset": 1322, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1242, + "charLength": 141, + "snippet": { + "text": " private void WriteDescriptor(object value)\r\n {\r\n var descriptor = new ObjectDescriptor\r\n {\r\n Depth = _depth,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bd6e5f9a5db2cf64", + "equalIndicator/v1": "0c4851628a082227591c2a2c198bbe0d828ec36361b383d76b886da3f31a415e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 54, + "charOffset": 3914, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 3718, + "charLength": 278, + "snippet": { + "text": " .AppendVariant(_element.get_BoundingBox(RevitShell.ActiveView), \"Active view\"),\r\n \"Geometry\" => new ResolveSet(10)\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n View = RevitShell.ActiveView,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cc411e1950d5c30f", + "equalIndicator/v1": "10895e90b6909c60606c9f43d971a08b73bd5deea1d1455d2a0d0755b808f986" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ForgeTypeIdDescriptor' instance creation", + "markdown": "Object allocation: new 'ForgeTypeIdDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 94, + "startColumn": 83, + "charOffset": 5949, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 92, + "startColumn": 1, + "charOffset": 5636, + "charLength": 548, + "snippet": { + "text": " Document value when type is null || type == typeof(Document) => new DocumentDescriptor(value),\r\n PlanViewRange value when type is null || type == typeof(PlanViewRange) => new PlanViewRangeDescriptor(value),\r\n ForgeTypeId value when type is null || type == typeof(ForgeTypeId) => new ForgeTypeIdDescriptor(value),\r\n Entity value when type is null || type == typeof(Entity) => new EntityDescriptor(value),\r\n Field value when type is null || type == typeof(Field) => new FieldDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ad9ac9e2e09a1f22", + "equalIndicator/v1": "108cacd8b9bc56fc19e56c9c4266b15af3261c5da11e4225d990f545503226f9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ApplicationDescriptor' instance creation", + "markdown": "Object allocation: new 'ApplicationDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 101, + "startColumn": 93, + "charOffset": 6751, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 99, + "startColumn": 1, + "charOffset": 6413, + "charLength": 642, + "snippet": { + "text": " UpdaterInfo value when type is null || type == typeof(UpdaterInfo) => new UpdaterInfoDescriptor(value),\r\n ExternalService value when type is null || type == typeof(ExternalService) => new ExternalServiceDescriptor(value),\r\n RevitApplication value when type is null || type == typeof(RevitApplication) => new ApplicationDescriptor(value),\r\n PerformanceAdviser value when type is null || type == typeof(PerformanceAdviser) => new PerformanceAdviserDescriptor(value),\r\n SchedulableField value when type is null || type == typeof(SchedulableField) => new SchedulableFieldDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "21cb8819bb1fb3d4", + "equalIndicator/v1": "108de7f2416a7d029856f1d4992ed643f976685f8788b4a4f6359c98439db013" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UIApplication[]' array instance creation", + "markdown": "Object allocation: new 'UIApplication\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 107, + "startColumn": 57, + "charOffset": 3969, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 105, + "startColumn": 1, + "charOffset": 3705, + "charLength": 322, + "snippet": { + "text": " if (targetType == typeof(Document)) return RevitShell.Application.Documents;\r\n if (targetType == typeof(Autodesk.Revit.ApplicationServices.Application)) return new[] {RevitShell.Application};\r\n if (targetType == typeof(UIApplication)) return new[] {RevitShell.UiApplication};\r\n\r\n return null;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f348705e04d9dca0", + "equalIndicator/v1": "11436dc5efe73ed80c1f8e1ee520cc3b47eccb322a4952adb33090e475783c83" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ParameterDescriptor' instance creation", + "markdown": "Object allocation: new 'ParameterDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 69, + "startColumn": 79, + "charOffset": 3346, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 67, + "startColumn": 1, + "charOffset": 3134, + "charLength": 484, + "snippet": { + "text": " //APIObjects\r\n Category value when type is null || type == typeof(Category) => new CategoryDescriptor(value),\r\n Parameter value when type is null || type == typeof(Parameter) => new ParameterDescriptor(value),\r\n FamilyParameter value when type is null || type == typeof(FamilyParameter) => new FamilyParameterDescriptor(value),\r\n Reference value when type is null || type == typeof(Reference) => new ReferenceDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "73281f691bafae43", + "equalIndicator/v1": "1184914d001dcf2186d2555219b874e930cd4aa55ce3000c48c84ad9e22e5078" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ApiObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'ApiObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 83, + "startColumn": 73, + "charOffset": 4873, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 81, + "startColumn": 1, + "charOffset": 4564, + "charLength": 366, + "snippet": { + "text": " FamilyManager value when type is null || type == typeof(FamilyManager) => new FamilyManagerDescriptor(value),\r\n MEPSection value when type is null || type == typeof(MEPSection) => new MepSectionDescriptor(value),\r\n APIObject when type is null || type == typeof(APIObject) => new ApiObjectDescriptor(),\r\n\r\n //IDisposables\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a62aa4ec6177356d", + "equalIndicator/v1": "14003c48fbcd861b7f5c9c9b483f5282e83faaf512d06ef4fcfd5d85af0d4f7c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PlanViewRangeDescriptor' instance creation", + "markdown": "Object allocation: new 'PlanViewRangeDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 93, + "startColumn": 87, + "charOffset": 5830, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 91, + "startColumn": 1, + "charOffset": 5531, + "charLength": 554, + "snippet": { + "text": " Element value when type is null || type == typeof(Element) => new ElementDescriptor(value),\r\n Document value when type is null || type == typeof(Document) => new DocumentDescriptor(value),\r\n PlanViewRange value when type is null || type == typeof(PlanViewRange) => new PlanViewRangeDescriptor(value),\r\n ForgeTypeId value when type is null || type == typeof(ForgeTypeId) => new ForgeTypeIdDescriptor(value),\r\n Entity value when type is null || type == typeof(Entity) => new EntityDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3672ab2a38031f01", + "equalIndicator/v1": "145fc31d6e1d83fa32f8714fe08c1297bdd7d358b257764e9f9cc79ae7b63306" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ExtensibleStorageFilter' instance creation", + "markdown": "Object allocation: new 'ExtensibleStorageFilter' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ScemaDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 30, + "charOffset": 1672, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1561, + "charLength": 207, + "snippet": { + "text": " extension.Result = extension.Context\r\n .GetElements()\r\n .WherePasses(new ExtensibleStorageFilter(extension.Value.GUID))\r\n .ToElements();\r\n });\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "22dc40fcfff7010b", + "equalIndicator/v1": "14650c774f50044d498fee3d02bc4c8dbcb4d8fc1662cc871ee4480f4ef30cf9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 166, + "startColumn": 54, + "charOffset": 6556, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 164, + "startColumn": 1, + "charOffset": 6424, + "charLength": 181, + "snippet": { + "text": " private static IReadOnlyCollection SnoopSchemas()\r\n {\r\n return Schema.ListSchemas().Select(schema => new SnoopableObject(schema)).ToArray();\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "37b927500592b8b1", + "equalIndicator/v1": "151a847d0bf541d6d0f35bb14c27f51404642fc63a2892bb3fb6ba6fbf1bd5b5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SymbolIcon' instance creation", + "markdown": "Object allocation: new 'SymbolIcon' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 82, + "startColumn": 13, + "charOffset": 2695, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 80, + "startColumn": 1, + "charOffset": 2621, + "charLength": 176, + "snippet": { + "text": " message,\r\n ControlAppearance.Success,\r\n new SymbolIcon(SymbolRegular.ChatWarning24, 24),\r\n snackbarService.DefaultTimeOut);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6f820b5f9750ac54", + "equalIndicator/v1": "1666724ce56b6a6d010fd036d99af09adae56e298cc34b2d42d29a58749453c3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FilterStringRule' instance creation", + "markdown": "Object allocation: new 'FilterStringRule' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 85, + "startColumn": 26, + "charOffset": 3393, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 83, + "startColumn": 1, + "charOffset": 3241, + "charLength": 331, + "snippet": { + "text": " var typeGuidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_TYPE_GUID));\r\n#if R22_OR_GREATER\r\n var filterRule = new FilterStringRule(guidProvider, new FilterStringEquals(), rawId);\r\n var typeFilterRule = new FilterStringRule(typeGuidProvider, new FilterStringEquals(), rawId);\r\n#else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7ad444abbc2e05d8", + "equalIndicator/v1": "197359a95adefaafdc900b5cb810a3d0e136d6987bf7fc328b9b52bc5a8e6bae" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 112, + "startColumn": 40, + "charOffset": 4554, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 110, + "startColumn": 1, + "charOffset": 4401, + "charLength": 282, + "snippet": { + "text": " private static List Search(SnoopableObject query, IEnumerable data)\r\n {\r\n var filteredSnoopableObjects = new List();\r\n foreach (var item in data)\r\n if (item.Descriptor.Type == query.Descriptor.Type)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dd28251aaefedddc", + "equalIndicator/v1": "1a3edb260fa268bec9e2867610b53a832d0bb918bf385c302bcbbdfe4b51ca1c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'NotSupportedException' instance creation", + "markdown": "Object allocation: new 'NotSupportedException' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Properties.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 81, + "startColumn": 21, + "charOffset": 2706, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 79, + "startColumn": 1, + "charOffset": 2622, + "charLength": 181, + "snippet": { + "text": " if (!_settings.IncludeUnsupported) return false;\r\n\r\n value = new NotSupportedException(\"Unsupported property overload\");\r\n return true;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "61d1cd9db2095d44", + "equalIndicator/v1": "1b06fb2f3c30a3003d3a44539c9d37b0da8280328bf1dfd55af8df220d512d28" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Version' instance creation", + "markdown": "Object allocation: new 'Version' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SoftwareUpdateService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 103, + "startColumn": 37, + "charOffset": 4372, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 101, + "startColumn": 1, + "charOffset": 4207, + "charLength": 274, + "snippet": { + "text": " if (!_assemblyInfo.IsAdminInstallation && asset.Name.Contains(\"MultiUser\")) continue;\r\n \r\n newVersionTag = new Version(match.Value);\r\n _downloadUrl = asset.DownloadUrl;\r\n break;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1a93ead767840a9f", + "equalIndicator/v1": "1b0e9d3243c382091c2e00847ff156b11875db15190f6ac8a04e477369e8d06e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyGesture' instance creation", + "markdown": "Object allocation: new 'KeyGesture' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 147, + "startColumn": 33, + "charOffset": 5052, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 145, + "startColumn": 1, + "charOffset": 4941, + "charLength": 213, + "snippet": { + "text": " public static MenuItem SetGestureText(this MenuItem item, Key key)\r\n {\r\n item.InputGestureText = new KeyGesture(key).GetDisplayStringForCulture(CultureInfo.InvariantCulture);\r\n\r\n return item;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e2125d1e2b649017", + "equalIndicator/v1": "1d49b24b816f5bd6fa4e0e6beab0215b7d7487072cd8e81481754427d5a5e689" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 171, + "startColumn": 72, + "charOffset": 6757, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 169, + "startColumn": 1, + "charOffset": 6606, + "charLength": 201, + "snippet": { + "text": " private static IReadOnlyCollection SnoopServices()\r\n {\r\n return ExternalServiceRegistry.GetServices().Select(service => new SnoopableObject(service)).ToArray();\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c69f625f9e82e3fe", + "equalIndicator/v1": "1eaf126310a2b25c067afee6e2890725338491ed269e2eed95a397321d185398" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Stopwatch' instance creation", + "markdown": "Object allocation: new 'Stopwatch' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 43, + "charOffset": 1289, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 1191, + "charLength": 199, + "snippet": { + "text": "{\r\n private readonly List _descriptors;\r\n private readonly Stopwatch _tracker = new();\r\n private readonly ISettingsService _settings;\r\n private Descriptor _currentDescriptor;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c9e600f17e42316d", + "equalIndicator/v1": "1ed4b1f4ca71a0a89fa67909e9c17ce7d31f3e5ec9540b25728eb72a20ded528" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'BoolDescriptor' instance creation", + "markdown": "Object allocation: new 'BoolDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 69, + "charOffset": 2374, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 2182, + "charLength": 397, + "snippet": { + "text": " //System\r\n string value when type is null || type == typeof(string) => new StringDescriptor(value),\r\n bool value when type is null || type == typeof(bool) => new BoolDescriptor(value),\r\n IEnumerable value => new EnumerableDescriptor(value),\r\n Exception value when type is null || type == typeof(Exception) => new ExceptionDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c35acc1ed8411025", + "equalIndicator/v1": "1f41f6102243653cf8ba8f0e82dc601f6c32f554c105c4a5be4a63a80fdd9db2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RibbonPanelDescriptor' instance creation", + "markdown": "Object allocation: new 'RibbonPanelDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 128, + "startColumn": 51, + "charOffset": 8888, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 126, + "startColumn": 1, + "charOffset": 8687, + "charLength": 364, + "snippet": { + "text": " RibbonPanel value => new RibbonPanelDescriptor(value),\r\n Autodesk.Windows.RibbonItem value => new RibbonItemDescriptor(value),\r\n Autodesk.Windows.RibbonPanel value => new RibbonPanelDescriptor(value),\r\n RibbonTab value => new RibbonTabDescriptor(value),\r\n INotifyPropertyChanged => new UiObjectDescriptor(),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "823a5998824d6f6d", + "equalIndicator/v1": "1fcd9da1fefe72ee34ade86adcbf758e6275451dc19ed3c5bac31c458ee40d72" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 161, + "startColumn": 77, + "charOffset": 6374, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 159, + "startColumn": 1, + "charOffset": 6211, + "charLength": 212, + "snippet": { + "text": " private static IReadOnlyCollection SnoopUpdaterRegistry()\r\n {\r\n return UpdaterRegistry.GetRegisteredUpdaterInfos().Select(schema => new SnoopableObject(schema)).ToArray();\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c6b54a2a7a9cff66", + "equalIndicator/v1": "207a1d8ce4ddaf8dd37a342fa1d6a10782e1b62009a7d6c68d38193d936fb0b7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DirectoryInfo' instance creation", + "markdown": "Object allocation: new 'DirectoryInfo' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/AccessUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 29, + "charOffset": 1337, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1198, + "charLength": 305, + "snippet": { + "text": " var identity = WindowsIdentity.GetCurrent();\r\n var principal = new WindowsPrincipal(identity);\r\n var accessControl = new DirectoryInfo(path).GetAccessControl();\r\n var accessRules = accessControl.GetAccessRules(true, true, typeof(NTAccount));\r\n var writeAccess = false;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c70900da29e0f44e", + "equalIndicator/v1": "209ec5997adfac6012b2623ce965da8f208916adc2e78adc5415ca1ca4a5351b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 34, + "charOffset": 1766, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1669, + "charLength": 186, + "snippet": { + "text": " {\r\n var capacity = mepSystem.SectionsCount;\r\n var resolveSummary = new ResolveSet(capacity);\r\n for (var i = 0; i < capacity; i++)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "af392fde569887ea", + "equalIndicator/v1": "20adc9e8dc8cba07d7acf97f69110c0fe31c9a88622b66b8e65d48cc50fce697" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RelayCommand' instance creation", + "markdown": "Object allocation: new 'RelayCommand' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 93, + "startColumn": 24, + "charOffset": 2996, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 91, + "startColumn": 1, + "charOffset": 2895, + "charLength": 158, + "snippet": { + "text": " Path = new PropertyPath(nameof(MenuItem.IsChecked))\r\n });\r\n item.Command = new RelayCommand(command);\r\n\r\n return item;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4d5c4ed11d8607c1", + "equalIndicator/v1": "21bbd415b49b4005df91554b2ad5315ee484a663d566d5d90962609b538fa2b2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FaceDescriptor' instance creation", + "markdown": "Object allocation: new 'FaceDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 76, + "startColumn": 69, + "charOffset": 4080, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 74, + "startColumn": 1, + "charOffset": 3817, + "charLength": 497, + "snippet": { + "text": " Edge value when type is null || type == typeof(Edge) => new EdgeDescriptor(value),\r\n Solid value when type is null || type == typeof(Solid) => new SolidDescriptor(value),\r\n Face value when type is null || type == typeof(Face) => new FaceDescriptor(value),\r\n City value when type is null || type == typeof(City) => new CityDescriptor(value),\r\n PaperSize value when type is null || type == typeof(PaperSize) => new PaperSizeDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e9994d362b7f5f51", + "equalIndicator/v1": "223f54047799e4c47b84a526009f55c96bdc6b8a73063d567307065f28c1aea1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ContextMenu' instance creation", + "markdown": "Object allocation: new 'ContextMenu' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 101, + "startColumn": 27, + "charOffset": 3703, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 99, + "startColumn": 1, + "charOffset": 3593, + "charLength": 202, + "snippet": { + "text": " private void CreateTreeContextMenu(UnitInfo info, FrameworkElement row)\r\n {\r\n row.ContextMenu = new ContextMenu\r\n {\r\n Resources = Wpf.Ui.Application.MainWindow.Resources\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d1988c2b476c6605", + "equalIndicator/v1": "23a8e2c5acaae67c8fa7ecc6199791d83b04096ae7ee1dc743e16957bc91cc96" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'WindowsPrincipal' instance creation", + "markdown": "Object allocation: new 'WindowsPrincipal' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/AccessUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 25, + "charOffset": 1276, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1191, + "charLength": 278, + "snippet": { + "text": " {\r\n var identity = WindowsIdentity.GetCurrent();\r\n var principal = new WindowsPrincipal(identity);\r\n var accessControl = new DirectoryInfo(path).GetAccessControl();\r\n var accessRules = accessControl.GetAccessRules(true, true, typeof(NTAccount));\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0ffc0737d55efff4", + "equalIndicator/v1": "25f002bd7dd277cc9098a1f0c016c14d3c6df1550ae36738a85c4f91ee0797b6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'HttpClient' instance creation", + "markdown": "Object allocation: new 'HttpClient' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SoftwareUpdateService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 171, + "startColumn": 36, + "charOffset": 6933, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 169, + "startColumn": 1, + "charOffset": 6776, + "charLength": 264, + "snippet": { + "text": " var fileName = Path.Combine(_folderLocations.DownloadFolder, Path.GetFileName(_downloadUrl)!);\r\n \r\n using var httpClient = new HttpClient();\r\n var response = await httpClient.GetStreamAsync(_downloadUrl);\r\n \r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9d803cfc10d48dbf", + "equalIndicator/v1": "2677546d1dba20295214362b88c3463a52aa37e38ea8abf8b0b5382912642bdb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 140, + "startColumn": 37, + "charOffset": 5614, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 138, + "startColumn": 1, + "charOffset": 5483, + "charLength": 304, + "snippet": { + "text": " private static List Search(string query, IEnumerable data)\r\n {\r\n var filteredSnoopableData = new List();\r\n foreach (var item in data)\r\n if (item.Name.Contains(query, StringComparison.OrdinalIgnoreCase)) filteredSnoopableData.Add(item);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f724ec77f53f9d7b", + "equalIndicator/v1": "2700b9cca87c53230ca747d4bc13372e9ec2fc6f2efcff12e6245644b7b9b39d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Stack' instance creation", + "markdown": "Object allocation: new 'Stack' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/EventsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 55, + "charOffset": 1368, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1261, + "charLength": 250, + "snippet": { + "text": "{\r\n private readonly EventMonitor _eventMonitor;\r\n private readonly Stack _events = new();\r\n\r\n public EventsViewModel(NotificationService notificationService, IServiceProvider provider) : base(notificationService, provider)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e026aad82f8ace92", + "equalIndicator/v1": "28436383fbcbfd85d36575051185e44ff9fa414258026ff54899b2261ec69add" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceViewModel' instance creation", + "markdown": "Object allocation: new 'OpenSourceViewModel' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/OpenSourceDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 23, + "charOffset": 1438, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1343, + "charLength": 135, + "snippet": { + "text": " _dialogService = dialogService;\r\n InitializeComponent();\r\n DataContext = new OpenSourceViewModel();\r\n }\r\n \r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a21759b9ae380f23", + "equalIndicator/v1": "2859ca966450be6f1c8e2defc12cd9a94add0f3d19f88998377b4f116743c957" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ParameterValueProvider' instance creation", + "markdown": "Object allocation: new 'ParameterValueProvider' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 83, + "startColumn": 32, + "charOffset": 3272, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 81, + "startColumn": 1, + "charOffset": 3136, + "charLength": 326, + "snippet": { + "text": " {\r\n var guidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_GUID));\r\n var typeGuidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_TYPE_GUID));\r\n#if R22_OR_GREATER\r\n var filterRule = new FilterStringRule(guidProvider, new FilterStringEquals(), rawId);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ebfc540a039c7fa6", + "equalIndicator/v1": "286fb13f838612dda5de4e46e92e2c892e18591e7ae1f1b4dc83768d2385ebcb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'JsonStringEnumConverter' instance creation", + "markdown": "Object allocation: new 'JsonStringEnumConverter' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Config/OptionsConfiguration.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 36, + "charOffset": 2063, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1934, + "charLength": 181, + "snippet": { + "text": " {\r\n options.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;\r\n options.Converters.Add(new JsonStringEnumConverter());\r\n });\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "21be595d9d89d525", + "equalIndicator/v1": "29db6ba571671944599e4a768db011d17cb033a463403c9a7548e0fd4682d283" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'LookupServiceImpl' instance creation", + "markdown": "Object allocation: new 'LookupServiceImpl' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 30, + "charOffset": 1831, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 1734, + "charLength": 159, + "snippet": { + "text": " if (Thread.CurrentThread == _dispatcher.Thread)\r\n {\r\n _lookupService = new LookupServiceImpl(scopeFactory);\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aed0ea4ab9058772", + "equalIndicator/v1": "2a53471f046ec5300edda6452c9fa313a2cb1e10b97237188bd4e87165056eec" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UnitsDialog' instance creation", + "markdown": "Object allocation: new 'UnitsDialog' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/DashboardViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 138, + "startColumn": 31, + "charOffset": 5937, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 136, + "startColumn": 1, + "charOffset": 5821, + "charLength": 238, + "snippet": { + "text": " return unitsDialog.ShowCategoriesAsync();\r\n case \"forge\":\r\n unitsDialog = new UnitsDialog(serviceProvider);\r\n return unitsDialog.ShowForgeSchemaAsync();\r\n case \"search\":\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6f6786cb26de2351", + "equalIndicator/v1": "2c2b58159cded1fbf0d9a50a098648ea9c7ff43a407d6193412557e0cd2fd25e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'NotSupportedException' instance creation", + "markdown": "Object allocation: new 'NotSupportedException' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Properties.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 21, + "charOffset": 2181, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2120, + "charLength": 185, + "snippet": { + "text": " if (!member.CanRead)\r\n {\r\n value = new NotSupportedException(\"Property does not have a get accessor, it cannot be read\");\r\n return true;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f24f0d53aabc5f9f", + "equalIndicator/v1": "2cc9a83c6a94be7bd6913e72449aa8a44e842f9f2de6858b2171070afb7d7bc0" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation", + "markdown": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 67, + "charOffset": 2574, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 2399, + "charLength": 325, + "snippet": { + "text": " StoreFreeBoundaryFaces = true\r\n }), \"Finish, store free boundary faces\")\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r\n SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.CoreCenter,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cd558b822a68ee35", + "equalIndicator/v1": "2dcd3029d905b9ed36c6136cbf5a2c5f7d869799d590703aa3d5e9b1a399d972" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Uri' instance creation", + "markdown": "Object allocation: new 'Uri' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Markup/StylesDictionary.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 18, + "charOffset": 1651, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1596, + "charLength": 107, + "snippet": { + "text": " public StylesDictionary()\r\n {\r\n Source = new Uri(DictionaryUri, UriKind.Absolute);\r\n }\r\n}\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f88f21f13b2cfa68", + "equalIndicator/v1": "2e0dd18d48f79230bfd1eb942fac6eec84b46243d737ff4876823810aeabee24" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation", + "markdown": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 67, + "charOffset": 1917, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1741, + "charLength": 328, + "snippet": { + "text": " StoreFreeBoundaryFaces = true\r\n }), $\"Center, store free boundary faces\")\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r\n SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.CoreBoundary,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "380cf275d6337eef", + "equalIndicator/v1": "2ecbcf33d8399af9a8d12921701868dfee5c9a25e2c955f42f3eaa9f7600a21d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'MenuItem' instance creation", + "markdown": "Object allocation: new 'MenuItem' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 20, + "charOffset": 1734, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 1645, + "charLength": 154, + "snippet": { + "text": " public static MenuItem AddMenuItem(this ContextMenu menu)\r\n {\r\n var item = new Wpf.Ui.Controls.MenuItem();\r\n menu.Items.Add(item);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e93cd22bb71fd35", + "equalIndicator/v1": "2f04d2be1ba14a6d6689fc82e13ea037ba243f4c052a424a63baf82e99944cb4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyGesture' instance creation", + "markdown": "Object allocation: new 'KeyGesture' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 131, + "startColumn": 28, + "charOffset": 4509, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 129, + "startColumn": 1, + "charOffset": 4379, + "charLength": 388, + "snippet": { + "text": " public static MenuItem SetShortcut(this MenuItem item, UIElement bindableElement, Key key)\r\n {\r\n var inputGesture = new KeyGesture(key);\r\n bindableElement.InputBindings.Add(new InputBinding(item.Command, inputGesture) {CommandParameter = item.CommandParameter});\r\n item.InputGestureText = inputGesture.GetDisplayStringForCulture(CultureInfo.InvariantCulture);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ac56b84c3e39d1f4", + "equalIndicator/v1": "2f8db3d6e4c06f47d5fbdbef71d51a436f7ab8b10e92f49b8e5262c31055eeba" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/AssetPropertiesDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 34, + "charOffset": 1763, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1669, + "charLength": 183, + "snippet": { + "text": " {\r\n var capacity = assetProperties.Size;\r\n var resolveSummary = new ResolveSet(capacity);\r\n for (var i = 0; i < capacity; i++)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "69c608c9a835cff5", + "equalIndicator/v1": "30f3c0dcd01d86f71fbbdd70743a0785aa0f8bde23c310da8958874ee77b6165" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'HostApplicationBuilderSettings' instance creation", + "markdown": "Object allocation: new 'HostApplicationBuilderSettings' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Host.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 50, + "charOffset": 593, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 505, + "charLength": 231, + "snippet": { + "text": " public static void Start()\r\n {\r\n var builder = new HostApplicationBuilder(new HostApplicationBuilderSettings\r\n {\r\n ContentRootPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly()!.Location),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7d4ce216d64082d4", + "equalIndicator/v1": "318c5d6297fc8f2c779509bf6e6200c1d3e03f5c6029edf6aed9845d779d9303" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EdgeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 67, + "charOffset": 2345, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2096, + "charLength": 328, + "snippet": { + "text": " var element = edge.Reference.ElementId.ToElement(RevitShell.Document);\r\n if (element is not null) RevitShell.UiDocument.ShowElements(element);\r\n RevitShell.UiDocument.Selection.SetReferences(new List(1) {edge.Reference});\r\n });\r\n })\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "93651d552f6bc4ac", + "equalIndicator/v1": "32dd33118984496c2d360dc2d41221e1fbda6f1470025c495cb86bf6f26bcb12" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 71, + "startColumn": 33, + "charOffset": 2580, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 69, + "startColumn": 1, + "charOffset": 2480, + "charLength": 234, + "snippet": { + "text": " {\r\n var formattedText = value.ToLower().Trim();\r\n var searchResults = new List();\r\n // ReSharper disable once LoopCanBeConvertedToQuery\r\n foreach (var module in Modules)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "12a3598d0485b5d5", + "equalIndicator/v1": "33012b6d6e1f9f095d70c2a39085263c19a5d1c2944459c366bfbeec1b11375a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'CollectionViewSource' instance creation", + "markdown": "Object allocation: new 'CollectionViewSource' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/TreeViewSourceConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 26, + "charOffset": 1383, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1254, + "charLength": 193, + "snippet": { + "text": " public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r\n {\r\n var viewSource = new CollectionViewSource\r\n {\r\n Source = value\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a03db3f789a7d36e", + "equalIndicator/v1": "33f5ff372f1c2268bc06ed0349023bc4aa009352e6a3818d2d86ae777dfab333" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceSoftware' instance creation", + "markdown": "Object allocation: new 'OpenSourceSoftware' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/OpenSourceViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 9, + "charOffset": 1969, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1851, + "charLength": 357, + "snippet": { + "text": " .AddLicense(\"MIT License\", \"https://github.com/Nice3point/RevitToolkit/blob/main/License.md\"),\r\n\r\n new OpenSourceSoftware()\r\n .AddSoftware(\"Nice3point.Revit.Templates\", \"https://github.com/Nice3point/RevitTemplates\")\r\n .AddLicense(\"MIT License\", \"https://github.com/Nice3point/RevitTemplates/blob/main/License.md\"),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3c8bde94ea4c8faa", + "equalIndicator/v1": "348b306c8543b7c85869f8212ca04deeab1e2f067929e18cc41d9e8b6aa15530" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'CategoryDescriptor' instance creation", + "markdown": "Object allocation: new 'CategoryDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 77, + "charOffset": 3236, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 3132, + "charLength": 375, + "snippet": { + "text": "\r\n //APIObjects\r\n Category value when type is null || type == typeof(Category) => new CategoryDescriptor(value),\r\n Parameter value when type is null || type == typeof(Parameter) => new ParameterDescriptor(value),\r\n FamilyParameter value when type is null || type == typeof(FamilyParameter) => new FamilyParameterDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "50253ce1598eb17b", + "equalIndicator/v1": "34f213b4a78ca602c96e3f126ccb5f9200d47d90311012a997467c24fe56c37b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementId' instance creation", + "markdown": "Object allocation: new 'ElementId' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 83, + "startColumn": 59, + "charOffset": 3299, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 81, + "startColumn": 1, + "charOffset": 3136, + "charLength": 326, + "snippet": { + "text": " {\r\n var guidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_GUID));\r\n var typeGuidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_TYPE_GUID));\r\n#if R22_OR_GREATER\r\n var filterRule = new FilterStringRule(guidProvider, new FilterStringEquals(), rawId);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "460565568a3ab95d", + "equalIndicator/v1": "35f172fae9a494bdc60b0d5ffbbea1d0f637efa42886e32a9d334709672529b6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 132, + "startColumn": 54, + "charOffset": 6049, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 130, + "startColumn": 1, + "charOffset": 5870, + "charLength": 269, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Model, fine detail level, including non-visible objects\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n DetailLevel = ViewDetailLevel.Medium,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c93f4b85ff28bbe5", + "equalIndicator/v1": "3686abdeb047d28d9fe9477af1faa4225e9186c342de5b4427ff97f9ec1fa917" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 59, + "charOffset": 1509, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1410, + "charLength": 237, + "snippet": { + "text": " return target switch\r\n {\r\n nameof(SpatialElement.GetBoundarySegments) => new ResolveSet(8)\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2e9bf5eb1c383465", + "equalIndicator/v1": "38ab7da0d31715d1f3bea3c946d1a3c971d3e6ed91ed5ca765041440e9440887" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'StringBuilder' instance creation", + "markdown": "Object allocation: new 'StringBuilder' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ToolTips.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 52, + "startColumn": 23, + "charOffset": 1862, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 50, + "startColumn": 1, + "charOffset": 1749, + "charLength": 240, + "snippet": { + "text": " private void CreateGridRowTooltip(Descriptor descriptor, FrameworkElement row)\r\n {\r\n var builder = new StringBuilder();\r\n\r\n if ((descriptor.MemberAttributes & MemberAttributes.Private) != 0) builder.Append(\"Private \");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "522f2133d24f356a", + "equalIndicator/v1": "3b8e5c642b10e466eeb491d4594211988fc8cae112c643fa3b014e9adc65b1cf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 110, + "startColumn": 54, + "charOffset": 4913, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 108, + "startColumn": 1, + "charOffset": 4765, + "charLength": 238, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Model, fine detail level\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n DetailLevel = ViewDetailLevel.Medium,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f7dfad2ec5d00117", + "equalIndicator/v1": "3bd6ec5d5488f52c1e9b5769333aa62a1eb3fdf4e09f28f8974dc7112ee1e99b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 58, + "startColumn": 67, + "charOffset": 2354, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 56, + "startColumn": 1, + "charOffset": 2104, + "charLength": 330, + "snippet": { + "text": " var element = curve.Reference.ElementId.ToElement(RevitShell.Document);\r\n if (element is not null) RevitShell.UiDocument.ShowElements(element);\r\n RevitShell.UiDocument.Selection.SetReferences(new List(1) {curve.Reference});\r\n });\r\n })\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4cdcee89e6d305af", + "equalIndicator/v1": "3bfaa741adcd954dd509968a41164b6430d9676d6353312605a05da1cf43c0fb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ColorDescriptor' instance creation", + "markdown": "Object allocation: new 'ColorDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 71, + "charOffset": 3689, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 3379, + "charLength": 533, + "snippet": { + "text": " FamilyParameter value when type is null || type == typeof(FamilyParameter) => new FamilyParameterDescriptor(value),\r\n Reference value when type is null || type == typeof(Reference) => new ReferenceDescriptor(value),\r\n Color value when type is null || type == typeof(Color) => new ColorDescriptor(value),\r\n Curve value when type is null || type == typeof(Curve) => new CurveDescriptor(value),\r\n Edge value when type is null || type == typeof(Edge) => new EdgeDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8988f33a13ae8919", + "equalIndicator/v1": "3c4c8fa49de93f949fbd261366ed07c6a211f3869035fe6c1a518a0e2fabad4f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SearchResults' instance creation", + "markdown": "Object allocation: new 'SearchResults' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 24, + "charOffset": 4037, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 3980, + "charLength": 168, + "snippet": { + "text": "\r\n //Output as is\r\n return new SearchResults\r\n {\r\n Data = Search(model.SearchText, model.SnoopableData)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8a991268fbb4c45f", + "equalIndicator/v1": "3c60e724c517ee9234d005b8e70adfe510259d2ce8911ac24796a70a07c8267c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 88, + "startColumn": 27, + "charOffset": 3841, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 86, + "startColumn": 1, + "charOffset": 3652, + "charLength": 293, + "snippet": { + "text": " .Append(_element.get_BoundingBox(null), \"Model\")\r\n .AppendVariant(_element.get_BoundingBox(RevitShell.ActiveView), \"Active view\"),\r\n \"Geometry\" => new ResolveSet(10)\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "634733bda02460fb", + "equalIndicator/v1": "3e5226bc777127bf7b9a2a2f3218a8ee8d3d1537b3c5711f5f1d35cb37ae5851" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementIdSetFilter' instance creation", + "markdown": "Object allocation: new 'ElementIdSetFilter' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 109, + "startColumn": 30, + "charOffset": 4235, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 107, + "startColumn": 1, + "charOffset": 4123, + "charLength": 243, + "snippet": { + "text": " return RevitShell.Document\r\n .GetElements(selectedIds)\r\n .WherePasses(new ElementIdSetFilter(selectedIds))\r\n .Select(element => new SnoopableObject(element))\r\n .ToList();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e223fe3a101ad7a6", + "equalIndicator/v1": "3eb7ddca227383c77993d810a02c4148cfbdb0bcca538c45894f5ef357c93b4c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 74, + "charOffset": 4869, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 4754, + "charLength": 255, + "snippet": { + "text": "\r\n _tokenSource.Cancel();\r\n _serviceProvider.GetService().Snoop(new SnoopableObject(obj));\r\n _serviceProvider.GetService().Navigate(typeof(SnoopView));\r\n });\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "db5559212b690c7b", + "equalIndicator/v1": "3ecdeafad3521fbf526c5357e59c59cc05e67f3b3e8f896df11043688ea4f506" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyGesture' instance creation", + "markdown": "Object allocation: new 'KeyGesture' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Gestures.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 51, + "charOffset": 1437, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1276, + "charLength": 196, + "snippet": { + "text": " {\r\n var command = new AsyncRelayCommand(() => ViewModel.RefreshMembersCommand.ExecuteAsync(null));\r\n InputBindings.Add(new KeyBinding(command, new KeyGesture(Key.F5)));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5bcf60f2f064aca4", + "equalIndicator/v1": "4046061e3ae2cf4bafbd9bb65983d4c2c6a6d080ba5ab5e5a6a6eb3d7d9d4429" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/ModulesViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 19, + "charOffset": 1598, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1466, + "charLength": 228, + "snippet": { + "text": " var domain = AppDomain.CurrentDomain;\r\n var assemblies = AppDomain.CurrentDomain.GetAssemblies();\r\n Modules = new List(assemblies.Length);\r\n\r\n for (var i = 0; i < assemblies.Length; i++)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90bfd61a9af9d8a3", + "equalIndicator/v1": "40d2eae18f1cf4642406d1885d1bed8692de503d44e44c342468bc58ddbbce1a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FilterStringEquals' instance creation", + "markdown": "Object allocation: new 'FilterStringEquals' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 86, + "startColumn": 69, + "charOffset": 3531, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 84, + "startColumn": 1, + "charOffset": 3348, + "charLength": 325, + "snippet": { + "text": "#if R22_OR_GREATER\r\n var filterRule = new FilterStringRule(guidProvider, new FilterStringEquals(), rawId);\r\n var typeFilterRule = new FilterStringRule(typeGuidProvider, new FilterStringEquals(), rawId);\r\n#else\r\n var filterRule = new FilterStringRule(guidProvider, new FilterStringEquals(), rawId, true);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "be279856e4a811e8", + "equalIndicator/v1": "413cf8479bc66c5aa2dea4c7aa6e19ccfb0b8c4815e233ddba8cd31fd24d3b24" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'ObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 134, + "startColumn": 36, + "charOffset": 9175, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 132, + "startColumn": 1, + "charOffset": 9054, + "charLength": 183, + "snippet": { + "text": " //Unknown\r\n null when type is null => new ObjectDescriptor(),\r\n _ when type is null => new ObjectDescriptor(obj),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "41a16d62a054fd6f", + "equalIndicator/v1": "414d6e0e9fa98f1bb3e2af03016bd4ba29e439c5a99d71159a023e7ed1457898" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FormatOptions' instance creation", + "markdown": "Object allocation: new 'FormatOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EvaluatedParameterDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 137, + "charOffset": 1897, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1611, + "charLength": 344, + "snippet": { + "text": " {\r\n nameof(EvaluatedParameter.AsValueString) when parameters.Length == 1 => ResolveSet.Append(_parameter.AsValueString(context)),\r\n nameof(EvaluatedParameter.AsValueString) when parameters.Length == 2 => ResolveSet.Append(_parameter.AsValueString(context, new FormatOptions())),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f398bf8a8fa34611", + "equalIndicator/v1": "419c302dbb8006443a909df6fd2ad736373fc1719df1b1568cd899c910b30e62" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'AsyncEventHandler>' instance creation", + "markdown": "Object allocation: new 'AsyncEventHandler\\>' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Application.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 37, + "charOffset": 2522, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2333, + "charLength": 256, + "snippet": { + "text": " ActionEventHandler = new ActionEventHandler();\r\n ExternalElementHandler = new AsyncEventHandler>();\r\n ExternalDescriptorHandler = new AsyncEventHandler>();\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f0e754f9a681f291", + "equalIndicator/v1": "41d06694cb5813e4b61c102a7d0e95ff36a103bcb9ad65e53c4cf787ca7634fa" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 156, + "startColumn": 16, + "charOffset": 6128, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 154, + "startColumn": 1, + "charOffset": 6023, + "charLength": 187, + "snippet": { + "text": " private static IReadOnlyCollection SnoopPerformanceAdviser()\r\n {\r\n return new[] {new SnoopableObject(PerformanceAdviser.GetPerformanceAdviser())};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e8beb230d0b89fd1", + "equalIndicator/v1": "42222620ea4ae55ef601637c20fae58cbbaf6944cfe82cec4ecba393f3fc6b03" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceSoftware' instance creation", + "markdown": "Object allocation: new 'OpenSourceSoftware' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/OpenSourceViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 9, + "charOffset": 2682, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 2572, + "charLength": 299, + "snippet": { + "text": " .AddLicense(\"MIT License\", \"https://github.com/dotnet/runtime/blob/main/LICENSE.TXT\"),\r\n\r\n new OpenSourceSoftware()\r\n .AddSoftware(\"WPF-UI\", \"https://github.com/lepoco/wpfui\")\r\n .AddLicense(\"MIT License\", \"https://github.com/lepoco/wpfui/blob/main/LICENSE\")\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9d33c171f42729b2", + "equalIndicator/v1": "428ab1a71add1fa1ab2efc408e9c1f8011dabacb63bc5ec288b0034b06c46d7d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 16, + "charOffset": 3104, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 3004, + "charLength": 164, + "snippet": { + "text": " private static IReadOnlyCollection SnoopUiApplication()\r\n {\r\n return new SnoopableObject[] {new(RevitShell.UiApplication)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2e8cc66e5e31014a", + "equalIndicator/v1": "42a1c5bce9ebedab0e0f359d1a295d4a0c4f08f0a7fa9344cf9563eb9a58a32b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/EventsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 28, + "charOffset": 2095, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 2026, + "charLength": 218, + "snippet": { + "text": "\r\n _events.Push(snoopableObject);\r\n SnoopableObjects = new List(_events);\r\n\r\n //Object lifecycle expires. We should force a data retrieval before the object is cleared from memory\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5da40766110bbd61", + "equalIndicator/v1": "43b11f438d20347f9c0f2b65ccb775843c6c1ed284220383ff28c32a532536a2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FaceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 67, + "charOffset": 2333, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2084, + "charLength": 328, + "snippet": { + "text": " var element = face.Reference.ElementId.ToElement(RevitShell.Document);\r\n if (element is not null) RevitShell.UiDocument.ShowElements(element);\r\n RevitShell.UiDocument.Selection.SetReferences(new List(1) {face.Reference});\r\n });\r\n })\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b848131d8972c5d2", + "equalIndicator/v1": "460b4263f1d8c9dfd0914a45c1aa042dc67b404c648cfc54a2459a68f46a6f9e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RelayCommand' instance creation", + "markdown": "Object allocation: new 'RelayCommand' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 69, + "startColumn": 31, + "charOffset": 2563, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 67, + "startColumn": 1, + "charOffset": 2466, + "charLength": 208, + "snippet": { + "text": " {\r\n var closeCurrentCommand = new RelayCommand(Close);\r\n var closeAllCommand = new RelayCommand(() =>\r\n {\r\n for (var i = Wpf.Ui.Application.Windows.Count - 1; i >= 0; i--)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b44007c4e055f241", + "equalIndicator/v1": "476615798a48f16713b450955a759beeff1f38cf568d544cec054f0fcfbfb35b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PaperSizeDescriptor' instance creation", + "markdown": "Object allocation: new 'PaperSizeDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 79, + "charOffset": 4282, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 4012, + "charLength": 551, + "snippet": { + "text": " Face value when type is null || type == typeof(Face) => new FaceDescriptor(value),\r\n City value when type is null || type == typeof(City) => new CityDescriptor(value),\r\n PaperSize value when type is null || type == typeof(PaperSize) => new PaperSizeDescriptor(value),\r\n PrintManager value when type is null || type == typeof(PrintManager) => new PrintManagerDescriptor(value),\r\n DefinitionGroup value when type is null || type == typeof(DefinitionGroup) => new DefinitionGroupDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b3db2222e0d299b8", + "equalIndicator/v1": "478c86d94af7dbc772fe12b0eaa2532a495a5a248d004fc80e1c41f4be17d744" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UnitInfo' instance creation", + "markdown": "Object allocation: new 'UnitInfo' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 94, + "startColumn": 35, + "charOffset": 3643, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 92, + "startColumn": 1, + "charOffset": 3479, + "charLength": 254, + "snippet": { + "text": " .Concat(ParameterUtils.GetAllBuiltInGroups())\r\n .Concat(ParameterUtils.GetAllBuiltInParameters())\r\n .Select(typeId => new UnitInfo(typeId, typeId.TypeId, typeId.ToLabel()))\r\n .ToList();\r\n#else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "67723aed9543e51d", + "equalIndicator/v1": "47ade60894e5d11087183416d7db1b761a43076893541b062d4e16b1a45a557a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'StringDescriptor' instance creation", + "markdown": "Object allocation: new 'StringDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 73, + "charOffset": 2276, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 2171, + "charLength": 297, + "snippet": { + "text": " {\r\n //System\r\n string value when type is null || type == typeof(string) => new StringDescriptor(value),\r\n bool value when type is null || type == typeof(bool) => new BoolDescriptor(value),\r\n IEnumerable value => new EnumerableDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9f82fc03700757f7", + "equalIndicator/v1": "48dc88df7d12cc3ec920da93b3ccaa8b05dd665f109c4d54aa807ce9d052d586" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/SnoopUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 21, + "charOffset": 1284, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 1119, + "charLength": 236, + "snippet": { + "text": " public static IReadOnlyList ParseEnumerable(this IDescriptorEnumerator descriptor, SnoopableObject snoopableObject)\r\n {\r\n var items = new List();\r\n descriptor.Enumerator.Reset();\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2063d319b7906407", + "equalIndicator/v1": "49399aeba59e55da63ff19926a444e3858edf2a6665780e0038edbf120762c23" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SearchElementsViewModel' instance creation", + "markdown": "Object allocation: new 'SearchElementsViewModel' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/SearchElementsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 22, + "charOffset": 1540, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1467, + "charLength": 171, + "snippet": { + "text": " {\r\n _serviceProvider = serviceProvider;\r\n _viewModel = new SearchElementsViewModel();\r\n DataContext = _viewModel;\r\n InitializeComponent();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "312b8f5d72545f25", + "equalIndicator/v1": "4b213ecfd6a8fec377e100e3d4afca627dbcd8a7865ca4848d891b58c01e629a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyBinding' instance creation", + "markdown": "Object allocation: new 'KeyBinding' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Gestures.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 27, + "charOffset": 1413, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1276, + "charLength": 196, + "snippet": { + "text": " {\r\n var command = new AsyncRelayCommand(() => ViewModel.RefreshMembersCommand.ExecuteAsync(null));\r\n InputBindings.Add(new KeyBinding(command, new KeyGesture(Key.F5)));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0260072cf3a778f4", + "equalIndicator/v1": "4b40cfcfe7738c593331c5484944afe62ee8c5517328c94b6d1d92d723f44e9f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 156, + "startColumn": 23, + "charOffset": 6135, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 154, + "startColumn": 1, + "charOffset": 6023, + "charLength": 187, + "snippet": { + "text": " private static IReadOnlyCollection SnoopPerformanceAdviser()\r\n {\r\n return new[] {new SnoopableObject(PerformanceAdviser.GetPerformanceAdviser())};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c82a8f85d719abb3", + "equalIndicator/v1": "4c8098f8784f7837e7c3ab4371483b57575566bb56f67b83ba7bf6db37fd39f2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 77, + "startColumn": 34, + "charOffset": 3985, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 75, + "startColumn": 1, + "charOffset": 3905, + "charLength": 217, + "snippet": { + "text": " ResolveSet ResolveToRoom()\r\n {\r\n var resolveSummary = new ResolveSet(familyInstance.Document.Phases.Size);\r\n foreach (Phase phase in familyInstance.Document.Phases)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "596593fda3546c0b", + "equalIndicator/v1": "4e47da6f74e03154d3536fd230d251516e199f7234d8c8657d85f4893eb62188" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UnitInfo' instance creation", + "markdown": "Object allocation: new 'UnitInfo' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 30, + "charOffset": 2924, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 2855, + "charLength": 177, + "snippet": { + "text": " try\r\n {\r\n list.Add(new UnitInfo(category, category.ToString(), category.ToLabel()));\r\n }\r\n catch\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f4b325c1e86f7ff", + "equalIndicator/v1": "4f28591133729679be208506e99083f6eef8d32585d87ae6e42f95b8d59e96d7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceSoftware' instance creation", + "markdown": "Object allocation: new 'OpenSourceSoftware' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/OpenSourceViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 9, + "charOffset": 1231, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 1159, + "charLength": 302, + "snippet": { + "text": " public List Software { get; } =\r\n [\r\n new OpenSourceSoftware()\r\n .AddSoftware(\"CommunityToolkit.Mvvm\", \"https://github.com/CommunityToolkit/dotnet\")\r\n .AddLicense(\"MIT License\", \"https://github.com/CommunityToolkit/dotnet/blob/main/License.md\"),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3ac450066512a92b", + "equalIndicator/v1": "506afc5cc0adce6bddff647ab4a185153244ce49544f06c0756dd172118af4d3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyGesture' instance creation", + "markdown": "Object allocation: new 'KeyGesture' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 122, + "startColumn": 28, + "charOffset": 4076, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 120, + "startColumn": 1, + "charOffset": 3922, + "charLength": 423, + "snippet": { + "text": " public static MenuItem SetShortcut(this MenuItem item, UIElement bindableElement, ModifierKeys modifiers, Key key)\r\n {\r\n var inputGesture = new KeyGesture(key, modifiers);\r\n bindableElement.InputBindings.Add(new InputBinding(item.Command, inputGesture) {CommandParameter = item.CommandParameter});\r\n item.InputGestureText = inputGesture.GetDisplayStringForCulture(CultureInfo.InvariantCulture);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c42f70182a28f992", + "equalIndicator/v1": "5144ac164dca94494a93ab95231afd9a4fb1bab37aa7f63d596b86e1b133adaa" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/UnitsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 33, + "charOffset": 1694, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1594, + "charLength": 230, + "snippet": { + "text": " {\r\n var formattedText = value.ToLower().Trim();\r\n var searchResults = new List();\r\n // ReSharper disable once LoopCanBeConvertedToQuery\r\n foreach (var family in Units)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8fd58a7199358a26", + "equalIndicator/v1": "53026a5660cf4dd697b1303628b877c9192f5a2ef7fa2ae5e66677e39f8ab382" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'MepSystemDescriptor' instance creation", + "markdown": "Object allocation: new 'MepSystemDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 90, + "startColumn": 79, + "charOffset": 5498, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 88, + "startColumn": 1, + "charOffset": 5168, + "charLength": 575, + "snippet": { + "text": " FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value),\r\n SpatialElement value when type is null || type == typeof(SpatialElement) => new SpatialElementDescriptor(value),\r\n MEPSystem value when type is null || type == typeof(MEPSystem) => new MepSystemDescriptor(value),\r\n Element value when type is null || type == typeof(Element) => new ElementDescriptor(value),\r\n Document value when type is null || type == typeof(Document) => new DocumentDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4dea496ef58fa56a", + "equalIndicator/v1": "5311dc4a678f81b1cc1e9ce41e055342b64a728f13c1b7ee889f775157531d2c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation", + "markdown": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 67, + "charOffset": 3508, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 3353, + "charLength": 301, + "snippet": { + "text": " StoreFreeBoundaryFaces = true\r\n }), \"Core boundary\")\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r\n SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Finish,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "de9db7c8faee99a4", + "equalIndicator/v1": "537b6ff8a7cd339fd302cb45c99170c9bedadba8b51715db6deb62f71a225265" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation", + "markdown": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 67, + "charOffset": 2252, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 2070, + "charLength": 328, + "snippet": { + "text": " StoreFreeBoundaryFaces = true\r\n }), \"Core boundary, store free boundary faces\")\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r\n SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Finish,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "51ffe432842dcf7e", + "equalIndicator/v1": "53bfff44e3b46a4794a92fa95c00d6a12e79cf4532ab8adf597b07e60935957a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SnoopVisualService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 36, + "charOffset": 1857, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1789, + "charLength": 110, + "snippet": { + "text": " else\r\n {\r\n snoopableObjects = new[] {snoopableObject};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4164c882985ccbb1", + "equalIndicator/v1": "53df9d6da2490c777b53216e06a74cf4050385ae677d4270dbc73041d4d421b6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UpdaterInfoDescriptor' instance creation", + "markdown": "Object allocation: new 'UpdaterInfoDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 99, + "startColumn": 83, + "charOffset": 6495, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 97, + "startColumn": 1, + "charOffset": 6185, + "charLength": 600, + "snippet": { + "text": " Schema value when type is null || type == typeof(Schema) => new SchemaDescriptor(value),\r\n FailureMessage value when type is null || type == typeof(FailureMessage) => new FailureMessageDescriptor(value),\r\n UpdaterInfo value when type is null || type == typeof(UpdaterInfo) => new UpdaterInfoDescriptor(value),\r\n ExternalService value when type is null || type == typeof(ExternalService) => new ExternalServiceDescriptor(value),\r\n RevitApplication value when type is null || type == typeof(RevitApplication) => new ApplicationDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e6ed51c86a75f50", + "equalIndicator/v1": "5458853a65c40786d7bf0b5f2e13718030e2cbcfd529e11b954012b6db332309" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ToolTip' instance creation", + "markdown": "Object allocation: new 'ToolTip' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ToolTips.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 23, + "charOffset": 3275, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 3218, + "charLength": 122, + "snippet": { + "text": " .Append(\" ms\");\r\n\r\n row.ToolTip = new ToolTip\r\n {\r\n Content = builder.ToString()\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8c7bc47e48ca9295", + "equalIndicator/v1": "54850963490d3f88c8c4e272cfe696c1f9492980e412c29e869f0544f2a66108" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation", + "markdown": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/ModulesDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 29, + "charOffset": 1441, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1371, + "charLength": 150, + "snippet": { + "text": " public async Task ShowAsync()\r\n {\r\n var dialogOptions = new SimpleContentDialogCreateOptions\r\n {\r\n Title = \"Modules\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90f11828a3821acd", + "equalIndicator/v1": "556da6354dc6df3bedb2fa37d563fbcf22ddd1b1e38ced8cb26cf72735c920af" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 34, + "charOffset": 2405, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2303, + "charLength": 195, + "snippet": { + "text": " {\r\n var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6cce97b5eb006686", + "equalIndicator/v1": "563fe0678aaf94e7633c83b07ea111b44079ef24d28fa7a03203134dc737d50f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 178, + "startColumn": 34, + "charOffset": 8030, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 176, + "startColumn": 1, + "charOffset": 7926, + "charLength": 217, + "snippet": { + "text": " var geometryMaterials = _element.GetMaterialIds(false);\r\n\r\n var resolveSummary = new ResolveSet(geometryMaterials.Count);\r\n if (geometryMaterials.Count == 0) return resolveSummary;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8c299fec8e598438", + "equalIndicator/v1": "56cbf1069c9deaacbefab564f77c6762a16c9d6ef3612402059eac031c0c416d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DefinitionDescriptor' instance creation", + "markdown": "Object allocation: new 'DefinitionDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 81, + "charOffset": 2901, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2602, + "charLength": 360, + "snippet": { + "text": " ElementId value when type is null || type == typeof(ElementId) => new ElementIdDescriptor(value),\r\n GuidEnum value when type is null || type == typeof(GuidEnum) => new GuidEnumDescriptor(value),\r\n Definition value when type is null || type == typeof(Definition) => new DefinitionDescriptor(value),\r\n\r\n //Enumerator\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7e865bef01c4cdbb", + "equalIndicator/v1": "57d2a4c5a27c3dce159f3ab662891f1ce45d44143f7c5080cc7e45ebba849947" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SearchResults' instance creation", + "markdown": "Object allocation: new 'SearchResults' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 28, + "charOffset": 3862, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 3636, + "charLength": 319, + "snippet": { + "text": " //Display unfiltered data if object greater than 1 or single object\r\n if (filteredObjects.Count > 1 || filteredObjects.Count == 1 && model.SnoopableObjects.Count > 1)\r\n return new SearchResults\r\n {\r\n Data = model.SnoopableData\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2735259af6791f51", + "equalIndicator/v1": "57ec8b1723ac084cdde152522986bd272a3270942a56ac101ae7cff99c905ce9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementParameterFilter' instance creation", + "markdown": "Object allocation: new 'ElementParameterFilter' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 29, + "charOffset": 3819, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 3674, + "charLength": 264, + "snippet": { + "text": " var typeFilterRule = new FilterStringRule(typeGuidProvider, new FilterStringEquals(), rawId, true);\r\n#endif\r\n var elementFilter = new ElementParameterFilter(filterRule);\r\n var typeElementFilter = new ElementParameterFilter(typeFilterRule);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6137f67f9f6a67ec", + "equalIndicator/v1": "58642665628df1cb6d0c6183890b2b74830cae38055613ac01816099fefff877" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'CurveDescriptor' instance creation", + "markdown": "Object allocation: new 'CurveDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 73, + "startColumn": 71, + "charOffset": 3788, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 71, + "startColumn": 1, + "charOffset": 3508, + "charLength": 503, + "snippet": { + "text": " Reference value when type is null || type == typeof(Reference) => new ReferenceDescriptor(value),\r\n Color value when type is null || type == typeof(Color) => new ColorDescriptor(value),\r\n Curve value when type is null || type == typeof(Curve) => new CurveDescriptor(value),\r\n Edge value when type is null || type == typeof(Edge) => new EdgeDescriptor(value),\r\n Solid value when type is null || type == typeof(Solid) => new SolidDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c6e1f49e9da9bb40", + "equalIndicator/v1": "590df6e82eedcb4b1f02a8925f5d82468032f0a0545ddc2b9dc61b75397daa0f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UnitsDialog' instance creation", + "markdown": "Object allocation: new 'UnitsDialog' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/DashboardViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 135, + "startColumn": 31, + "charOffset": 5786, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 133, + "startColumn": 1, + "charOffset": 5665, + "charLength": 241, + "snippet": { + "text": " return unitsDialog.ShowParametersAsync();\r\n case \"categories\":\r\n unitsDialog = new UnitsDialog(serviceProvider);\r\n return unitsDialog.ShowCategoriesAsync();\r\n case \"forge\":\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bfb0364d43e34e84", + "equalIndicator/v1": "5bcff1d2e669d7b04e666f080c35d7c981168cbcd03b3a06fcc841ce1d2efecf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ActionEventHandler' instance creation", + "markdown": "Object allocation: new 'ActionEventHandler' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Application.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 30, + "charOffset": 2362, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 2282, + "charLength": 298, + "snippet": { + "text": " private static void RegisterHandlers()\r\n {\r\n ActionEventHandler = new ActionEventHandler();\r\n ExternalElementHandler = new AsyncEventHandler>();\r\n ExternalDescriptorHandler = new AsyncEventHandler>();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "224e8b894f2b0ed2", + "equalIndicator/v1": "5c082122f9e58c6d2a3226ccf18d224f045ebbd2263ec69ad0b71299d5821e09" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DefinitionBindingMapIteratorDescriptor' instance creation", + "markdown": "Object allocation: new 'DefinitionBindingMapIteratorDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 51, + "charOffset": 3013, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 2935, + "charLength": 198, + "snippet": { + "text": "\r\n //Enumerator\r\n DefinitionBindingMapIterator value => new DefinitionBindingMapIteratorDescriptor(value),\r\n IEnumerator value => new EnumeratorDescriptor(value),\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a567259d8e8bc982", + "equalIndicator/v1": "5cb5b1f707333450522bbd4bd14045fc681073ac06d3c11e50becb928883abf6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation", + "markdown": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 67, + "charOffset": 1594, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1440, + "charLength": 300, + "snippet": { + "text": " {\r\n nameof(SpatialElement.GetBoundarySegments) => new ResolveSet(8)\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r\n SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Center,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7db20c0d800ada7e", + "equalIndicator/v1": "5df719cbc8df4cc8825576edefe6ea40416aacb01043451d39b15865163e45a4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'AsyncRelayCommand' instance creation", + "markdown": "Object allocation: new 'AsyncRelayCommand' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Gestures.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 23, + "charOffset": 1305, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1243, + "charLength": 227, + "snippet": { + "text": " private void AddShortcuts()\r\n {\r\n var command = new AsyncRelayCommand(() => ViewModel.RefreshMembersCommand.ExecuteAsync(null));\r\n InputBindings.Add(new KeyBinding(command, new KeyGesture(Key.F5)));\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2eb208b83d07da07", + "equalIndicator/v1": "5dfe8a01203eb1203ab3f158004887745f90af95cdfdae7ba7b16c6d2f90f329" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'LookupServiceImpl' instance creation", + "markdown": "Object allocation: new 'LookupServiceImpl' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 60, + "charOffset": 1964, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1880, + "charLength": 140, + "snippet": { + "text": " else\r\n {\r\n _dispatcher.InvokeAsync(() => _lookupService = new LookupServiceImpl(scopeFactory));\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d85cf8993fffbc82", + "equalIndicator/v1": "610e566d5f041e7c37af3618907ffa9d20329e5108110cb4dd947405074ec631" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 67, + "charOffset": 2218, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 2022, + "charLength": 271, + "snippet": { + "text": " if (RevitShell.UiDocument is null) return;\r\n RevitShell.UiDocument.ShowElements(element);\r\n RevitShell.UiDocument.Selection.SetElementIds(new List(1) {element.Id});\r\n });\r\n })\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "44e1a7588092ede8", + "equalIndicator/v1": "61b98e768cbaf0ec6c671d44d6d5f069d367a4e78b32e61666d5efaf1677bb0d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'AssetPropertiesDescriptor' instance creation", + "markdown": "Object allocation: new 'AssetPropertiesDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 108, + "startColumn": 91, + "charOffset": 7639, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 106, + "startColumn": 1, + "charOffset": 7311, + "charLength": 509, + "snippet": { + "text": " WorksetTable when type is null || type == typeof(WorksetTable) => new WorksetTableDescriptor(),\r\n BoundarySegment value when type is null || type == typeof(BoundarySegment) => new BoundarySegmentDescriptor(value),\r\n AssetProperties value when type is null || type == typeof(AssetProperties) => new AssetPropertiesDescriptor(value),\r\n AssetProperty value when type is null || type == typeof(AssetProperty) => new AssetPropertyDescriptor(value),\r\n#if R24_OR_GREATER\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b247b41f53930d63", + "equalIndicator/v1": "628a7ac42bdebab56d33df901351ec332a54923a169351260213a8debbecbbc9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PushButtonData' instance creation", + "markdown": "Object allocation: new 'PushButtonData' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 30, + "charOffset": 1803, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1718, + "charLength": 495, + "snippet": { + "text": " var buttonDataType = typeof(PushButtonData);\r\n\r\n var pushButtonData = new PushButtonData(commandType.FullName, buttonText, Assembly.GetAssembly(commandType).Location, commandType.FullName);\r\n var createMethod = buttonDataType.GetMethod(\"createPushButton\", BindingFlags.Static | BindingFlags.NonPublic | BindingFlags.DeclaredOnly)!;\r\n var buttonField = buttonType.GetField(\"m_RibbonItem\", BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly)!;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "907380875c362745", + "equalIndicator/v1": "6337f3e3919d948ededbcc95cc9f5b13cb73c293de809e09e90a463efd9c20ac" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Dictionary' instance creation", + "markdown": "Object allocation: new 'Dictionary' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 68, + "charOffset": 1338, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1179, + "charLength": 226, + "snippet": { + "text": " private readonly Assembly[] _assemblies;\r\n private readonly List _denyList;\r\n private readonly Dictionary _eventInfos = new();\r\n private readonly Action _handler;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "37643afcb038df7c", + "equalIndicator/v1": "63e98c0a3ab5e78487f74a290050a7b3c80504e75c0afa88613923881aa64241" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SchedulableFieldDescriptor' instance creation", + "markdown": "Object allocation: new 'SchedulableFieldDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 103, + "startColumn": 93, + "charOffset": 7016, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 101, + "startColumn": 1, + "charOffset": 6659, + "charLength": 651, + "snippet": { + "text": " RevitApplication value when type is null || type == typeof(RevitApplication) => new ApplicationDescriptor(value),\r\n PerformanceAdviser value when type is null || type == typeof(PerformanceAdviser) => new PerformanceAdviserDescriptor(value),\r\n SchedulableField value when type is null || type == typeof(SchedulableField) => new SchedulableFieldDescriptor(value),\r\n CompoundStructureLayer value when type is null || type == typeof(CompoundStructureLayer) => new CompoundStructureLayerDescriptor(value),\r\n Workset value when type is null || type == typeof(Workset) => new WorksetDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2ef5f8f31c4142d3", + "equalIndicator/v1": "657d8df38734471488bb67f20ac1722c7fd3e637558ca3fd9d6dd3f9874d09f5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'LinkLoadResult' instance creation", + "markdown": "Object allocation: new 'LinkLoadResult' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/RevitLinkTypeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 61, + "charOffset": 1476, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1375, + "charLength": 261, + "snippet": { + "text": " return target switch\r\n {\r\n nameof(RevitLinkType.Load) => ResolveSet.Append(new LinkLoadResult(), \"Overridden\"),\r\n nameof(RevitLinkType.Reload) => ResolveSet.Append(new LinkLoadResult(), \"Overridden\"),\r\n _ => null\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f567ee4f76289a2b", + "equalIndicator/v1": "65b1fad40700dcb6bbeadc2e45ac0c77f6748999912997796b0f510959405081" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 16, + "charOffset": 2626, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 2535, + "charLength": 152, + "snippet": { + "text": " private static IReadOnlyCollection SnoopView()\r\n {\r\n return new SnoopableObject[] {new(RevitShell.ActiveView)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4f071402329e19cb", + "equalIndicator/v1": "6653d2689b375c435d08f80bbd688b58cc5464435b12df36a511635fd4133dd7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 16, + "charOffset": 3852, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 3752, + "charLength": 157, + "snippet": { + "text": " private static IReadOnlyCollection SnoopLinkedElement()\r\n {\r\n return new[] {SelectObject(ObjectType.LinkedElement)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1c5177b03d4d0e54", + "equalIndicator/v1": "668aff6d18188185cbab9eba3033f90958fc40e887ea3587bf13b9a9f520ebca" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ModulesDialog' instance creation", + "markdown": "Object allocation: new 'ModulesDialog' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/DashboardViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 144, + "startColumn": 37, + "charOffset": 6254, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 142, + "startColumn": 1, + "charOffset": 6139, + "charLength": 213, + "snippet": { + "text": " return searchDialog.ShowAsync();\r\n case \"modules\":\r\n var modulesDialog = new ModulesDialog(serviceProvider);\r\n return modulesDialog.ShowAsync();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0caaa38a914d3963", + "equalIndicator/v1": "679f039e9aee5ed6a79cf88b76fbbf6a846cf46692a3ed8ca5ea8b3fd50d6fbd" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'char[]' array instance creation", + "markdown": "Object allocation: new 'char\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 108, + "startColumn": 26, + "charOffset": 4403, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 106, + "startColumn": 1, + "charOffset": 4319, + "charLength": 159, + "snippet": { + "text": " {\r\n var items = new List(rows.Length);\r\n var delimiters = new[] {'\\t', ';', ',', ' '};\r\n foreach (var row in rows)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c2e0784045c4c4d1", + "equalIndicator/v1": "67cc335613cdc71a3624bd9c82a3e9aed9dd5be6918fa6ab3b0ef9ed3812f235" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'BoundarySegmentDescriptor' instance creation", + "markdown": "Object allocation: new 'BoundarySegmentDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 107, + "startColumn": 91, + "charOffset": 7510, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 105, + "startColumn": 1, + "charOffset": 7206, + "charLength": 594, + "snippet": { + "text": " Workset value when type is null || type == typeof(Workset) => new WorksetDescriptor(value),\r\n WorksetTable when type is null || type == typeof(WorksetTable) => new WorksetTableDescriptor(),\r\n BoundarySegment value when type is null || type == typeof(BoundarySegment) => new BoundarySegmentDescriptor(value),\r\n AssetProperties value when type is null || type == typeof(AssetProperties) => new AssetPropertiesDescriptor(value),\r\n AssetProperty value when type is null || type == typeof(AssetProperty) => new AssetPropertyDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "efc6230e0d815666", + "equalIndicator/v1": "67d0a31be2f2aec67dad5e818e94e90fc5d8f0f3251fc176986ffd3ed4505471" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation", + "markdown": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/OpenSourceDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 29, + "charOffset": 1549, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1479, + "charLength": 163, + "snippet": { + "text": " public async Task ShowAsync()\r\n {\r\n var dialogOptions = new SimpleContentDialogCreateOptions\r\n {\r\n Title = \"Third-Party Software\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "63048599f1341c54", + "equalIndicator/v1": "680b173c3e77eea9f7df6d1e9f680334772db875d253df586794f03e9fb3dce4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ProcessStartInfo' instance creation", + "markdown": "Object allocation: new 'ProcessStartInfo' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 25, + "charOffset": 960, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 851, + "charLength": 175, + "snippet": { + "text": " public static Process StartShell(string toolPath, string arguments = \"\")\r\n {\r\n var startInfo = new ProcessStartInfo\r\n {\r\n FileName = toolPath,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9add411704d89815", + "equalIndicator/v1": "68a9d91148f129cbaadf4437fdaf49218bd88a95e3e4ec5c41e61cd25fd690db" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/EventsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 31, + "charOffset": 1862, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 1762, + "charLength": 163, + "snippet": { + "text": " private void OnHandlingEvent(string name, EventArgs args)\r\n {\r\n var snoopableObject = new SnoopableObject(args)\r\n {\r\n Descriptor =\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fffc3af2226d006b", + "equalIndicator/v1": "68c790e03bb581cbcde79654443242323d8d5708f57a70fd64bbdd85d38c9e30" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Queue' instance creation", + "markdown": "Object allocation: new 'Queue' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSet.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 20, + "charOffset": 1131, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1080, + "charLength": 90, + "snippet": { + "text": " public ResolveSet()\r\n {\r\n Variants = new Queue(1);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c396ed2da2f88e0a", + "equalIndicator/v1": "6a6cdcb25290966f12b3218b8678f298b61706646e5fc9f58ab511f36e7422ee" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Settings' instance creation", + "markdown": "Object allocation: new 'Settings' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SettingsService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 192, + "startColumn": 65, + "charOffset": 6634, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 190, + "startColumn": 1, + "charOffset": 6526, + "charLength": 147, + "snippet": { + "text": " private Settings LoadSettings()\r\n {\r\n if (!File.Exists(_folderLocations.SettingsPath)) return new Settings();\r\n \r\n try\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "be2568e5fdc46b79", + "equalIndicator/v1": "6aa6c98b0bb37d61f75f0b4eafd7c4355d5e589caa79199c4321c6f2e3c0ac97" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FamilyManagerDescriptor' instance creation", + "markdown": "Object allocation: new 'FamilyManagerDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 81, + "startColumn": 87, + "charOffset": 4650, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 79, + "startColumn": 1, + "charOffset": 4315, + "charLength": 585, + "snippet": { + "text": " PrintManager value when type is null || type == typeof(PrintManager) => new PrintManagerDescriptor(value),\r\n DefinitionGroup value when type is null || type == typeof(DefinitionGroup) => new DefinitionGroupDescriptor(value),\r\n FamilyManager value when type is null || type == typeof(FamilyManager) => new FamilyManagerDescriptor(value),\r\n MEPSection value when type is null || type == typeof(MEPSection) => new MepSectionDescriptor(value),\r\n APIObject when type is null || type == typeof(APIObject) => new ApiObjectDescriptor(),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cd9681356b030e8f", + "equalIndicator/v1": "6d20223e4e28478a3d33e664ed1b521967de5e03f371d2f705bffdf49f1e5e80" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 23, + "charOffset": 1494, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1328, + "charLength": 238, + "snippet": { + "text": " var rows = SearchText.Split([Environment.NewLine], StringSplitOptions.RemoveEmptyEntries);\r\n var items = ParseRawRequest(rows);\r\n var results = new List(items.Count);\r\n\r\n foreach (var rawId in items)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "21e2b2d873466b47", + "equalIndicator/v1": "6d23082550ce8825a2457b1a1ea1054de8b6de09031481e6923c6c4cd479e44b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSummaryDescriptor' instance creation", + "markdown": "Object allocation: new 'ResolveSummaryDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 117, + "startColumn": 37, + "charOffset": 8260, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 115, + "startColumn": 1, + "charOffset": 8134, + "charLength": 186, + "snippet": { + "text": " //Internal\r\n ResolveSet value => new ResolveSetDescriptor(value),\r\n ResolveSummary value => new ResolveSummaryDescriptor(value),\r\n\r\n //Media\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5b6e01aa05f85d1a", + "equalIndicator/v1": "6ddc1149224f99485ceb994ddcb7e9647df49c8e272c66e849cd902562859d85" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 201, + "startColumn": 16, + "charOffset": 7956, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 199, + "startColumn": 1, + "charOffset": 7928, + "charLength": 67, + "snippet": { + "text": " }\r\n\r\n return new SnoopableObject(element);\r\n }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c224d4b2551d6b33", + "equalIndicator/v1": "6f5f77b938e557650f9c7f3ca7220194583c326e4c0fbfaec9342466ae66b366" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyBinding' instance creation", + "markdown": "Object allocation: new 'KeyBinding' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 27, + "charOffset": 2840, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 2799, + "charLength": 223, + "snippet": { + "text": " });\r\n\r\n InputBindings.Add(new KeyBinding(closeAllCommand, new KeyGesture(Key.Escape, ModifierKeys.Shift)));\r\n InputBindings.Add(new KeyBinding(closeCurrentCommand, new KeyGesture(Key.Escape)));\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2cd3e35820132319", + "equalIndicator/v1": "6f767a498bf01118d37d0861be47e1f2daaca05daf07319cb5f85db737e118fe" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UnitInfo' instance creation", + "markdown": "Object allocation: new 'UnitInfo' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 30, + "charOffset": 2336, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 2267, + "charLength": 180, + "snippet": { + "text": " try\r\n {\r\n list.Add(new UnitInfo(parameter, parameter.ToString(), parameter.ToLabel()));\r\n }\r\n catch\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4ede09ef3b7a4f56", + "equalIndicator/v1": "6f92914660c82c3ce5b6f7be61b8232ff5ebdbda502bfa5d346fcecdca88b6e5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSet.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 16, + "charOffset": 1553, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1459, + "charLength": 156, + "snippet": { + "text": " public static ResolveSet Append(object result, string description)\r\n {\r\n return new ResolveSet().AppendVariant(result, description);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "786d53cbc5738256", + "equalIndicator/v1": "7134943f08f06350ac9a748d6d1e1157f62d1b5f9faf04b66a89a30674c9ab3a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ExceptionDescriptor' instance creation", + "markdown": "Object allocation: new 'ExceptionDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 56, + "startColumn": 79, + "charOffset": 2547, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 54, + "startColumn": 1, + "charOffset": 2306, + "charLength": 295, + "snippet": { + "text": " bool value when type is null || type == typeof(bool) => new BoolDescriptor(value),\r\n IEnumerable value => new EnumerableDescriptor(value),\r\n Exception value when type is null || type == typeof(Exception) => new ExceptionDescriptor(value),\r\n\r\n //Root\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6397005cf0f98bb3", + "equalIndicator/v1": "7582078b1756fdeed710a82aff294f187a15042f8f4f73dc68256444d091a9f3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Write.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 82, + "startColumn": 31, + "charOffset": 3089, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 80, + "startColumn": 1, + "charOffset": 2976, + "charLength": 274, + "snippet": { + "text": " private SnoopableObject EvaluateValue(MemberInfo member, object value)\r\n {\r\n var snoopableObject = new SnoopableObject(value, Context);\r\n SnoopUtils.Redirect(member.Name, snoopableObject);\r\n RestoreSetDescription(member, value, snoopableObject);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "991b4bb87954d74f", + "equalIndicator/v1": "75a0ff26204ea491674d888cb4cc64a4a6fb39d66dabe66c32b51e47732b0be8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Separator' instance creation", + "markdown": "Object allocation: new 'Separator' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 25, + "charOffset": 1378, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1287, + "charLength": 151, + "snippet": { + "text": " public static void AddSeparator(this ContextMenu menu)\r\n {\r\n var separator = new Separator();\r\n menu.Items.Add(separator);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "32fb2fbb1fdd35d0", + "equalIndicator/v1": "76b6e144e55ea1adc2070ac0fdb6f621b5560e948db92b71c2e1c83a157da034" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Thread' instance creation", + "markdown": "Object allocation: new 'Thread' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 24, + "charOffset": 1504, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1446, + "charLength": 170, + "snippet": { + "text": " static LookupService()\r\n {\r\n var uiThread = new Thread(Dispatcher.Run);\r\n uiThread.SetApartmentState(ApartmentState.STA);\r\n uiThread.Start();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d337a77f3221d4e4", + "equalIndicator/v1": "76bfc7acb827ff312a642ea2178d0bbe6dafb5e9969201523fb4c437caa725fb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 58, + "startColumn": 34, + "charOffset": 2511, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 56, + "startColumn": 1, + "charOffset": 2422, + "charLength": 185, + "snippet": { + "text": " ResolveSet ResolveGetByFieldForge()\r\n {\r\n var resolveSummary = new ResolveSet();\r\n foreach (var field in entity.Schema.ListFields())\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ff70f329891bf02b", + "equalIndicator/v1": "772306f6ec64feea23de8298037b9662b11f065c913a0f3bb88eee0b87b5b1d5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/AssetPropertyDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 34, + "charOffset": 1719, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1632, + "charLength": 198, + "snippet": { + "text": " ResolveSet ResolveAssetTypeName()\r\n {\r\n var resolveSummary = new ResolveSet(1);\r\n resolveSummary.AppendVariant(AssetProperty.GetTypeName(assetProperty.Type));\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "be211a9b3bce8759", + "equalIndicator/v1": "7aa62f113ff31f2f57872b762f91ef1380f25b36179d7ae77aa73671d8d1b355" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ProcessStartInfo' instance creation", + "markdown": "Object allocation: new 'ProcessStartInfo' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 10, + "startColumn": 25, + "charOffset": 271, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 8, + "startColumn": 1, + "charOffset": 118, + "charLength": 219, + "snippet": { + "text": " public static Process StartProcess(string toolPath, string arguments = \"\", Action logger = null)\r\n {\r\n var startInfo = new ProcessStartInfo\r\n {\r\n FileName = toolPath,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d43a559ae2ae96b9", + "equalIndicator/v1": "7b5035553506d6a1c8913800fc3584a1f83eb25ec34939fff5900180339071b9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 110, + "startColumn": 36, + "charOffset": 4308, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 108, + "startColumn": 1, + "charOffset": 4163, + "charLength": 205, + "snippet": { + "text": " .GetElements(selectedIds)\r\n .WherePasses(new ElementIdSetFilter(selectedIds))\r\n .Select(element => new SnoopableObject(element))\r\n .ToList();\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c46077de73457701", + "equalIndicator/v1": "7d3a3c1d7d6c895fccf583c66a15fab4bd36c3e4ba75abfc74c9aa54f685a1a7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'InverseBooleanConverter' instance creation", + "markdown": "Object allocation: new 'InverseBooleanConverter' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 90, + "startColumn": 25, + "charOffset": 2863, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 88, + "startColumn": 1, + "charOffset": 2800, + "charLength": 172, + "snippet": { + "text": " {\r\n Source = item,\r\n Converter = new InverseBooleanConverter(),\r\n Path = new PropertyPath(nameof(MenuItem.IsChecked))\r\n });\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7cb83ed566ca16dd", + "equalIndicator/v1": "7f921c29a2fbe4789ad511726c72959356ab5faddd5bc90dd6612017fbaf826f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'HttpClient' instance creation", + "markdown": "Object allocation: new 'HttpClient' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SoftwareUpdateService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 69, + "startColumn": 39, + "charOffset": 2801, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 67, + "startColumn": 1, + "charOffset": 2715, + "charLength": 225, + "snippet": { + "text": " \r\n string releasesJson;\r\n using (var gitHubClient = new HttpClient())\r\n {\r\n gitHubClient.DefaultRequestHeaders.TryAddWithoutValidation(\"User-Agent\", \"RevitLookup\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "07247a4f6518e805", + "equalIndicator/v1": "8070f2b43e784c2bd2004ec70a0e0e792e2061b8837bae3d09268d77574103c7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementParameterFilter' instance creation", + "markdown": "Object allocation: new 'ElementParameterFilter' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 92, + "startColumn": 33, + "charOffset": 3892, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 90, + "startColumn": 1, + "charOffset": 3783, + "charLength": 209, + "snippet": { + "text": "#endif\r\n var elementFilter = new ElementParameterFilter(filterRule);\r\n var typeElementFilter = new ElementParameterFilter(typeFilterRule);\r\n\r\n var typeGuidsCollector = RevitShell.Document\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bc8bacca422aa038", + "equalIndicator/v1": "81ef80df33cb51c33476a4e2548204faf7e72a39c3af1f94c6ab3b8bf15e5119" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 54, + "charOffset": 4676, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 4526, + "charLength": 238, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Model, coarse detail level\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n DetailLevel = ViewDetailLevel.Fine,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2a5ac15ebe597c74", + "equalIndicator/v1": "825fbf9dfba486fa69afee6236ccf42c2f26630c742ef3ae5ff2450aa1576ff8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'CompoundStructureLayerDescriptor' instance creation", + "markdown": "Object allocation: new 'CompoundStructureLayerDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 104, + "startColumn": 105, + "charOffset": 7160, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 102, + "startColumn": 1, + "charOffset": 6786, + "charLength": 633, + "snippet": { + "text": " PerformanceAdviser value when type is null || type == typeof(PerformanceAdviser) => new PerformanceAdviserDescriptor(value),\r\n SchedulableField value when type is null || type == typeof(SchedulableField) => new SchedulableFieldDescriptor(value),\r\n CompoundStructureLayer value when type is null || type == typeof(CompoundStructureLayer) => new CompoundStructureLayerDescriptor(value),\r\n Workset value when type is null || type == typeof(Workset) => new WorksetDescriptor(value),\r\n WorksetTable when type is null || type == typeof(WorksetTable) => new WorksetTableDescriptor(),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1198334b07e68f90", + "equalIndicator/v1": "82a0246af71eec1750c43b1e6c694c7e79bcdc5198ea7aa5567ed8ef5c1fc48a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'char[]' array instance creation", + "markdown": "Object allocation: new 'char\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 114, + "startColumn": 39, + "charOffset": 4637, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 112, + "startColumn": 1, + "charOffset": 4536, + "charLength": 287, + "snippet": { + "text": " {\r\n var delimiter = delimiters[i];\r\n var split = row.Split(new[]{delimiter}, StringSplitOptions.RemoveEmptyEntries);\r\n if (split.Length > 1 || i == delimiters.Length - 1 || split.Length == 1 && split[0] != row)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c27be51978f0e183", + "equalIndicator/v1": "830c1a248450f13c90ffd730e14e7f4db311114f56f1485c9f17230f1a3ef9f1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ModulesViewModel' instance creation", + "markdown": "Object allocation: new 'ModulesViewModel' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/ModulesDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 23, + "charOffset": 1305, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1231, + "charLength": 137, + "snippet": { + "text": " {\r\n _serviceProvider = serviceProvider;\r\n DataContext = new ModulesViewModel();\r\n InitializeComponent();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a2f297ee40618bc5", + "equalIndicator/v1": "83bad09127ec0ef8fbc7b3d778f499b2a10309c8204e793b7d8d1a6dc8f0795a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SearchResults' instance creation", + "markdown": "Object allocation: new 'SearchResults' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 28, + "charOffset": 3099, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2891, + "charLength": 301, + "snippet": { + "text": " //Display unfiltered data if object greater than 1 or single object\r\n if (objectsCount > 1 || objectsCount == 1 && model.SnoopableObjects.Count > 1)\r\n return new SearchResults\r\n {\r\n Objects = filteredObjects,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4ba544b08d43d38e", + "equalIndicator/v1": "83d32212f64b09599e3bc492f596bd670b66613247ddfbf6b5ca628e77292fdc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Binding' instance creation", + "markdown": "Object allocation: new 'Binding' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 101, + "startColumn": 60, + "charOffset": 3267, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 99, + "startColumn": 1, + "charOffset": 3164, + "charLength": 154, + "snippet": { + "text": " {\r\n item.IsChecked = isChecked;\r\n item.SetBinding(MenuItem.CommandParameterProperty, new Binding\r\n {\r\n Source = item,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8cd4ba0a72ed3e1f", + "equalIndicator/v1": "840aa1a92d9134bdfaebda4335df4c449158c8b43de06ebc90b292fb5e9e8a9f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Write.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 90, + "startColumn": 31, + "charOffset": 3387, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 88, + "startColumn": 1, + "charOffset": 3293, + "charLength": 234, + "snippet": { + "text": " private SnoopableObject EvaluateValue(object value)\r\n {\r\n var snoopableObject = new SnoopableObject(value, Context);\r\n SnoopUtils.Redirect(snoopableObject);\r\n RestoreSetDescription(value, snoopableObject);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1ad5636967c8805a", + "equalIndicator/v1": "84403774aff6ce46a8ce1c3a4fe90cc1184fdfea3dba48a1122a1f9b83fced2a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 107, + "startColumn": 21, + "charOffset": 4346, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 105, + "startColumn": 1, + "charOffset": 4255, + "charLength": 212, + "snippet": { + "text": " private static List ParseRawRequest(string[] rows)\r\n {\r\n var items = new List(rows.Length);\r\n var delimiters = new[] {'\\t', ';', ',', ' '};\r\n foreach (var row in rows)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "41a6e56eb6304081", + "equalIndicator/v1": "84af43aeb087d9475f8391f84d051309aca2491b22fc539b24811295fee3b716" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PrintManagerDescriptor' instance creation", + "markdown": "Object allocation: new 'PrintManagerDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 85, + "charOffset": 4399, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 4108, + "charLength": 578, + "snippet": { + "text": " City value when type is null || type == typeof(City) => new CityDescriptor(value),\r\n PaperSize value when type is null || type == typeof(PaperSize) => new PaperSizeDescriptor(value),\r\n PrintManager value when type is null || type == typeof(PrintManager) => new PrintManagerDescriptor(value),\r\n DefinitionGroup value when type is null || type == typeof(DefinitionGroup) => new DefinitionGroupDescriptor(value),\r\n FamilyManager value when type is null || type == typeof(FamilyManager) => new FamilyManagerDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "882610995ea2b837", + "equalIndicator/v1": "8639db11dbd70bdb6dc9b7ef0675a44a33cdd6c6e55989926e36321e02d8077f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Uri' instance creation", + "markdown": "Object allocation: new 'Uri' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Markup/ThemesDictionary.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 44, + "startColumn": 18, + "charOffset": 1361, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 42, + "startColumn": 1, + "charOffset": 1330, + "charLength": 134, + "snippet": { + "text": " };\r\n\r\n Source = new Uri($\"{ApplicationThemeManager.ThemesDictionaryPath}{themeName}.xaml\", UriKind.Absolute);\r\n }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f571b493c5acfe1f", + "equalIndicator/v1": "8687ef1c029afeaad8a66c65553b44776e206b62eda8cd3bd2abef15e6702f51" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/SnoopUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 24, + "charOffset": 1440, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1356, + "charLength": 212, + "snippet": { + "text": " while (descriptor.Enumerator.MoveNext())\r\n {\r\n var item = new SnoopableObject(descriptor.Enumerator, snoopableObject.Context);\r\n Redirect(item);\r\n items.Add(item);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1b0cf4950bf087e4", + "equalIndicator/v1": "874a88ca17b602d0b2743667377f170f489ff9cfbae6c013775ece5b00f0d193" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'HashSet' instance creation", + "markdown": "Object allocation: new 'HashSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/DocumentDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 95, + "charOffset": 1869, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1654, + "charLength": 274, + "snippet": { + "text": " nameof(Document.PlanTopologies) when parameters.Length == 0 => ResolvePlanTopologies(),\r\n#if R24_OR_GREATER\r\n nameof(Document.GetUnusedElements) => ResolveSet.Append(context.GetUnusedElements(new HashSet())),\r\n#endif\r\n _ => null\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7fa0d2e51fc8e5f6", + "equalIndicator/v1": "88cd1c0cc90afd8cfd721dcc022581fd67aac22ffa2862cd171d2943cfcb2151" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'ObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Write.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 26, + "charOffset": 1841, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 1748, + "charLength": 154, + "snippet": { + "text": " private void WriteDescriptor(string name, object value)\r\n {\r\n var descriptor = new ObjectDescriptor\r\n {\r\n Depth = _depth,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "652d91f133df6c1a", + "equalIndicator/v1": "897b70451d275eb59910f93b7c769afdcb5541117cdf7405d68dab2e19ee940c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Dictionary' instance creation", + "markdown": "Object allocation: new 'Dictionary' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 70, + "charOffset": 1455, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1337, + "charLength": 191, + "snippet": { + "text": "public static class ColorRepresentationUtils\r\n{\r\n private static readonly Dictionary KnownColors = new()\r\n {\r\n {\"000000\", Resources.Localization.Colors._000000},\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "004d8328daf2b647", + "equalIndicator/v1": "89810ba0e7d708c7935aefe96d5a83e42ebec1d6ca156e7249b7a3584c7780d0" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 54, + "charOffset": 5727, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 5546, + "charLength": 269, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Model, coarse detail level, including non-visible objects\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n DetailLevel = ViewDetailLevel.Fine,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1fd9cc676eb8c2b7", + "equalIndicator/v1": "89afccefd784fa0e9a4e971bace87afeee715ead0a82dd27114d25ccb0b63f8e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Version' instance creation", + "markdown": "Object allocation: new 'Version' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Config/OptionsConfiguration.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 22, + "startColumn": 27, + "charOffset": 822, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 20, + "startColumn": 1, + "charOffset": 622, + "charLength": 395, + "snippet": { + "text": " var rootPath = configuration.GetValue(\"contentRoot\");\r\n var appDataPath = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);\r\n var fileVersion = new Version(FileVersionInfo.GetVersionInfo(assemblyLocation).FileVersion!);\r\n \r\n var targetFrameworkAttribute = assembly.GetCustomAttributes(typeof(TargetFrameworkAttribute), true)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d82e167c3c049eb9", + "equalIndicator/v1": "8a85f95da57a1346778f809a3bb2db3e47a79fb724bd25f4b49734d2f600ff9b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SymbolIcon' instance creation", + "markdown": "Object allocation: new 'SymbolIcon' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 92, + "startColumn": 13, + "charOffset": 2995, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 90, + "startColumn": 1, + "charOffset": 2921, + "charLength": 172, + "snippet": { + "text": " message,\r\n ControlAppearance.Caution,\r\n new SymbolIcon(SymbolRegular.Warning24, 24),\r\n snackbarService.DefaultTimeOut);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "11537cc01d544b13", + "equalIndicator/v1": "8bc7ec6f0fe1b1f4bd4e1dda5b2c164a0e88f0979c61f55b73427a6170ea43a0" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PropertyGroupDescription' instance creation", + "markdown": "Object allocation: new 'PropertyGroupDescription' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 204, + "startColumn": 46, + "charOffset": 6794, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 202, + "startColumn": 1, + "charOffset": 6495, + "charLength": 364, + "snippet": { + "text": " dataGrid.Items.SortDescriptions.Add(new SortDescription(nameof(Descriptor.MemberAttributes), ListSortDirection.Ascending));\r\n dataGrid.Items.SortDescriptions.Add(new SortDescription(nameof(Descriptor.Name), ListSortDirection.Ascending));\r\n dataGrid.Items.GroupDescriptions.Add(new PropertyGroupDescription(nameof(Descriptor.Type)));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6e5f6f02f194ad65", + "equalIndicator/v1": "8bfca06526150bc1c51bc7687e800f626557ecde49b418d1d7d03846c4111e85" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 134, + "startColumn": 24, + "charOffset": 5254, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 132, + "startColumn": 1, + "charOffset": 5153, + "charLength": 235, + "snippet": { + "text": " if (selectedIds.Count == 0) return Array.Empty();\r\n\r\n var elements = new List();\r\n var selectedElements = RevitShell.Document.GetElements(selectedIds).WhereElementIsNotElementType();\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "367a4c1ed40b7962", + "equalIndicator/v1": "8c235bf5c2b6c7c41bb2e884546b38e6743bf5361a90abd441ff1efecfd73aa9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'EntityDescriptor' instance creation", + "markdown": "Object allocation: new 'EntityDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 95, + "startColumn": 73, + "charOffset": 6056, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 93, + "startColumn": 1, + "charOffset": 5744, + "charLength": 542, + "snippet": { + "text": " PlanViewRange value when type is null || type == typeof(PlanViewRange) => new PlanViewRangeDescriptor(value),\r\n ForgeTypeId value when type is null || type == typeof(ForgeTypeId) => new ForgeTypeIdDescriptor(value),\r\n Entity value when type is null || type == typeof(Entity) => new EntityDescriptor(value),\r\n Field value when type is null || type == typeof(Field) => new FieldDescriptor(value),\r\n Schema value when type is null || type == typeof(Schema) => new SchemaDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "88dd891ba44a0908", + "equalIndicator/v1": "8c6228be92f2ef56a428f1dea53daf4db122af4e4f8fe230e08447338c6ca2af" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ParameterValueProvider' instance creation", + "markdown": "Object allocation: new 'ParameterValueProvider' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 82, + "startColumn": 28, + "charOffset": 3170, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 80, + "startColumn": 1, + "charOffset": 3071, + "charLength": 296, + "snippet": { + "text": " private static IList SearchByIfcGuid(string rawId)\r\n {\r\n var guidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_GUID));\r\n var typeGuidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_TYPE_GUID));\r\n#if R22_OR_GREATER\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "55390e555e165baa", + "equalIndicator/v1": "8ccfd565af11fa5d66cad6f13b247ba15e358b88a32ce2767c0ead0002acb980" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PropertyGroupDescription' instance creation", + "markdown": "Object allocation: new 'PropertyGroupDescription' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/TreeViewSourceConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 42, + "charOffset": 1939, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1605, + "charLength": 463, + "snippet": { + "text": " viewSource.SortDescriptions.Add(new SortDescription($\"{nameof(Descriptor)}.{nameof(Descriptor.Name)}\", ListSortDirection.Ascending));\r\n viewSource.SortDescriptions.Add(new SortDescription($\"{nameof(Descriptor)}.{nameof(Descriptor.Description)}\", ListSortDirection.Ascending));\r\n viewSource.GroupDescriptions.Add(new PropertyGroupDescription($\"{nameof(Descriptor)}.{nameof(Descriptor.Type)}\"));\r\n return viewSource.View.Groups;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "595f5c229b50b52f", + "equalIndicator/v1": "8ebde11b749f265074c2198aaa97b2e60d030e3d6302ff0b0368ee6175bad735" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 34, + "charOffset": 3606, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 3524, + "charLength": 219, + "snippet": { + "text": " ResolveSet ResolveFromRoom()\r\n {\r\n var resolveSummary = new ResolveSet(familyInstance.Document.Phases.Size);\r\n foreach (Phase phase in familyInstance.Document.Phases)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae04ed9d2431d734", + "equalIndicator/v1": "8f61e2341d7b6695c3c510259c5e8a6c5547f2148fde6fce446085fd487cd038" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation", + "markdown": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 70, + "startColumn": 67, + "charOffset": 3803, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 68, + "startColumn": 1, + "charOffset": 3655, + "charLength": 298, + "snippet": { + "text": " StoreFreeBoundaryFaces = true\r\n }), \"Finish\")\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r\n SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.CoreCenter,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1818028e8e15823f", + "equalIndicator/v1": "8f693773d2c9f1242ccb01f1c1b40cbc1db0bb94493feed6fc7e7b38ff1a08f8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyGesture' instance creation", + "markdown": "Object allocation: new 'KeyGesture' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 63, + "charOffset": 2985, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 2812, + "charLength": 212, + "snippet": { + "text": "\r\n InputBindings.Add(new KeyBinding(closeAllCommand, new KeyGesture(Key.Escape, ModifierKeys.Shift)));\r\n InputBindings.Add(new KeyBinding(closeCurrentCommand, new KeyGesture(Key.Escape)));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "30aa2496754d6852", + "equalIndicator/v1": "909fcad5afa53377d1595d69322d21998c151c3ed739a0e859cf36d9f7687680" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementDescriptor' instance creation", + "markdown": "Object allocation: new 'SpatialElementDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 89, + "startColumn": 89, + "charOffset": 5382, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 87, + "startColumn": 1, + "charOffset": 5045, + "charLength": 590, + "snippet": { + "text": " RevitLinkType value when type is null || type == typeof(RevitLinkType) => new RevitLinkTypeDescriptor(value),\r\n FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value),\r\n SpatialElement value when type is null || type == typeof(SpatialElement) => new SpatialElementDescriptor(value),\r\n MEPSystem value when type is null || type == typeof(MEPSystem) => new MepSystemDescriptor(value),\r\n Element value when type is null || type == typeof(Element) => new ElementDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2c99acbfed888cc3", + "equalIndicator/v1": "9274b27c906610c6a9404bf8fb6cff0106359e52a7cdd4111ee4bcf42c454440" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'NotSupportedException' instance creation", + "markdown": "Object allocation: new 'NotSupportedException' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Methods.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 81, + "startColumn": 21, + "charOffset": 2712, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 79, + "startColumn": 1, + "charOffset": 2628, + "charLength": 179, + "snippet": { + "text": " if (!_settings.IncludeUnsupported) return false;\r\n\r\n value = new NotSupportedException(\"Unsupported method overload\");\r\n return true;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9eda4f3b60671c03", + "equalIndicator/v1": "93679df2b90a7deafae83ca1e4c6bd1bb50d775b5fcaada1e830416f951fb7d3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation", + "markdown": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 67, + "charOffset": 3200, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 3052, + "charLength": 300, + "snippet": { + "text": " StoreFreeBoundaryFaces = true\r\n }), \"Center\")\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r\n SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.CoreBoundary,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f01bd6f0ce807a9d", + "equalIndicator/v1": "93687b719c071982c2e889de9b156f281336547b28b2a36e8c0b2de6a72865d8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'StackTrace' instance creation", + "markdown": "Object allocation: new 'StackTrace' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 115, + "startColumn": 26, + "charOffset": 4155, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 113, + "startColumn": 1, + "charOffset": 4059, + "charLength": 224, + "snippet": { + "text": " public void OnHandlingEvent(object sender, EventArgs args)\r\n {\r\n var stackTrace = new StackTrace();\r\n var stackFrames = stackTrace.GetFrames()!;\r\n var eventName = stackFrames[1].GetMethod().Name;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7eeb9dc47363eafd", + "equalIndicator/v1": "9487f266141814c5fc6ce2e0c2a67ea3e3a552b0ce0460c6ab58188e4ade3a99" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'AssetPropertyDescriptor' instance creation", + "markdown": "Object allocation: new 'AssetPropertyDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 109, + "startColumn": 87, + "charOffset": 7764, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 107, + "startColumn": 1, + "charOffset": 7420, + "charLength": 538, + "snippet": { + "text": " BoundarySegment value when type is null || type == typeof(BoundarySegment) => new BoundarySegmentDescriptor(value),\r\n AssetProperties value when type is null || type == typeof(AssetProperties) => new AssetPropertiesDescriptor(value),\r\n AssetProperty value when type is null || type == typeof(AssetProperty) => new AssetPropertyDescriptor(value),\r\n#if R24_OR_GREATER\r\n EvaluatedParameter value when type is null || type == typeof(EvaluatedParameter) => new EvaluatedParameterDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6aad35aa60f4888b", + "equalIndicator/v1": "950b76ce8b1e77ee9dd8d902c910c18ccea8a1bdbac05bc7ff853f178b2cf0fb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DescriptorBuilder' instance creation", + "markdown": "Object allocation: new 'DescriptorBuilder' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Api.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 23, + "charOffset": 1578, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1494, + "charLength": 133, + "snippet": { + "text": " if (obj is null) return Array.Empty();\r\n\r\n var builder = new DescriptorBuilder();\r\n\r\n switch (obj)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "db9c9e9cda80e8ec", + "equalIndicator/v1": "9559f224784896797b77b6857bfb7d19808ae8ac005613aa03d9d9337df022c5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyBinding' instance creation", + "markdown": "Object allocation: new 'KeyBinding' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 27, + "charOffset": 2949, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 2812, + "charLength": 212, + "snippet": { + "text": "\r\n InputBindings.Add(new KeyBinding(closeAllCommand, new KeyGesture(Key.Escape, ModifierKeys.Shift)));\r\n InputBindings.Add(new KeyBinding(closeCurrentCommand, new KeyGesture(Key.Escape)));\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a8d83d033131cd75", + "equalIndicator/v1": "95ad63051765ebf86e9aeb634dab8352f0a971fb79f146afd528e2ff48e18e09" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ExternalServiceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 30, + "charOffset": 1861, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1757, + "charLength": 283, + "snippet": { + "text": " {\r\n var serverIds = _service.GetRegisteredServerIds();\r\n var resolveSet = new ResolveSet(_service.NumberOfServers);\r\n foreach (var serverId in serverIds) resolveSet.AppendVariant(_service.GetServer(serverId));\r\n return resolveSet;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e2f405dce925df38", + "equalIndicator/v1": "96e6b1f0d60810f1d84ed619cadd9decdfa8c45960a056833facded74e13eb21" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'ObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/DescriptorUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 26, + "charOffset": 1292, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1196, + "charLength": 149, + "snippet": { + "text": " public static Descriptor FindSuitableDescriptor(Type type)\r\n {\r\n var descriptor = new ObjectDescriptor();\r\n\r\n if (type is null)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6b431fc924b2b5ca", + "equalIndicator/v1": "978409e0b9d16d6df6b57910da5fb10065dc42a3875c08414e0d429c6e288101" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Version' instance creation", + "markdown": "Object allocation: new 'Version' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Config/OptionsConfiguration.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 31, + "startColumn": 36, + "charOffset": 1277, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 29, + "startColumn": 1, + "charOffset": 1151, + "charLength": 345, + "snippet": { + "text": " {\r\n options.Framework = targetFrameworkAttribute.FrameworkDisplayName;\r\n options.AddinVersion = new Version(fileVersion.Major, fileVersion.Minor, fileVersion.Build);\r\n options.IsAdminInstallation = assemblyLocation.StartsWith(appDataPath) || !AccessUtils.CheckWriteAccess(assemblyLocation);\r\n });\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a69b1408a7982ce9", + "equalIndicator/v1": "979cd6a513a255e81ecfcf4b2aa244bd872d7a0ea68f59652029ead84b827e03" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RibbonItemDescriptor' instance creation", + "markdown": "Object allocation: new 'RibbonItemDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 33, + "charOffset": 8653, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 8501, + "charLength": 336, + "snippet": { + "text": " UIElement => new UiElementDescriptor(),\r\n DispatcherObject => new DependencyObjectDescriptor(),\r\n RibbonItem value => new RibbonItemDescriptor(value),\r\n RibbonPanel value => new RibbonPanelDescriptor(value),\r\n Autodesk.Windows.RibbonItem value => new RibbonItemDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7cd4a4a72279859e", + "equalIndicator/v1": "98642ea79dc017f9ff094604c4181673748eff88cf7fb8987037c15c486c5e3c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/SearchElementsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 66, + "charOffset": 2526, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2448, + "charLength": 205, + "snippet": { + "text": " }\r\n\r\n _serviceProvider.GetService().Snoop(new SnoopableObject(elements));\r\n _serviceProvider.GetService().Navigate(typeof(SnoopView));\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f29568ed29cca55c", + "equalIndicator/v1": "99f3a9d93f6363d617cd826eee40fbb61fcb490ca637a30f3796cb41f11d9f10" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RevitLinkTypeDescriptor' instance creation", + "markdown": "Object allocation: new 'RevitLinkTypeDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 87, + "startColumn": 87, + "charOffset": 5131, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 85, + "startColumn": 1, + "charOffset": 4903, + "charLength": 516, + "snippet": { + "text": " //IDisposables\r\n HostObject value when type is null || type == typeof(HostObject) => new HostObjectDescriptor(value),\r\n RevitLinkType value when type is null || type == typeof(RevitLinkType) => new RevitLinkTypeDescriptor(value),\r\n FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value),\r\n SpatialElement value when type is null || type == typeof(SpatialElement) => new SpatialElementDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b48851323d63b066", + "equalIndicator/v1": "9b28634ba18599a267af281af4ed817c9d50fa40c57a349d42c4f940b0543687" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ApiObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'ApiObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 77, + "charOffset": 8043, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 7821, + "charLength": 336, + "snippet": { + "text": " EvaluatedParameter value when type is null || type == typeof(EvaluatedParameter) => new EvaluatedParameterDescriptor(value),\r\n#endif\r\n IDisposable when type is null || type == typeof(IDisposable) => new ApiObjectDescriptor(), //Faster then obj.GetType().Namespace == \"Autodesk.Revit.DB\"\r\n\r\n //Internal\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "15215caf992ed448", + "equalIndicator/v1": "9bca8712324a173cf132746c0bd1ad56062c8a9c0a9b6c61e5f2ad7aff053dee" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Queue' instance creation", + "markdown": "Object allocation: new 'Queue' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSet.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 20, + "charOffset": 1234, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1171, + "charLength": 109, + "snippet": { + "text": " public ResolveSet(int capacity)\r\n {\r\n Variants = new Queue(capacity);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ffab1ac8e6fd0ce3", + "equalIndicator/v1": "9c14ca937082ec6f7e0a3c8599c7cb59110e98b7ba22e7152a33c95c6a841763" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Transaction' instance creation", + "markdown": "Object allocation: new 'Transaction' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/DocumentDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 31, + "charOffset": 2101, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 1998, + "charLength": 250, + "snippet": { + "text": " if (_document.IsReadOnly) return ResolveSet.Append(null);\r\n\r\n var transaction = new Transaction(_document);\r\n transaction.Start(\"Calculating plan topologies\");\r\n var topologies = _document.PlanTopologies;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a2fd751598b0bf59", + "equalIndicator/v1": "9c1f88cddfef3339d5849403eee4de19764d2239bbcb2c51cd1d51e5bab3ce08" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FilterStringEquals' instance creation", + "markdown": "Object allocation: new 'FilterStringEquals' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 85, + "startColumn": 61, + "charOffset": 3428, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 83, + "startColumn": 1, + "charOffset": 3241, + "charLength": 331, + "snippet": { + "text": " var typeGuidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_TYPE_GUID));\r\n#if R22_OR_GREATER\r\n var filterRule = new FilterStringRule(guidProvider, new FilterStringEquals(), rawId);\r\n var typeFilterRule = new FilterStringRule(typeGuidProvider, new FilterStringEquals(), rawId);\r\n#else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8ab24104690f8da8", + "equalIndicator/v1": "9dde80465723944f7dedd0520bd3aedd7c9ad66f3a920b0c4ec20972f38b49b0" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FamilyParameterDescriptor' instance creation", + "markdown": "Object allocation: new 'FamilyParameterDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 70, + "startColumn": 91, + "charOffset": 3469, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 68, + "startColumn": 1, + "charOffset": 3160, + "charLength": 557, + "snippet": { + "text": " Category value when type is null || type == typeof(Category) => new CategoryDescriptor(value),\r\n Parameter value when type is null || type == typeof(Parameter) => new ParameterDescriptor(value),\r\n FamilyParameter value when type is null || type == typeof(FamilyParameter) => new FamilyParameterDescriptor(value),\r\n Reference value when type is null || type == typeof(Reference) => new ReferenceDescriptor(value),\r\n Color value when type is null || type == typeof(Color) => new ColorDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "40d13c40396225ba", + "equalIndicator/v1": "9eb4c56b12ec860a817b597c5d9c591e3a8d21ef616eb270e6a8399adf5285fc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 95, + "startColumn": 16, + "charOffset": 3693, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 93, + "startColumn": 1, + "charOffset": 3601, + "charLength": 150, + "snippet": { + "text": " private static IReadOnlyCollection SnoopPoint()\r\n {\r\n return new[] {SelectObject(ObjectType.PointOnElement)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cfd6eb0a5e5387a8", + "equalIndicator/v1": "9f5606bc2ddd367e34a88baf50960dcfb7a648200c443d2a784725daf541fb8e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceDialog' instance creation", + "markdown": "Object allocation: new 'OpenSourceDialog' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/AboutViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 74, + "startColumn": 32, + "charOffset": 2683, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 72, + "startColumn": 1, + "charOffset": 2601, + "charLength": 172, + "snippet": { + "text": " private Task ShowSoftwareDialogAsync()\r\n {\r\n var openSourceDialog = new OpenSourceDialog(dialogService);\r\n return openSourceDialog.ShowAsync();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "552c921454c355fc", + "equalIndicator/v1": "a14f264311c5a381420b724a9db9d13b7b6b7cf4d69cb4c4ee196280d304c869" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 39, + "charOffset": 3127, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 3004, + "charLength": 164, + "snippet": { + "text": " private static IReadOnlyCollection SnoopUiApplication()\r\n {\r\n return new SnoopableObject[] {new(RevitShell.UiApplication)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d515c9ee6bd251f9", + "equalIndicator/v1": "a26f40685e3139014fbb877e21e709a85428e91d5d0d23b627471e401fa8d91b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 115, + "startColumn": 54, + "charOffset": 5154, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 113, + "startColumn": 1, + "charOffset": 5004, + "charLength": 243, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Model, medium detail level\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n DetailLevel = ViewDetailLevel.Undefined,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9880ac27632b2de5", + "equalIndicator/v1": "a6f685fd603748e92b99c6cdbead931cb285a94f6a4a81197ee48681de46c4b2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RibbonPanelDescriptor' instance creation", + "markdown": "Object allocation: new 'RibbonPanelDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 34, + "charOffset": 8720, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 8554, + "charLength": 368, + "snippet": { + "text": " DispatcherObject => new DependencyObjectDescriptor(),\r\n RibbonItem value => new RibbonItemDescriptor(value),\r\n RibbonPanel value => new RibbonPanelDescriptor(value),\r\n Autodesk.Windows.RibbonItem value => new RibbonItemDescriptor(value),\r\n Autodesk.Windows.RibbonPanel value => new RibbonPanelDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "820c6844fd9a9acd", + "equalIndicator/v1": "a73118dc56d3bf3462d64fb9322dd275cf83bae3e042b3302548a8d95b5717d8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'ObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 133, + "startColumn": 39, + "charOffset": 9115, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 131, + "startColumn": 1, + "charOffset": 9052, + "charLength": 173, + "snippet": { + "text": "\r\n //Unknown\r\n null when type is null => new ObjectDescriptor(),\r\n _ when type is null => new ObjectDescriptor(obj),\r\n _ => null\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d721f95f16e46d48", + "equalIndicator/v1": "a73cd06038b109c053154c440a1f58d961c2815ace3f00167bcb553051369ba2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 24, + "charOffset": 2193, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 2078, + "charLength": 209, + "snippet": { + "text": " {\r\n var parameters = Enum.GetValues(unitType).Cast();\r\n var list = new List();\r\n foreach (var parameter in parameters)\r\n try\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6d8bc583b5ebc101", + "equalIndicator/v1": "a766c73e80799df32831b25e109d793f3659a922dcdfcd399a6d3259ddc170fa" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 151, + "startColumn": 23, + "charOffset": 5965, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 149, + "startColumn": 1, + "charOffset": 5855, + "charLength": 167, + "snippet": { + "text": " private static IReadOnlyCollection SnoopComponentManager()\r\n {\r\n return new[] {new SnoopableObject(typeof(ComponentManager))};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bef4bb1b1074e87d", + "equalIndicator/v1": "a87d342d8af62858bf35ed75fc87cec61653e6aeafb390826f6f3f3559727d59" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'EnumeratorDescriptor' instance creation", + "markdown": "Object allocation: new 'EnumeratorDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 34, + "charOffset": 3098, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2937, + "charLength": 222, + "snippet": { + "text": " //Enumerator\r\n DefinitionBindingMapIterator value => new DefinitionBindingMapIteratorDescriptor(value),\r\n IEnumerator value => new EnumeratorDescriptor(value),\r\n\r\n //APIObjects\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "84b7e4870b87df94", + "equalIndicator/v1": "a9302da35ff267fe262f237f63e0428a6408d01f8618a41a3e8a5a4e8bc7eef6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'LinkLoadResult' instance creation", + "markdown": "Object allocation: new 'LinkLoadResult' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/RevitLinkTypeDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 63, + "charOffset": 1576, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1405, + "charLength": 243, + "snippet": { + "text": " {\r\n nameof(RevitLinkType.Load) => ResolveSet.Append(new LinkLoadResult(), \"Overridden\"),\r\n nameof(RevitLinkType.Reload) => ResolveSet.Append(new LinkLoadResult(), \"Overridden\"),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7865a481a6f31d28", + "equalIndicator/v1": "a934158a333798131fd8c341a9574a8e3d6c47fc385ef339bc0b4d1b734832b8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'AsyncRelayCommand' instance creation", + "markdown": "Object allocation: new 'AsyncRelayCommand' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 107, + "startColumn": 24, + "charOffset": 3476, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 105, + "startColumn": 1, + "charOffset": 3375, + "charLength": 163, + "snippet": { + "text": " Path = new PropertyPath(nameof(MenuItem.IsChecked))\r\n });\r\n item.Command = new AsyncRelayCommand(command);\r\n\r\n return item;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a4aefd626c5cf2c9", + "equalIndicator/v1": "a9c5793e8f604b702113e49ac7db2f0da6829e54f681f06e02c71da6a97dffc8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ContextMenu' instance creation", + "markdown": "Object allocation: new 'ContextMenu' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 27, + "charOffset": 2262, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2170, + "charLength": 154, + "snippet": { + "text": " private void CreateGridContextMenu(DataGrid dataGrid)\r\n {\r\n var contextMenu = new ContextMenu\r\n {\r\n Resources = Resources\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5742d62bfb224cf1", + "equalIndicator/v1": "a9db0bbc06b3132e9ed39b73f51884d49347cfa5184da496d579d21287e15179" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Binding' instance creation", + "markdown": "Object allocation: new 'Binding' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 87, + "startColumn": 60, + "charOffset": 2787, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 85, + "startColumn": 1, + "charOffset": 2684, + "charLength": 154, + "snippet": { + "text": " {\r\n item.IsChecked = isChecked;\r\n item.SetBinding(MenuItem.CommandParameterProperty, new Binding\r\n {\r\n Source = item,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5be0d12625bf6661", + "equalIndicator/v1": "aa0ce16dee5c643af20d09dbe1c80ce7cc9878c2f34df37cef194e8789b65808" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PropertyPath' instance creation", + "markdown": "Object allocation: new 'PropertyPath' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 20, + "charOffset": 2914, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 2811, + "charLength": 218, + "snippet": { + "text": " Source = item,\r\n Converter = new InverseBooleanConverter(),\r\n Path = new PropertyPath(nameof(MenuItem.IsChecked))\r\n });\r\n item.Command = new RelayCommand(command);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3b9c126285fd90de", + "equalIndicator/v1": "aa6d53e587ec29e9c99f5e5b7c2937edc3fbdaa731634893a6daa41519290e64" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DescriptorBuilder' instance creation", + "markdown": "Object allocation: new 'DescriptorBuilder' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Api.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 23, + "charOffset": 1225, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 1128, + "charLength": 156, + "snippet": { + "text": " public static IReadOnlyCollection Build(Type type)\r\n {\r\n var builder = new DescriptorBuilder\r\n {\r\n _obj = null,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c22039922f770a53", + "equalIndicator/v1": "abed5d91b88951e19b124550ba4e92c489f86b8b855ad7b9ae9fc8686598de2e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 34, + "charOffset": 3229, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 3148, + "charLength": 218, + "snippet": { + "text": " ResolveSet ResolveGetRoom()\r\n {\r\n var resolveSummary = new ResolveSet(familyInstance.Document.Phases.Size);\r\n foreach (Phase phase in familyInstance.Document.Phases)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a1f3c936425fd71e", + "equalIndicator/v1": "ac18f49864bbf4f382b62cfd8ee83f29ad73d033f340d11f71f95d1bc3ad7ce4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SearchResults' instance creation", + "markdown": "Object allocation: new 'SearchResults' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 28, + "charOffset": 2685, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 2527, + "charLength": 251, + "snippet": { + "text": " //Add data of the selected object if no others are found\r\n if (objectsCount > 0 && dataCount == 0)\r\n return new SearchResults\r\n {\r\n Objects = filteredObjects,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "18213dfa70d5332e", + "equalIndicator/v1": "acc6da01818cecc6ff237f5cce78d185314053e085183e219f5cfb541f71edf4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'EventMonitor' instance creation", + "markdown": "Object allocation: new 'EventMonitor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/EventsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 25, + "charOffset": 1543, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1378, + "charLength": 209, + "snippet": { + "text": " public EventsViewModel(NotificationService notificationService, IServiceProvider provider) : base(notificationService, provider)\r\n {\r\n _eventMonitor = new EventMonitor(OnHandlingEvent);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "15a6e957c5abb38c", + "equalIndicator/v1": "b0cb307df029e19144aaedcf439d02e0181157f1a81cbaffc99a08455450b6ca" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DefinitionGroupDescriptor' instance creation", + "markdown": "Object allocation: new 'DefinitionGroupDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 80, + "startColumn": 91, + "charOffset": 4525, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 78, + "startColumn": 1, + "charOffset": 4204, + "charLength": 596, + "snippet": { + "text": " PaperSize value when type is null || type == typeof(PaperSize) => new PaperSizeDescriptor(value),\r\n PrintManager value when type is null || type == typeof(PrintManager) => new PrintManagerDescriptor(value),\r\n DefinitionGroup value when type is null || type == typeof(DefinitionGroup) => new DefinitionGroupDescriptor(value),\r\n FamilyManager value when type is null || type == typeof(FamilyManager) => new FamilyManagerDescriptor(value),\r\n MEPSection value when type is null || type == typeof(MEPSection) => new MepSectionDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "54c03ecd62f87d80", + "equalIndicator/v1": "b55a039bf1a3ed865e1301e24875efc9b91a4f518ee316f43d8bee47182e4d12" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RelayCommand' instance creation", + "markdown": "Object allocation: new 'RelayCommand' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 24, + "charOffset": 2144, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 2039, + "charLength": 156, + "snippet": { + "text": " public static MenuItem SetCommand(this MenuItem item, Action command)\r\n {\r\n item.Command = new RelayCommand(command);\r\n\r\n return item;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4923f7dab95188ac", + "equalIndicator/v1": "b5c64442300941e697ff075b41f76fbb86d054d9f4307b76d0dd0ee36cdc5a4e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RibbonTabDescriptor' instance creation", + "markdown": "Object allocation: new 'RibbonTabDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 129, + "startColumn": 32, + "charOffset": 8954, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 127, + "startColumn": 1, + "charOffset": 8755, + "charLength": 298, + "snippet": { + "text": " Autodesk.Windows.RibbonItem value => new RibbonItemDescriptor(value),\r\n Autodesk.Windows.RibbonPanel value => new RibbonPanelDescriptor(value),\r\n RibbonTab value => new RibbonTabDescriptor(value),\r\n INotifyPropertyChanged => new UiObjectDescriptor(),\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "487a3fd05c1cd28c", + "equalIndicator/v1": "b8678bc8997480fc953ae0f227000d83039250fa59cf87a413969d7c75157bdb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PerformanceAdviserDescriptor' instance creation", + "markdown": "Object allocation: new 'PerformanceAdviserDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 102, + "startColumn": 97, + "charOffset": 6882, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 100, + "startColumn": 1, + "charOffset": 6530, + "charLength": 675, + "snippet": { + "text": " ExternalService value when type is null || type == typeof(ExternalService) => new ExternalServiceDescriptor(value),\r\n RevitApplication value when type is null || type == typeof(RevitApplication) => new ApplicationDescriptor(value),\r\n PerformanceAdviser value when type is null || type == typeof(PerformanceAdviser) => new PerformanceAdviserDescriptor(value),\r\n SchedulableField value when type is null || type == typeof(SchedulableField) => new SchedulableFieldDescriptor(value),\r\n CompoundStructureLayer value when type is null || type == typeof(CompoundStructureLayer) => new CompoundStructureLayerDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "76109e2b78f754d6", + "equalIndicator/v1": "ba2fb968afddb520efd63f137ba3d01de3990ab6dd18739f7003416c98dd470a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'WorksetDescriptor' instance creation", + "markdown": "Object allocation: new 'WorksetDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 75, + "charOffset": 7280, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 6924, + "charLength": 624, + "snippet": { + "text": " SchedulableField value when type is null || type == typeof(SchedulableField) => new SchedulableFieldDescriptor(value),\r\n CompoundStructureLayer value when type is null || type == typeof(CompoundStructureLayer) => new CompoundStructureLayerDescriptor(value),\r\n Workset value when type is null || type == typeof(Workset) => new WorksetDescriptor(value),\r\n WorksetTable when type is null || type == typeof(WorksetTable) => new WorksetTableDescriptor(),\r\n BoundarySegment value when type is null || type == typeof(BoundarySegment) => new BoundarySegmentDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3559e769b95eb32c", + "equalIndicator/v1": "bb04aa2436519296b90302e424f6f24facb14d5cd71c4aa4eccd63234f9f7c01" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 16, + "charOffset": 2783, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2688, + "charLength": 154, + "snippet": { + "text": " private static IReadOnlyCollection SnoopDocument()\r\n {\r\n return new SnoopableObject[] {new(RevitShell.Document)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "848b9e4f604f2d3f", + "equalIndicator/v1": "bc1043d7e97ea1614d5b2b81e82482ac612e81201d1c1c527d4fa772373d0470" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RelayCommand' instance creation", + "markdown": "Object allocation: new 'RelayCommand' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 35, + "charOffset": 2507, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 2433, + "charLength": 164, + "snippet": { + "text": " private void AddShortcuts()\r\n {\r\n var closeCurrentCommand = new RelayCommand(Close);\r\n var closeAllCommand = new RelayCommand(() =>\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "16b39de3ab3f12d3", + "equalIndicator/v1": "bc1fa84cd2042709b8dfa102466019508018b186bc3b7225c340d45f385aa0a3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 138, + "startColumn": 54, + "charOffset": 6375, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 136, + "startColumn": 1, + "charOffset": 6194, + "charLength": 274, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Model, medium detail level, including non-visible objects\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n DetailLevel = ViewDetailLevel.Undefined,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "93fa2cbeaf9c498f", + "equalIndicator/v1": "bc22b71e90751ed4b192ea5cc1a7b3924f79241352a4357f3d78fba3e601b86d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'GuidEnumDescriptor' instance creation", + "markdown": "Object allocation: new 'GuidEnumDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 77, + "charOffset": 2789, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 2582, + "charLength": 354, + "snippet": { + "text": " //Root\r\n ElementId value when type is null || type == typeof(ElementId) => new ElementIdDescriptor(value),\r\n GuidEnum value when type is null || type == typeof(GuidEnum) => new GuidEnumDescriptor(value),\r\n Definition value when type is null || type == typeof(Definition) => new DefinitionDescriptor(value),\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "628a25c4bb42ba81", + "equalIndicator/v1": "bc3471ad447036dad043ca59321a22af8738804e78b56681ec105e50eb6e4461" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation", + "markdown": "Object allocation: new 'SpatialElementBoundaryOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 67, + "charOffset": 2905, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 2725, + "charLength": 326, + "snippet": { + "text": " StoreFreeBoundaryFaces = true\r\n }), \"Core center, store free boundary faces\")\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r\n SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Center,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b295768aef5e31a5", + "equalIndicator/v1": "bc3901b4a4aba514f8608695dab526c760032ea9a1f1e7503aeb99a95b970949" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation", + "markdown": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/SearchElementsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 29, + "charOffset": 1718, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1648, + "charLength": 158, + "snippet": { + "text": " public async Task ShowAsync()\r\n {\r\n var dialogOptions = new SimpleContentDialogCreateOptions\r\n {\r\n Title = \"Search elements\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "53f03eee422ba4b2", + "equalIndicator/v1": "bc91a7c677fc29b44ee9743ebea7de569cd548f4d3d1c7fc95288b84f731edc4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'AsyncEventHandler>' instance creation", + "markdown": "Object allocation: new 'AsyncEventHandler\\>' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Application.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 34, + "charOffset": 2422, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2326, + "charLength": 261, + "snippet": { + "text": " {\r\n ActionEventHandler = new ActionEventHandler();\r\n ExternalElementHandler = new AsyncEventHandler>();\r\n ExternalDescriptorHandler = new AsyncEventHandler>();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "acbcc300309667d0", + "equalIndicator/v1": "bccf59b6c9f99102370654c8ad9a4b0768b628c34768969af3716d016ab56cbf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SymbolIcon' instance creation", + "markdown": "Object allocation: new 'SymbolIcon' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 102, + "startColumn": 13, + "charOffset": 3288, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 100, + "startColumn": 1, + "charOffset": 3215, + "charLength": 175, + "snippet": { + "text": " message,\r\n ControlAppearance.Danger,\r\n new SymbolIcon(SymbolRegular.ErrorCircle24, 24),\r\n snackbarService.DefaultTimeOut);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2dcfd32878ead366", + "equalIndicator/v1": "bce44d2fb7681589809ff788e4f39efef66f0c1551ff4f1bd8af75ea58ec6502" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RibbonItemDescriptor' instance creation", + "markdown": "Object allocation: new 'RibbonItemDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 127, + "startColumn": 50, + "charOffset": 8804, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 125, + "startColumn": 1, + "charOffset": 8621, + "charLength": 365, + "snippet": { + "text": " RibbonItem value => new RibbonItemDescriptor(value),\r\n RibbonPanel value => new RibbonPanelDescriptor(value),\r\n Autodesk.Windows.RibbonItem value => new RibbonItemDescriptor(value),\r\n Autodesk.Windows.RibbonPanel value => new RibbonPanelDescriptor(value),\r\n RibbonTab value => new RibbonTabDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "02a2387e470a784e", + "equalIndicator/v1": "c20b8570543daac84cd6f034fc5c37ebb989f0ab0dbd4f42dcef7531ad06b8c3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation", + "markdown": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 29, + "charOffset": 1993, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 1871, + "charLength": 213, + "snippet": { + "text": " {\r\n _viewModel.Units = await Task.Run(RevitShell.GetUnitInfos);\r\n var dialogOptions = new SimpleContentDialogCreateOptions\r\n {\r\n Title = \"BuiltIn Parameters\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aaf2e12e1464ef45", + "equalIndicator/v1": "c2388a7410b8096cc27fb9d3ea6b3662d87ac25932a32ac7d25f7afdfe3cb0ad" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FilterStringRule' instance creation", + "markdown": "Object allocation: new 'FilterStringRule' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 86, + "startColumn": 30, + "charOffset": 3492, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 84, + "startColumn": 1, + "charOffset": 3348, + "charLength": 325, + "snippet": { + "text": "#if R22_OR_GREATER\r\n var filterRule = new FilterStringRule(guidProvider, new FilterStringEquals(), rawId);\r\n var typeFilterRule = new FilterStringRule(typeGuidProvider, new FilterStringEquals(), rawId);\r\n#else\r\n var filterRule = new FilterStringRule(guidProvider, new FilterStringEquals(), rawId, true);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aaafdab213956563", + "equalIndicator/v1": "c27225cdd663631b2e05eafde16d703a8184272e4326620163d74419db91f569" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'InverseBooleanConverter' instance creation", + "markdown": "Object allocation: new 'InverseBooleanConverter' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 104, + "startColumn": 25, + "charOffset": 3343, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 102, + "startColumn": 1, + "charOffset": 3280, + "charLength": 172, + "snippet": { + "text": " {\r\n Source = item,\r\n Converter = new InverseBooleanConverter(),\r\n Path = new PropertyPath(nameof(MenuItem.IsChecked))\r\n });\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "42d0c036d6ebcd97", + "equalIndicator/v1": "c2ec781c08d6a0bed73b0ba586591055fd7b6763e2fd3d74e47b4a9e71b9402e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ContextMenu' instance creation", + "markdown": "Object allocation: new 'ContextMenu' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 140, + "startColumn": 27, + "charOffset": 5411, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 138, + "startColumn": 1, + "charOffset": 5290, + "charLength": 183, + "snippet": { + "text": " private void CreateGridRowContextMenu(Descriptor descriptor, FrameworkElement row)\r\n {\r\n var contextMenu = new ContextMenu\r\n {\r\n Resources = Resources\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d2d48e798d6b9c95", + "equalIndicator/v1": "c3b1483e80403bc48af036efd9c98bc4c01ab33cfd91a8bded3bc92ddeb83558" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FileStream' instance creation", + "markdown": "Object allocation: new 'FileStream' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SoftwareUpdateService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 177, + "startColumn": 36, + "charOffset": 7184, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 175, + "startColumn": 1, + "charOffset": 7057, + "charLength": 231, + "snippet": { + "text": " await using var fileStream = new FileStream(fileName, FileMode.Create);\r\n#else\r\n using var fileStream = new FileStream(fileName, FileMode.Create);\r\n#endif\r\n await response.CopyToAsync(fileStream);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b376b3d3047124b8", + "equalIndicator/v1": "c3ffc7ecd3c518357a38360967132ed85201fd7351a7019030337abd471b0415" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 53, + "charOffset": 1490, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1397, + "charLength": 324, + "snippet": { + "text": " return target switch\r\n {\r\n nameof(FamilyInstance.GetReferences) => new ResolveSet(11)\r\n .AppendVariant(familyInstance.GetReferences(FamilyInstanceReferenceType.Back), \"Back\")\r\n .AppendVariant(familyInstance.GetReferences(FamilyInstanceReferenceType.Bottom), \"Bottom\")\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1446b81e2b8927bb", + "equalIndicator/v1": "c402670abbd53de0b75a5e272f2797342d62fbf35492ee06c5b720f546d43577" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 39, + "charOffset": 2806, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2688, + "charLength": 154, + "snippet": { + "text": " private static IReadOnlyCollection SnoopDocument()\r\n {\r\n return new SnoopableObject[] {new(RevitShell.Document)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "100938482b2f2932", + "equalIndicator/v1": "c472b93ff5c7b592973c6bd9166139eb33d098d25d8830180eb09cbf639bed5b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 71, + "startColumn": 34, + "charOffset": 2798, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 69, + "startColumn": 1, + "charOffset": 2696, + "charLength": 195, + "snippet": { + "text": " {\r\n var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f8fe4a12dfb7ae7", + "equalIndicator/v1": "c48ceac53ba50a8df08463e6a43f7414d87a808de57d599751b523adee192e25" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'ObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Write.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 26, + "charOffset": 2454, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 2327, + "charLength": 188, + "snippet": { + "text": " private void WriteDescriptor(MemberInfo member, object value, ParameterInfo[] parameters)\r\n {\r\n var descriptor = new ObjectDescriptor\r\n {\r\n Depth = _depth,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d174e0e60d44a5f7", + "equalIndicator/v1": "c5c766beadf325e952cd69307d85a130cc81aba3fcb7023b2e5cd0debf7ebb5a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RelayCommand' instance creation", + "markdown": "Object allocation: new 'RelayCommand' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 24, + "charOffset": 2523, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 2449, + "charLength": 128, + "snippet": { + "text": " {\r\n item.CommandParameter = parameter;\r\n item.Command = new RelayCommand(command);\r\n\r\n return item;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "64b11426eaa3548a", + "equalIndicator/v1": "c6225a91f99982bc5f85ac994321d4b359e5bc2ff34b86b8907b8c6ca9a0451b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyGesture' instance creation", + "markdown": "Object allocation: new 'KeyGesture' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 59, + "charOffset": 2872, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 2799, + "charLength": 223, + "snippet": { + "text": " });\r\n\r\n InputBindings.Add(new KeyBinding(closeAllCommand, new KeyGesture(Key.Escape, ModifierKeys.Shift)));\r\n InputBindings.Add(new KeyBinding(closeCurrentCommand, new KeyGesture(Key.Escape)));\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "11731a7e2c27e0da", + "equalIndicator/v1": "c6241fe2a52fc2ae7114a33f66cc0311c0187ccff4721665b3a2364b11e26fd0" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Settings' instance creation", + "markdown": "Object allocation: new 'Settings' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SettingsService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 204, + "startColumn": 16, + "charOffset": 6995, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 202, + "startColumn": 1, + "charOffset": 6959, + "charLength": 61, + "snippet": { + "text": " }\r\n \r\n return new Settings();\r\n }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2fbc1666ae3162f0", + "equalIndicator/v1": "c83f93e5425183b996e44d15b3ec348914af4cfa439da9e1d439b2a9228a7892" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/HostObjectDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 32, + "charOffset": 1948, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1839, + "charLength": 326, + "snippet": { + "text": " {\r\n extension.Name = nameof(HostExtensions.GetSideFaces);\r\n extension.Result = new ResolveSet(2)\r\n .AppendVariant(extension.Value.GetSideFaces(ShellLayerType.Interior), \"Interior\")\r\n .AppendVariant(extension.Value.GetSideFaces(ShellLayerType.Exterior), \"Exterior\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "54015cb96a9112f3", + "equalIndicator/v1": "c8c18984f4b9a63b43dc5e9d694c547641827da87530e608bce06567034734ed" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation", + "markdown": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 67, + "startColumn": 29, + "charOffset": 2501, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 65, + "startColumn": 1, + "charOffset": 2380, + "charLength": 212, + "snippet": { + "text": " {\r\n _viewModel.Units = await Task.Run(RevitShell.GetUnitInfos);\r\n var dialogOptions = new SimpleContentDialogCreateOptions\r\n {\r\n Title = \"BuiltIn Categories\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3da02deb8e63c3c0", + "equalIndicator/v1": "c989fd2808aac6ded6f3cd85ce77faa18b614722af144e82b1d6593444b0591a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DocumentDescriptor' instance creation", + "markdown": "Object allocation: new 'DocumentDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 92, + "startColumn": 77, + "charOffset": 5712, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 90, + "startColumn": 1, + "charOffset": 5420, + "charLength": 563, + "snippet": { + "text": " MEPSystem value when type is null || type == typeof(MEPSystem) => new MepSystemDescriptor(value),\r\n Element value when type is null || type == typeof(Element) => new ElementDescriptor(value),\r\n Document value when type is null || type == typeof(Document) => new DocumentDescriptor(value),\r\n PlanViewRange value when type is null || type == typeof(PlanViewRange) => new PlanViewRangeDescriptor(value),\r\n ForgeTypeId value when type is null || type == typeof(ForgeTypeId) => new ForgeTypeIdDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "06b79a8d0492cba7", + "equalIndicator/v1": "c9c3cdaae4cb1e11d8190f7039db004f33aec6254db58a9540b5b0ba1f9cf77e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementDescriptor' instance creation", + "markdown": "Object allocation: new 'ElementDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 91, + "startColumn": 75, + "charOffset": 5605, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 89, + "startColumn": 1, + "charOffset": 5294, + "charLength": 572, + "snippet": { + "text": " SpatialElement value when type is null || type == typeof(SpatialElement) => new SpatialElementDescriptor(value),\r\n MEPSystem value when type is null || type == typeof(MEPSystem) => new MepSystemDescriptor(value),\r\n Element value when type is null || type == typeof(Element) => new ElementDescriptor(value),\r\n Document value when type is null || type == typeof(Document) => new DocumentDescriptor(value),\r\n PlanViewRange value when type is null || type == typeof(PlanViewRange) => new PlanViewRangeDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "09529c5e2f35630c", + "equalIndicator/v1": "ca0587db835cdd44754f1224d72b404b9930c08f26f0c05c7438809a41330a06" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSummary' instance creation", + "markdown": "Object allocation: new 'ResolveSummary' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSet.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 53, + "startColumn": 26, + "charOffset": 1802, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 51, + "startColumn": 1, + "charOffset": 1675, + "charLength": 186, + "snippet": { + "text": " if (result is null) return this;\r\n if (result is ICollection {Count: 0}) return this;\r\n Variants.Enqueue(new ResolveSummary\r\n {\r\n Result = result\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6d51be80ac78f023", + "equalIndicator/v1": "caf4451e42486c5b882c8bac158ffbcf9091a40f49fd5ee8516ea983d37ec9ad" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 34, + "charOffset": 2210, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 2113, + "charLength": 186, + "snippet": { + "text": " {\r\n var capacity = mepSystem.SectionsCount;\r\n var resolveSummary = new ResolveSet(capacity);\r\n for (var i = 0; i < capacity; i++)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0f6364c59713ac8c", + "equalIndicator/v1": "cb4d409febd382489322ae8ca3b532567fc875545ea542afa54d58726c6e4310" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'HostObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'HostObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 86, + "startColumn": 81, + "charOffset": 5011, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 84, + "startColumn": 1, + "charOffset": 4901, + "charLength": 392, + "snippet": { + "text": "\r\n //IDisposables\r\n HostObject value when type is null || type == typeof(HostObject) => new HostObjectDescriptor(value),\r\n RevitLinkType value when type is null || type == typeof(RevitLinkType) => new RevitLinkTypeDescriptor(value),\r\n FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d44f2f2665474934", + "equalIndicator/v1": "cc2de993b674ba1099d947412ebc1f05cf924c310a8e13f534e34fe27dc159e1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UnitsDialog' instance creation", + "markdown": "Object allocation: new 'UnitsDialog' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/DashboardViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 132, + "startColumn": 35, + "charOffset": 5630, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 130, + "startColumn": 1, + "charOffset": 5553, + "charLength": 202, + "snippet": { + "text": " {\r\n case \"parameters\":\r\n var unitsDialog = new UnitsDialog(serviceProvider);\r\n return unitsDialog.ShowParametersAsync();\r\n case \"categories\":\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c2cb5e255eb97e18", + "equalIndicator/v1": "cc440bdedcb0be64451ede6ae6efd77ab6ebe91cdfc2115145c3b103c2e39526" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SolidDescriptor' instance creation", + "markdown": "Object allocation: new 'SolidDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 75, + "startColumn": 71, + "charOffset": 3983, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 73, + "startColumn": 1, + "charOffset": 3718, + "charLength": 485, + "snippet": { + "text": " Curve value when type is null || type == typeof(Curve) => new CurveDescriptor(value),\r\n Edge value when type is null || type == typeof(Edge) => new EdgeDescriptor(value),\r\n Solid value when type is null || type == typeof(Solid) => new SolidDescriptor(value),\r\n Face value when type is null || type == typeof(Face) => new FaceDescriptor(value),\r\n City value when type is null || type == typeof(City) => new CityDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f0d9f5526b0b0d2", + "equalIndicator/v1": "ccdd4d293d60fa551831326591a76951146452b03b406428e030b3a1dab28fa1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 84, + "startColumn": 34, + "charOffset": 3431, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 82, + "startColumn": 1, + "charOffset": 3349, + "charLength": 221, + "snippet": { + "text": " ResolveSet ResolveEvaluate()\r\n {\r\n var resolveSummary = new ResolveSet(3);\r\n var endParameter0 = _curve.GetEndParameter(0);\r\n var endParameter1 = _curve.GetEndParameter(1);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bae1ee310540f670", + "equalIndicator/v1": "cd5cfbc3c4be8e24c05dac7d4cb184b1515811f0f66b02ffb510f2629506adab" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 34, + "charOffset": 1988, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1904, + "charLength": 180, + "snippet": { + "text": " ResolveSet ResolveGetByField()\r\n {\r\n var resolveSummary = new ResolveSet();\r\n foreach (var field in entity.Schema.ListFields())\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90ff61bbb2f727a9", + "equalIndicator/v1": "ce0cc9687cafada9d78076ce0506bf16e6c0a267a9d6b28a45b1cad40606cbba" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DependencyObjectDescriptor' instance creation", + "markdown": "Object allocation: new 'DependencyObjectDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 124, + "startColumn": 33, + "charOffset": 8586, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 122, + "startColumn": 1, + "charOffset": 8469, + "charLength": 285, + "snippet": { + "text": " //ComponentManager\r\n UIElement => new UiElementDescriptor(),\r\n DispatcherObject => new DependencyObjectDescriptor(),\r\n RibbonItem value => new RibbonItemDescriptor(value),\r\n RibbonPanel value => new RibbonPanelDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ba8d5231ea0f1dfe", + "equalIndicator/v1": "cf8f406d7d145a6c8ab61a0f64c9f34bd1e2a1fc7bb7f7942847bbd513bc044c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'EvaluatedParameterDescriptor' instance creation", + "markdown": "Object allocation: new 'EvaluatedParameterDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 111, + "startColumn": 97, + "charOffset": 7917, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 109, + "startColumn": 1, + "charOffset": 7678, + "charLength": 453, + "snippet": { + "text": " AssetProperty value when type is null || type == typeof(AssetProperty) => new AssetPropertyDescriptor(value),\r\n#if R24_OR_GREATER\r\n EvaluatedParameter value when type is null || type == typeof(EvaluatedParameter) => new EvaluatedParameterDescriptor(value),\r\n#endif\r\n IDisposable when type is null || type == typeof(IDisposable) => new ApiObjectDescriptor(), //Faster then obj.GetType().Namespace == \"Autodesk.Revit.DB\"\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7b1fd8cbbf068c89", + "equalIndicator/v1": "d072c08ec67821e5de74511b1c234a3198920eb63d80a7ea340372ff350ca495" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSet.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 41, + "startColumn": 16, + "charOffset": 1409, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 39, + "startColumn": 1, + "charOffset": 1335, + "charLength": 123, + "snippet": { + "text": " public static ResolveSet Append(object result)\r\n {\r\n return new ResolveSet().AppendVariant(result);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aa185a99e30114ef", + "equalIndicator/v1": "d083d052e6168091124ddb05a1a85663d9dd472255d962d228f682c0a244b8b2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 40, + "charOffset": 5004, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 4860, + "charLength": 300, + "snippet": { + "text": " private static List Search(string query, IEnumerable data)\r\n {\r\n var filteredSnoopableObjects = new List();\r\n foreach (var item in data)\r\n if (item.Descriptor.Name.Contains(query, StringComparison.OrdinalIgnoreCase))\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2f1a27e5e59f63ea", + "equalIndicator/v1": "d0f94c8463bfa6aaa7a78de47e59c79c28f146df73cd7766dcb57ecdef383ecc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 145, + "startColumn": 32, + "charOffset": 5791, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 143, + "startColumn": 1, + "charOffset": 5650, + "charLength": 202, + "snippet": { + "text": " return RevitShell.Document.GetElements()\r\n .WherePasses(new ElementIdSetFilter(elements))\r\n .Select(element => new SnoopableObject(element))\r\n .ToList();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "73c25846c625eb4f", + "equalIndicator/v1": "d224dccd4cabbd8630e5c52b9d192eff3355ba0ac59c99fb2e5f571bf80b20bf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 90, + "startColumn": 16, + "charOffset": 3546, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 88, + "startColumn": 1, + "charOffset": 3449, + "charLength": 151, + "snippet": { + "text": " private static IReadOnlyCollection SnoopSubElement()\r\n {\r\n return new[] {SelectObject(ObjectType.Subelement)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "370987b9af608d00", + "equalIndicator/v1": "d26d648f005e97f6fa8e9ad34147078327ac9dbb86cfe52e087dfb85d66ceebf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Uri' instance creation", + "markdown": "Object allocation: new 'Uri' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Markup/MenusDictionary.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 18, + "charOffset": 1639, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1585, + "charLength": 106, + "snippet": { + "text": " public MenusDictionary()\r\n {\r\n Source = new Uri(DictionaryUri, UriKind.Absolute);\r\n }\r\n}\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d1e5d1c4f29d59b2", + "equalIndicator/v1": "d2cdbec228864d9858e281b604c3a18c448a4b20e8d33685d8e48fe54b725a14" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSetDescriptor' instance creation", + "markdown": "Object allocation: new 'ResolveSetDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 116, + "startColumn": 33, + "charOffset": 8190, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 114, + "startColumn": 1, + "charOffset": 8132, + "charLength": 167, + "snippet": { + "text": "\r\n //Internal\r\n ResolveSet value => new ResolveSetDescriptor(value),\r\n ResolveSummary value => new ResolveSummaryDescriptor(value),\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "373d38f9ccb81355", + "equalIndicator/v1": "d544e959236fb1893d77b1af884144bfa586be6e3e5697e150d7876a45994228" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FamilyInstanceDescriptor' instance creation", + "markdown": "Object allocation: new 'FamilyInstanceDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 88, + "startColumn": 89, + "charOffset": 5256, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 86, + "startColumn": 1, + "charOffset": 4931, + "charLength": 599, + "snippet": { + "text": " HostObject value when type is null || type == typeof(HostObject) => new HostObjectDescriptor(value),\r\n RevitLinkType value when type is null || type == typeof(RevitLinkType) => new RevitLinkTypeDescriptor(value),\r\n FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value),\r\n SpatialElement value when type is null || type == typeof(SpatialElement) => new SpatialElementDescriptor(value),\r\n MEPSystem value when type is null || type == typeof(MEPSystem) => new MepSystemDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "80f51c732198e900", + "equalIndicator/v1": "d628faa59e751fe901fc6ca1b51118d3c914d34b58e99337c27ca4fa922d4bf8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ColorMediaDescriptor' instance creation", + "markdown": "Object allocation: new 'ColorMediaDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 120, + "startColumn": 113, + "charOffset": 8433, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 118, + "startColumn": 1, + "charOffset": 8298, + "charLength": 202, + "snippet": { + "text": "\r\n //Media\r\n System.Windows.Media.Color value when type is null || type == typeof(System.Windows.Media.Color) => new ColorMediaDescriptor(value),\r\n\r\n //ComponentManager\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e9ca3cbc981d7411", + "equalIndicator/v1": "d695e70ab17504f56e499fb9ff21fef2ec7692daa975669771e5622374bfe8e1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ContextMenu' instance creation", + "markdown": "Object allocation: new 'ContextMenu' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 27, + "charOffset": 1482, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1364, + "charLength": 180, + "snippet": { + "text": " private void CreateTreeContextMenu(Descriptor descriptor, FrameworkElement row)\r\n {\r\n var contextMenu = new ContextMenu\r\n {\r\n Resources = Resources\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d83b8242559f4ff4", + "equalIndicator/v1": "d6e35ab56749aa6bf0aa0e1d212785087ecaca3b4c7c3b9242988e5f01a2ac33" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RvtRibbonPanel' instance creation", + "markdown": "Object allocation: new 'RvtRibbonPanel' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 57, + "startColumn": 21, + "charOffset": 2603, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 55, + "startColumn": 1, + "charOffset": 2495, + "charLength": 182, + "snippet": { + "text": " public static RibbonPanel CreatePanel(this RibbonTab tab, string panelName)\r\n {\r\n var panel = new RvtRibbonPanel\r\n {\r\n Source = new RibbonPanelSource\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "791b5315df452d0d", + "equalIndicator/v1": "d835ee6de3ab419f6c78a7876d1105b229acafd82312f6c98cbe39749f7fa7ce" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'HostApplicationBuilder' instance creation", + "markdown": "Object allocation: new 'HostApplicationBuilder' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Host.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 23, + "startColumn": 23, + "charOffset": 566, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 21, + "startColumn": 1, + "charOffset": 505, + "charLength": 231, + "snippet": { + "text": " public static void Start()\r\n {\r\n var builder = new HostApplicationBuilder(new HostApplicationBuilderSettings\r\n {\r\n ContentRootPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly()!.Location),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3da64705dde93d89", + "equalIndicator/v1": "d8b450d35bc4ba6a03a0cc48d6c3adc98068417d0d050ea2fccfa771c01246ca" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'MepSectionDescriptor' instance creation", + "markdown": "Object allocation: new 'MepSectionDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 82, + "startColumn": 81, + "charOffset": 4767, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 80, + "startColumn": 1, + "charOffset": 4435, + "charLength": 467, + "snippet": { + "text": " DefinitionGroup value when type is null || type == typeof(DefinitionGroup) => new DefinitionGroupDescriptor(value),\r\n FamilyManager value when type is null || type == typeof(FamilyManager) => new FamilyManagerDescriptor(value),\r\n MEPSection value when type is null || type == typeof(MEPSection) => new MepSectionDescriptor(value),\r\n APIObject when type is null || type == typeof(APIObject) => new ApiObjectDescriptor(),\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7faa3b48eee6a947", + "equalIndicator/v1": "d8fdee42998b2dbd63d7d81f12d6b7c894a0bf57175bce2cbe1118c0c080ad2f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UnitsViewModel' instance creation", + "markdown": "Object allocation: new 'UnitsViewModel' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 22, + "charOffset": 1727, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1654, + "charLength": 162, + "snippet": { + "text": " {\r\n _serviceProvider = serviceProvider;\r\n _viewModel = new UnitsViewModel();\r\n DataContext = _viewModel;\r\n InitializeComponent();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3aa7ce5a66a55de9", + "equalIndicator/v1": "d916c2f781eb9241715908afdd8fb9391a2753ffd22a668a7429065cde864cf6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 54, + "charOffset": 4435, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 4269, + "charLength": 256, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Active view, including non-visible objects\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n DetailLevel = ViewDetailLevel.Coarse,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "63e65152c8abf3aa", + "equalIndicator/v1": "d9966e27159da9bed734e8df3e1d59ae35666aaab251b4de075dae5c36a21ff1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceSoftware' instance creation", + "markdown": "Object allocation: new 'OpenSourceSoftware' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/OpenSourceViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 9, + "charOffset": 2451, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 2337, + "charLength": 334, + "snippet": { + "text": " .AddLicense(\"MIT License\", \"https://github.com/Nice3point/RevitApi/blob/main/License.md\"),\r\n\r\n new OpenSourceSoftware()\r\n .AddSoftware(\"Microsoft.Extensions.Hosting\", \"https://github.com/dotnet/runtime\")\r\n .AddLicense(\"MIT License\", \"https://github.com/dotnet/runtime/blob/main/LICENSE.TXT\"),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eb413bc721ce15a8", + "equalIndicator/v1": "db2ef4a3852dc92104b5bdf91a1eb99acd4bcc24fc14d8cabf14dcf5b4e339e7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 156, + "startColumn": 34, + "charOffset": 7207, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 154, + "startColumn": 1, + "charOffset": 7096, + "charLength": 194, + "snippet": { + "text": "\r\n var capacity = geometryMaterials.Count + paintMaterials.Count;\r\n var resolveSummary = new ResolveSet(capacity);\r\n if (capacity == 0) return resolveSummary;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a9810a28084454d2", + "equalIndicator/v1": "db35baae34e17837962e771c3fb97b02b7812ccd1682654615c8da2566f4c232" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ToolTip' instance creation", + "markdown": "Object allocation: new 'ToolTip' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ToolTips.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 23, + "charOffset": 1395, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1285, + "charLength": 176, + "snippet": { + "text": " private void CreateTreeTooltip(Descriptor descriptor, FrameworkElement row)\r\n {\r\n row.ToolTip = new ToolTip\r\n {\r\n Content = new StringBuilder()\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0f06bae24b7c8569", + "equalIndicator/v1": "dc0d636f49bbbcddb40e13b85820ed3cfdba8d460ad229de52b5563884e591c5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 39, + "charOffset": 2649, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 2535, + "charLength": 152, + "snippet": { + "text": " private static IReadOnlyCollection SnoopView()\r\n {\r\n return new SnoopableObject[] {new(RevitShell.ActiveView)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "035b4cb67d852929", + "equalIndicator/v1": "dc2c5dd924eec104068d972885a71993d943ae41893bc7c421f7889689d1fcbb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FieldDescriptor' instance creation", + "markdown": "Object allocation: new 'FieldDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 96, + "startColumn": 71, + "charOffset": 6156, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 94, + "startColumn": 1, + "charOffset": 5867, + "charLength": 545, + "snippet": { + "text": " ForgeTypeId value when type is null || type == typeof(ForgeTypeId) => new ForgeTypeIdDescriptor(value),\r\n Entity value when type is null || type == typeof(Entity) => new EntityDescriptor(value),\r\n Field value when type is null || type == typeof(Field) => new FieldDescriptor(value),\r\n Schema value when type is null || type == typeof(Schema) => new SchemaDescriptor(value),\r\n FailureMessage value when type is null || type == typeof(FailureMessage) => new FailureMessageDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "baf1a153d6cd01d0", + "equalIndicator/v1": "dd998a98d650fea0dcc3124fda3488d4711c972c2edacf1d61f31c37a9af1ff8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'InputBinding' instance creation", + "markdown": "Object allocation: new 'InputBinding' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 114, + "startColumn": 43, + "charOffset": 3704, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 112, + "startColumn": 1, + "charOffset": 3548, + "charLength": 342, + "snippet": { + "text": " public static MenuItem SetShortcut(this MenuItem item, UIElement bindableElement, KeyGesture gesture)\r\n {\r\n bindableElement.InputBindings.Add(new InputBinding(item.Command, gesture) {CommandParameter = item.CommandParameter});\r\n item.InputGestureText = gesture.GetDisplayStringForCulture(CultureInfo.InvariantCulture);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d7e5e0c911780f0c", + "equalIndicator/v1": "ddd9dec319aa1c62ff1cef0fee1bb7383311a027b6576fe3c00852d864397951" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SchemaDescriptor' instance creation", + "markdown": "Object allocation: new 'SchemaDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 73, + "charOffset": 6257, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 5984, + "charLength": 545, + "snippet": { + "text": " Entity value when type is null || type == typeof(Entity) => new EntityDescriptor(value),\r\n Field value when type is null || type == typeof(Field) => new FieldDescriptor(value),\r\n Schema value when type is null || type == typeof(Schema) => new SchemaDescriptor(value),\r\n FailureMessage value when type is null || type == typeof(FailureMessage) => new FailureMessageDescriptor(value),\r\n UpdaterInfo value when type is null || type == typeof(UpdaterInfo) => new UpdaterInfoDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "68ffcd52dd80761e", + "equalIndicator/v1": "deb8b698acd2c954cda23b3d3c30e052eeb000f5b346c864df3766133ef87820" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'StringBuilder' instance creation", + "markdown": "Object allocation: new 'StringBuilder' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/AboutViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 42, + "startColumn": 52, + "charOffset": 1653, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 40, + "startColumn": 1, + "charOffset": 1543, + "charLength": 202, + "snippet": { + "text": " [ObservableProperty] private bool _isUpdateChecked;\r\n\r\n [ObservableProperty] private string _runtime = new StringBuilder()\r\n .Append(assemblyOptions.Value.Framework)\r\n .Append(' ')\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1aed986bfd027721", + "equalIndicator/v1": "dff28e5036ddbbca9565720777d3160b3397ec522c307f0a26ed592ff74e66cc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyManagerDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 30, + "charOffset": 1967, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1904, + "charLength": 143, + "snippet": { + "text": " .ToElements();\r\n\r\n var resolveSet = new ResolveSet();\r\n foreach (var element in elements)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4d5fec8b17e609ed", + "equalIndicator/v1": "e0ca718283bef190dfb3a11caab64d6d74b2b9445aba48183c31166efa2dd9f9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 24, + "charOffset": 1532, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1469, + "charLength": 154, + "snippet": { + "text": " private DescriptorBuilder()\r\n {\r\n _descriptors = new List(16);\r\n _settings = Host.GetService();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "be0f63733413b058", + "equalIndicator/v1": "e1a91e6f6499dde0ac3d0a52c93339d57ec2cb69451a4f35bed7f6a6ea199a53" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FilteredWorksetCollector' instance creation", + "markdown": "Object allocation: new 'FilteredWorksetCollector' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/WorksetTableDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 35, + "charOffset": 1540, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1367, + "charLength": 273, + "snippet": { + "text": " {\r\n nameof(WorksetTable.GetWorkset) when parameters.Length == 1 && parameters[0].ParameterType == typeof(WorksetId) =>\r\n ResolveSet.Append(new FilteredWorksetCollector(RevitShell.Document).ToWorksets()),\r\n _ => null\r\n };\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "adfe47b3ad198733", + "equalIndicator/v1": "e21404a051181a7f6ca74bd94f711d85b41ef620ccce006d08f7a23c57ea234c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'UiElementDescriptor' instance creation", + "markdown": "Object allocation: new 'UiElementDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 123, + "startColumn": 26, + "charOffset": 8526, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 121, + "startColumn": 1, + "charOffset": 8467, + "charLength": 219, + "snippet": { + "text": "\r\n //ComponentManager\r\n UIElement => new UiElementDescriptor(),\r\n DispatcherObject => new DependencyObjectDescriptor(),\r\n RibbonItem value => new RibbonItemDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b0c540e29e025cd8", + "equalIndicator/v1": "e2e29382c0d58ed41b5c08152d73cf6fcf078c5e127da4515f470977d6146add" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 192, + "startColumn": 34, + "charOffset": 8537, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 190, + "startColumn": 1, + "charOffset": 8454, + "charLength": 195, + "snippet": { + "text": " ResolveSet ResolveGetEntity()\r\n {\r\n var resolveSummary = new ResolveSet();\r\n var schemas = Schema.ListSchemas();\r\n foreach (var schema in schemas)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2d2f59ff0d61d543", + "equalIndicator/v1": "e31c6444289c8588ed46b587dcaa605b5fabc2ec37fa53933346aa219dfd7658" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'InputBinding' instance creation", + "markdown": "Object allocation: new 'InputBinding' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 123, + "startColumn": 43, + "charOffset": 4151, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 121, + "startColumn": 1, + "charOffset": 4042, + "charLength": 305, + "snippet": { + "text": " {\r\n var inputGesture = new KeyGesture(key, modifiers);\r\n bindableElement.InputBindings.Add(new InputBinding(item.Command, inputGesture) {CommandParameter = item.CommandParameter});\r\n item.InputGestureText = inputGesture.GetDisplayStringForCulture(CultureInfo.InvariantCulture);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4f01ed005775fa98", + "equalIndicator/v1": "e34040c332addb477c54b6356b2577140e7986395c7ce7411913f000fef06a01" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'StringBuilder' instance creation", + "markdown": "Object allocation: new 'StringBuilder' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ToolTips.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 23, + "charOffset": 1441, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1373, + "charLength": 169, + "snippet": { + "text": " row.ToolTip = new ToolTip\r\n {\r\n Content = new StringBuilder()\r\n .Append(\"Type: \")\r\n .AppendLine(descriptor.Type)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c7da1bf48a846f16", + "equalIndicator/v1": "e4834a34812a8981d79b49bcd5290706ca6eae2089e34d5a1f369d8bc58cd8ac" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 34, + "charOffset": 2051, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1949, + "charLength": 195, + "snippet": { + "text": " {\r\n var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "54393a4d42681eea", + "equalIndicator/v1": "e4d49271b10c2569f67453a67ca14783541d3348ef13bb0486e246adb9e5e8f9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation", + "markdown": "Object allocation: new 'SimpleContentDialogCreateOptions' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 81, + "startColumn": 29, + "charOffset": 3006, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 79, + "startColumn": 1, + "charOffset": 2889, + "charLength": 202, + "snippet": { + "text": " {\r\n _viewModel.Units = await Task.Run(RevitShell.GetUnitInfos);\r\n var dialogOptions = new SimpleContentDialogCreateOptions\r\n {\r\n Title = \"Forge Schema\",\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "494085a9a3a90522", + "equalIndicator/v1": "e7eddd0b67d2c64f21dc3bbc86eb292290dbff6d0cf6cf44ae94607aa4d39ccf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ExternalServiceDescriptor' instance creation", + "markdown": "Object allocation: new 'ExternalServiceDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 91, + "charOffset": 6620, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 6287, + "charLength": 636, + "snippet": { + "text": " FailureMessage value when type is null || type == typeof(FailureMessage) => new FailureMessageDescriptor(value),\r\n UpdaterInfo value when type is null || type == typeof(UpdaterInfo) => new UpdaterInfoDescriptor(value),\r\n ExternalService value when type is null || type == typeof(ExternalService) => new ExternalServiceDescriptor(value),\r\n RevitApplication value when type is null || type == typeof(RevitApplication) => new ApplicationDescriptor(value),\r\n PerformanceAdviser value when type is null || type == typeof(PerformanceAdviser) => new PerformanceAdviserDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5b2d4727de569150", + "equalIndicator/v1": "e7fbaf7298a0b03129956bb2e38d3bb8342a0cf2de771de22d1d74d6575f4b2d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SearchElementsDialog' instance creation", + "markdown": "Object allocation: new 'SearchElementsDialog' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/DashboardViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 141, + "startColumn": 36, + "charOffset": 6095, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 139, + "startColumn": 1, + "charOffset": 5972, + "charLength": 245, + "snippet": { + "text": " return unitsDialog.ShowForgeSchemaAsync();\r\n case \"search\":\r\n var searchDialog = new SearchElementsDialog(serviceProvider);\r\n return searchDialog.ShowAsync();\r\n case \"modules\":\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fdf153a4d592b820", + "equalIndicator/v1": "e9c59587aef454112292eebd77b0bd7643195586c7ce477ade010a17cc1e61e3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Regex' instance creation", + "markdown": "Object allocation: new 'Regex' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SoftwareUpdateService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 44, + "charOffset": 1773, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1577, + "charLength": 306, + "snippet": { + "text": " private readonly AssemblyInfo _assemblyInfo = assemblyOptions.Value;\r\n private readonly FolderLocations _folderLocations = foldersOptions.Value;\r\n private readonly Regex _versionRegex = new(@\"(\\d+\\.)+\\d+\", RegexOptions.Compiled);\r\n \r\n public SoftwareUpdateState State { get; private set; }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8780b9d4c531fb56", + "equalIndicator/v1": "ebfc5ee2986b1c0b66bcaf6011058fff19fbc60274e7b24d713fa49d916282b6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'DescriptorExtension' instance creation", + "markdown": "Object allocation: new 'DescriptorExtension' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Extensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 35, + "charOffset": 1505, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1384, + "charLength": 187, + "snippet": { + "text": " public void Register(T value, Action> extension)\r\n {\r\n var descriptorExtension = new DescriptorExtension\r\n {\r\n Value = value,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3bf6487a62500255", + "equalIndicator/v1": "ec371addd6c0dfab9f5ebd565c2c8c905596767649cdc74fabd0c446c848050b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 70, + "startColumn": 39, + "charOffset": 2964, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 68, + "startColumn": 1, + "charOffset": 2843, + "charLength": 160, + "snippet": { + "text": " private static IReadOnlyCollection SnoopApplication()\r\n {\r\n return new SnoopableObject[] {new(RevitShell.Application)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "72de14db3bb2d9fc", + "equalIndicator/v1": "ed93dd6bc22abcbc1eedfa9c0f974b5859ef2e3ee0a10fed3a513c4a2091b00f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'FailureMessageDescriptor' instance creation", + "markdown": "Object allocation: new 'FailureMessageDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 98, + "startColumn": 89, + "charOffset": 6375, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 96, + "startColumn": 1, + "charOffset": 6086, + "charLength": 572, + "snippet": { + "text": " Field value when type is null || type == typeof(Field) => new FieldDescriptor(value),\r\n Schema value when type is null || type == typeof(Schema) => new SchemaDescriptor(value),\r\n FailureMessage value when type is null || type == typeof(FailureMessage) => new FailureMessageDescriptor(value),\r\n UpdaterInfo value when type is null || type == typeof(UpdaterInfo) => new UpdaterInfoDescriptor(value),\r\n ExternalService value when type is null || type == typeof(ExternalService) => new ExternalServiceDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e6c4de7adfda8e0b", + "equalIndicator/v1": "ee156cc661ec34a8d1bbd7c89e733988998b9558f5b398f228d7158be7ab74dd" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 83, + "startColumn": 34, + "charOffset": 3193, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 81, + "startColumn": 1, + "charOffset": 3091, + "charLength": 195, + "snippet": { + "text": " {\r\n var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7d41c8e27d0ea5f0", + "equalIndicator/v1": "eed86bb3d07cb128a79fbdd96d79229f9e52abf2e28f2e8bbc2589c6f301a342" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'RibbonPanelSource' instance creation", + "markdown": "Object allocation: new 'RibbonPanelSource' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/RibbonUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 22, + "charOffset": 2655, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2583, + "charLength": 142, + "snippet": { + "text": " var panel = new RvtRibbonPanel\r\n {\r\n Source = new RibbonPanelSource\r\n {\r\n Id = panelName,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b8576defc8e5d82f", + "equalIndicator/v1": "f0311c4903179b3d0a78682f4e7a547eda192176a723d6bb2d6521a34bd20627" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementId' instance creation", + "markdown": "Object allocation: new 'ElementId' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 43, + "startColumn": 62, + "charOffset": 1725, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 41, + "startColumn": 1, + "charOffset": 1598, + "charLength": 204, + "snippet": { + "text": " if (long.TryParse(rawId, out var id))\r\n {\r\n var element = RevitShell.Document.GetElement(new ElementId(id));\r\n#else\r\n if (int.TryParse(rawId, out var id))\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "eebf5f1461030c82", + "equalIndicator/v1": "f053c556d31bd1181a9a2116a21272a613fc3fa3400483c8c7882cea7ad96ed6" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SearchResults' instance creation", + "markdown": "Object allocation: new 'SearchResults' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 79, + "startColumn": 24, + "charOffset": 3326, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 77, + "startColumn": 1, + "charOffset": 3269, + "charLength": 142, + "snippet": { + "text": "\r\n //Output as is\r\n return new SearchResults\r\n {\r\n Objects = filteredObjects,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "efd4a751d0027c96", + "equalIndicator/v1": "f07e291b23fca43c9af852a0778260b754d9bdd79e193aafe281d8465edb44e4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ElementIdDescriptor' instance creation", + "markdown": "Object allocation: new 'ElementIdDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 79, + "charOffset": 2680, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2580, + "charLength": 354, + "snippet": { + "text": "\r\n //Root\r\n ElementId value when type is null || type == typeof(ElementId) => new ElementIdDescriptor(value),\r\n GuidEnum value when type is null || type == typeof(GuidEnum) => new GuidEnumDescriptor(value),\r\n Definition value when type is null || type == typeof(Definition) => new DefinitionDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f000b8b510f1ae18", + "equalIndicator/v1": "f0c91aba86c285a6742e8c91ac9b49a67f3e18ad3d947024359b214a25809b83" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'KeyGesture' instance creation", + "markdown": "Object allocation: new 'KeyGesture' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ContextMenu.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 157, + "startColumn": 31, + "charOffset": 6275, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 155, + "startColumn": 1, + "charOffset": 6086, + "charLength": 334, + "snippet": { + "text": " contextMenu.AddMenuItem(\"HelpMenuItem\")\r\n .SetCommand(descriptor, parameter => HelpUtils.ShowHelp(parameter.TypeFullName, parameter.Name))\r\n .SetShortcut(row, new KeyGesture(Key.F1));\r\n\r\n if (descriptor.Value.Descriptor is IDescriptorConnector connector) connector.RegisterMenu(contextMenu, row);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b6d0911dd78e540e", + "equalIndicator/v1": "f165c5d292497425464534720d27b53460c9e4d5b728d10da864c46cc73b3dc1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ReferenceDescriptor' instance creation", + "markdown": "Object allocation: new 'ReferenceDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 71, + "startColumn": 79, + "charOffset": 3586, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 69, + "startColumn": 1, + "charOffset": 3268, + "charLength": 548, + "snippet": { + "text": " Parameter value when type is null || type == typeof(Parameter) => new ParameterDescriptor(value),\r\n FamilyParameter value when type is null || type == typeof(FamilyParameter) => new FamilyParameterDescriptor(value),\r\n Reference value when type is null || type == typeof(Reference) => new ReferenceDescriptor(value),\r\n Color value when type is null || type == typeof(Color) => new ColorDescriptor(value),\r\n Curve value when type is null || type == typeof(Curve) => new CurveDescriptor(value),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ec5a34587bed5c6b", + "equalIndicator/v1": "f1c97ecb8137a0c967c40880f8f1ad13f5fde4a03353ff95fa24de7dc617dc0d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 115, + "startColumn": 32, + "charOffset": 4488, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 113, + "startColumn": 1, + "charOffset": 4369, + "charLength": 180, + "snippet": { + "text": " return RevitShell.Document\r\n .GetElements(RevitShell.ActiveView.Id)\r\n .Select(element => new SnoopableObject(element))\r\n .ToList();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "54f587cf6df19891", + "equalIndicator/v1": "f2539ff65be73a34e44c6fa7cf0e568e856a7b9e9cd62bdc1f52239225378a71" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSummary' instance creation", + "markdown": "Object allocation: new 'ResolveSummary' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSet.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 65, + "startColumn": 26, + "charOffset": 2114, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 63, + "startColumn": 1, + "charOffset": 1987, + "charLength": 187, + "snippet": { + "text": " if (result is null) return this;\r\n if (result is ICollection {Count: 0}) return this;\r\n Variants.Enqueue(new ResolveSummary\r\n {\r\n Result = result,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2eb06c2c7bf86a3c", + "equalIndicator/v1": "f2554f596876f6b82c5b902b1d4a2bf94c74647cf109306515259a6c6c8d8b69" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'Options' instance creation", + "markdown": "Object allocation: new 'Options' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 120, + "startColumn": 54, + "charOffset": 5401, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 118, + "startColumn": 1, + "charOffset": 5248, + "charLength": 243, + "snippet": { + "text": " ComputeReferences = true\r\n }), \"Model, undefined detail level\")\r\n .AppendVariant(_element.get_Geometry(new Options\r\n {\r\n DetailLevel = ViewDetailLevel.Coarse,\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3015a2d8dfe311cb", + "equalIndicator/v1": "f2d639b4d78ca663ddcef485f0b400ea83e75fc0f2168224b5b192bf1566c03c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'OpenSourceSoftware' instance creation", + "markdown": "Object allocation: new 'OpenSourceSoftware' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/OpenSourceViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 9, + "charOffset": 1725, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1604, + "charLength": 354, + "snippet": { + "text": " .AddLicense(\"MIT License\", \"https://github.com/Nice3point/RevitExtensions/blob/main/License.md\"),\r\n\r\n new OpenSourceSoftware()\r\n .AddSoftware(\"Nice3point.Revit.Toolkit\", \"https://github.com/Nice3point/RevitToolkit\")\r\n .AddLicense(\"MIT License\", \"https://github.com/Nice3point/RevitToolkit/blob/main/License.md\"),\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0e0d73a93fe061b1", + "equalIndicator/v1": "f3739bdd62704887ad639f2f92b82a429dc719615058cf45c5872bd6e515796f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 85, + "startColumn": 16, + "charOffset": 3400, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 83, + "startColumn": 1, + "charOffset": 3309, + "charLength": 139, + "snippet": { + "text": " private static IReadOnlyCollection SnoopFace()\r\n {\r\n return new[] {SelectObject(ObjectType.Face)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "41b53bd5cd1f7503", + "equalIndicator/v1": "f3fafa7f73b5bc6fea4ddb738bcc547b14551b6c73c60d386cc5e0476fca8103" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject' instance creation", + "markdown": "Object allocation: new 'SnoopableObject' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 32, + "charOffset": 4923, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 4821, + "charLength": 163, + "snippet": { + "text": " return elementTypes\r\n .UnionWith(elementInstances)\r\n .Select(element => new SnoopableObject(element))\r\n .ToList();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f581fa2e99a3a188", + "equalIndicator/v1": "f4352f69c46b6c910f3ca6ef9e82475bbd96d321d262b73eb4c1d58997c5c075" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 151, + "startColumn": 16, + "charOffset": 5958, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 149, + "startColumn": 1, + "charOffset": 5855, + "charLength": 167, + "snippet": { + "text": " private static IReadOnlyCollection SnoopComponentManager()\r\n {\r\n return new[] {new SnoopableObject(typeof(ComponentManager))};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "edfd146ed44a0077", + "equalIndicator/v1": "f46f0e36361ee9eb7cbc4d479e2a70499a98f80a45922d2ae3720c018d9a4368" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'CancellationTokenSource' instance creation", + "markdown": "Object allocation: new 'CancellationTokenSource' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 40, + "startColumn": 61, + "charOffset": 1586, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 38, + "startColumn": 1, + "charOffset": 1420, + "charLength": 233, + "snippet": { + "text": " private readonly UnitsViewModel _viewModel;\r\n private readonly IServiceProvider _serviceProvider;\r\n private readonly CancellationTokenSource _tokenSource = new();\r\n\r\n public UnitsDialog(IServiceProvider serviceProvider)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7ebb847ec853ab56", + "equalIndicator/v1": "f4b718210a23d17839a303cabfe974645d65d2a5efe10b97eeea0f1da1982209" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'List' instance creation", + "markdown": "Object allocation: new 'List' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 71, + "startColumn": 24, + "charOffset": 2782, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 69, + "startColumn": 1, + "charOffset": 2668, + "charLength": 207, + "snippet": { + "text": " {\r\n var categories = Enum.GetValues(unitType).Cast();\r\n var list = new List();\r\n foreach (var category in categories)\r\n try\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "594f8af9215c6290", + "equalIndicator/v1": "f52fe47111f71befa78a152be6d0fa629ad943f6f37b72646c08e8c538336977" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'SnoopableObject[]' array instance creation", + "markdown": "Object allocation: new 'SnoopableObject\\[\\]' array instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 70, + "startColumn": 16, + "charOffset": 2941, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 68, + "startColumn": 1, + "charOffset": 2843, + "charLength": 160, + "snippet": { + "text": " private static IReadOnlyCollection SnoopApplication()\r\n {\r\n return new SnoopableObject[] {new(RevitShell.Application)};\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "36dbbed71a1c7343", + "equalIndicator/v1": "f59e114431d1bfbe3687c68f4378bf413e8fdf07a7d3405936102988e2539e92" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PropertyPath' instance creation", + "markdown": "Object allocation: new 'PropertyPath' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 20, + "charOffset": 3394, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 3291, + "charLength": 223, + "snippet": { + "text": " Source = item,\r\n Converter = new InverseBooleanConverter(),\r\n Path = new PropertyPath(nameof(MenuItem.IsChecked))\r\n });\r\n item.Command = new AsyncRelayCommand(command);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a781eb2d31c05db2", + "equalIndicator/v1": "f6cd2e67a3894c77b11328db80de09f970693df466eb505c48b771aa58fda2fa" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'EnumerableDescriptor' instance creation", + "markdown": "Object allocation: new 'EnumerableDescriptor' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/DescriptorMap.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 34, + "charOffset": 2435, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 2204, + "charLength": 377, + "snippet": { + "text": " string value when type is null || type == typeof(string) => new StringDescriptor(value),\r\n bool value when type is null || type == typeof(bool) => new BoolDescriptor(value),\r\n IEnumerable value => new EnumerableDescriptor(value),\r\n Exception value when type is null || type == typeof(Exception) => new ExceptionDescriptor(value),\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4aa7048984946866", + "equalIndicator/v1": "f73ecef2e4add9c7f92b4127f6f14e684574d5818f9ab6691c839a2b50447345" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 103, + "startColumn": 34, + "charOffset": 3800, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 101, + "startColumn": 1, + "charOffset": 3698, + "charLength": 195, + "snippet": { + "text": " {\r\n var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5c807fed4b277b5e", + "equalIndicator/v1": "fb816e02ed1a9cb6bb48bdb2319b08171c64b1aeca69f00348c2baf4818c7fdc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'ResolveSet' instance creation", + "markdown": "Object allocation: new 'ResolveSet' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/AssetPropertyDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 34, + "charOffset": 2050, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 1935, + "charLength": 204, + "snippet": { + "text": " {\r\n var capacity = assetProperty.NumberOfConnectedProperties;\r\n var resolveSummary = new ResolveSet(capacity);\r\n for (var i = 0; i < capacity; i++)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0efdadfaa1ae9eb4", + "equalIndicator/v1": "fd9b2053ae32d87a2ebbb6690b61e9973b4143a57c9b7ee73b966d5c9ba65fc4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Evident", + "kind": "fail", + "level": "note", + "message": { + "text": "Object allocation: new 'PropertyMetadata' instance creation", + "markdown": "Object allocation: new 'PropertyMetadata' instance creation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Controls/ContentPlaceholder/ContentPlaceholder.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 95, + "charOffset": 1285, + "charLength": 3, + "snippet": { + "text": "new" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1126, + "charLength": 225, + "snippet": { + "text": "{\r\n public static readonly DependencyProperty TextProperty =\r\n DependencyProperty.Register(nameof(Text), typeof(string), typeof(ContentPlaceholder), new PropertyMetadata(default(string)));\r\n\r\n public string Text\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e24faf1002d6f79b", + "equalIndicator/v1": "fe221dc2a094ba00d8426597adf7bd7a08e8916ae6a54ce57df1beeb07f48221" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 181, + "startColumn": 37, + "charOffset": 8180, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 179, + "startColumn": 1, + "charOffset": 8072, + "charLength": 213, + "snippet": { + "text": " if (geometryMaterials.Count == 0) return resolveSummary;\r\n\r\n foreach (var materialId in geometryMaterials)\r\n {\r\n var area = _element.GetMaterialVolume(materialId);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dfb39ae63bf6728b", + "equalIndicator/v1": "003a90d93c6f65d063b764b63919069b69fe1913b8dcbd200e4f306d729a9252" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 60, + "startColumn": 29, + "charOffset": 2468, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 58, + "startColumn": 1, + "charOffset": 2314, + "charLength": 273, + "snippet": { + "text": " var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r\n resolveSummary.AppendVariant(mepSection.GetCoefficient(id), $\"ID{id}\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "4c86a8661f4f602c", + "equalIndicator/v1": "05673dc2323bafdb9161d44ab1e360eae2ca8ec465e3e7f1bb27677f82c1057c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 131, + "startColumn": 32, + "charOffset": 4512, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 129, + "startColumn": 1, + "charOffset": 4422, + "charLength": 161, + "snippet": { + "text": " {\r\n var presenter = (FrameworkElement) sender;\r\n presenter.PreviewKeyUp -= OnPresenterCursorRestored;\r\n presenter.Cursor = null;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "843a696df5115814", + "equalIndicator/v1": "07eb5492567f0175bed8794688167296da8173a083f5aabbedf8aeae3f4d4013" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 59, + "startColumn": 32, + "charOffset": 2561, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 57, + "startColumn": 1, + "charOffset": 2467, + "charLength": 198, + "snippet": { + "text": " {\r\n var resolveSummary = new ResolveSet();\r\n foreach (var field in entity.Schema.ListFields())\r\n {\r\n var forgeTypeId = field.GetSpecTypeId();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a4d493dd70c4dfe8", + "equalIndicator/v1": "0a50a772bf54a1e4983a6b1a37303c0ff05984a74a0739a2d0b97e1e4926859e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 27, + "charOffset": 4610, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 4508, + "charLength": 228, + "snippet": { + "text": " {\r\n var filteredSnoopableObjects = new List();\r\n foreach (var item in data)\r\n if (item.Descriptor.Type == query.Descriptor.Type)\r\n filteredSnoopableObjects.Add(item);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0aff5f24679ae4ab", + "equalIndicator/v1": "0bcc0df9b699d0e5e79aa76083ecc720fe712219549cb064d0b54f038eb705b9" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 80, + "startColumn": 54, + "charOffset": 2656, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 78, + "startColumn": 1, + "charOffset": 2546, + "charLength": 147, + "snippet": { + "text": " private void OnTreeChanged(TreeView control)\r\n {\r\n control.ItemContainerGenerator.StatusChanged += OnTreeViewItemGenerated;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3fb459e03615a7c1", + "equalIndicator/v1": "138c6d32bc366ab3800efb1fb57ed0d3f97a021dc715864dfbfe6a9130094f72" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 104, + "startColumn": 29, + "charOffset": 3863, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 102, + "startColumn": 1, + "charOffset": 3709, + "charLength": 205, + "snippet": { + "text": " var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r\n try\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a848150beb1ecb7f", + "equalIndicator/v1": "146f7a33538475f93d5c87c2d4f94fc2d5e5cbf6471567a2ac91c0840d23c647" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SoftwareUpdateService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 39, + "charOffset": 5243, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 5114, + "charLength": 291, + "snippet": { + "text": " if (Directory.Exists(_folderLocations.DownloadFolder))\r\n {\r\n foreach (var file in Directory.EnumerateFiles(_folderLocations.DownloadFolder))\r\n {\r\n if (file.EndsWith(Path.GetFileName(_downloadUrl)!))\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c1ac78b2e7c0197c", + "equalIndicator/v1": "19db4790baf160d155792172382c17cea96cf8a8b8eeb9b0a632a70c3fadbb6f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EntityDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 46, + "startColumn": 32, + "charOffset": 2038, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 44, + "startColumn": 1, + "charOffset": 1944, + "charLength": 236, + "snippet": { + "text": " {\r\n var resolveSummary = new ResolveSet();\r\n foreach (var field in entity.Schema.ListFields())\r\n {\r\n var method = entity.GetType().GetMethod(nameof(Entity.Get), [typeof(Field)])!;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7a8ed1c861d40ab6", + "equalIndicator/v1": "1d34f8c1e630e35fcc864af7dc06dcc60d79dd699730c31f873fd9041a572226" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 33, + "charOffset": 4005, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 3898, + "charLength": 203, + "snippet": { + "text": " treeItem.PreviewMouseLeftButtonUp -= OnTreeItemClicked;\r\n\r\n treeItem.Loaded += OnTreeItemLoaded;\r\n treeItem.PreviewMouseLeftButtonUp += OnTreeItemClicked;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0bb6137ee3e99112", + "equalIndicator/v1": "22a4a392494b497611ce311cf42bcbacbbd3a5e51ae49178146293231688cd9d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 29, + "charOffset": 2861, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2707, + "charLength": 274, + "snippet": { + "text": " var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r\n resolveSummary.AppendVariant(mepSection.GetPressureDrop(id), $\"ID{id}\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b68871d01ffcb680", + "equalIndicator/v1": "2680b1a4b65475329e59f6ada489f965098fa47bfc999f068730c01e907c123b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 108, + "startColumn": 23, + "charOffset": 3502, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 106, + "startColumn": 1, + "charOffset": 3393, + "charLength": 218, + "snippet": { + "text": " private void ShowPendingNotifications(object sender, RoutedEventArgs args)\r\n {\r\n window.Loaded -= ShowPendingNotifications;\r\n _pendingNotifications.Invoke();\r\n _pendingNotifications = null;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7a10461de0b24d07", + "equalIndicator/v1": "2cfbcffc1022d804a9303757f984e1aade4332c0211fd4c73364673b61dd75b3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 84, + "startColumn": 29, + "charOffset": 3256, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 82, + "startColumn": 1, + "charOffset": 3102, + "charLength": 205, + "snippet": { + "text": " var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r\n try\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9b5c37e41548f3fb", + "equalIndicator/v1": "2f121af15a7d2fc44013fd36c148ccd09751132aac436eb96717eaaa85730052" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 125, + "startColumn": 32, + "charOffset": 4307, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 123, + "startColumn": 1, + "charOffset": 4232, + "charLength": 114, + "snippet": { + "text": "\r\n presenter.Cursor = Cursors.Hand;\r\n presenter.PreviewKeyUp += OnPresenterCursorRestored;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7454a5423f2e4c6b", + "equalIndicator/v1": "2f4f1e99b5dd83ff69db31e8695f7d3bab563d48b630ee912f05f91e1c2dc23e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 67, + "startColumn": 34, + "charOffset": 3693, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 65, + "startColumn": 1, + "charOffset": 3562, + "charLength": 276, + "snippet": { + "text": " {\r\n var resolveSummary = new ResolveSet(familyInstance.Document.Phases.Size);\r\n foreach (Phase phase in familyInstance.Document.Phases)\r\n {\r\n resolveSummary.AppendVariant(familyInstance.get_FromRoom(phase), phase.Name);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2a9cac0b7f88aa16", + "equalIndicator/v1": "3d7d7e3d155f08334cf4a94cf5f56bfac5bcee5cd434980293ebda7a864c4532" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/EventsView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 38, + "charOffset": 1473, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1360, + "charLength": 167, + "snippet": { + "text": " TreeViewControl = TreeView;\r\n SearchBoxControl = SearchBox;\r\n TreeView.SelectedItemChanged += OnTreeItemSelected;\r\n\r\n DataContext = this;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7184985dcaa02034", + "equalIndicator/v1": "43d21a1c0253f531844c7bb7448c9a607e5de3ade0582ec95826b59b1bd9e7d7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 67, + "startColumn": 62, + "charOffset": 2297, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 65, + "startColumn": 1, + "charOffset": 2194, + "charLength": 217, + "snippet": { + "text": " if (!window.IsLoaded)\r\n {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowErrorBar(title, message);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c55a74fabe7aaf29", + "equalIndicator/v1": "45153af8939e066055cd4f28419245d8adf22a167190226981db63927b9e950c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 186, + "startColumn": 36, + "charOffset": 5936, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 184, + "startColumn": 1, + "charOffset": 5843, + "charLength": 131, + "snippet": { + "text": " CreateGridContextMenu(dataGrid);\r\n };\r\n control.ItemsSourceChanged += OnGridItemsSourceChanged;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "38f5b5c04509edeb", + "equalIndicator/v1": "451913897506c0641ae6363a7cda8bf632d08df3c5e8ff80ea6a561ccaaf0aef" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 62, + "charOffset": 1423, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1320, + "charLength": 219, + "snippet": { + "text": " if (!window.IsLoaded)\r\n {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowSuccessBar(title, message);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c136edd9774597dc", + "equalIndicator/v1": "5561574930ed0dcaa633a356de2cbbcd9466965134188ed3770d8711beb3b5ad" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: delegate addition operation may allocate new delegate instance", + "markdown": "Possible object allocation: delegate addition operation may allocate new delegate instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 35, + "charOffset": 1487, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1351, + "charLength": 202, + "snippet": { + "text": " {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowSuccessBar(title, message);\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fe7d5b3e39e4f799", + "equalIndicator/v1": "5712108e41ef4286c6128d607af3edea522a9d931bd782084b454cd7260071f4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/LookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 171, + "startColumn": 28, + "charOffset": 5228, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 169, + "startColumn": 1, + "charOffset": 5108, + "charLength": 164, + "snippet": { + "text": " _navigationService = _scope.ServiceProvider.GetService();\r\n\r\n _window.Closed += (_, _) => _scope.Dispose();\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "fb73da40765ad8c4", + "equalIndicator/v1": "5b3b3aa80bbac814273f9c4066b7af2133ae270c3a01ec3cc74adcca0615f99f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 34, + "charOffset": 4072, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 3941, + "charLength": 274, + "snippet": { + "text": " {\r\n var resolveSummary = new ResolveSet(familyInstance.Document.Phases.Size);\r\n foreach (Phase phase in familyInstance.Document.Phases)\r\n {\r\n resolveSummary.AppendVariant(familyInstance.get_ToRoom(phase), phase.Name);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0ee387d3c8c5d377", + "equalIndicator/v1": "5ecec0e40411ebfc5909586e742d1d9dbebb65836d06c450da5b413e17ae488c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 180, + "startColumn": 24, + "charOffset": 5723, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 178, + "startColumn": 1, + "charOffset": 5643, + "charLength": 156, + "snippet": { + "text": " private void OnGridChanged(DataGrid control)\r\n {\r\n control.Loaded += (sender, _) =>\r\n {\r\n var dataGrid = (DataGrid) sender;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9f8df53bd32eca7e", + "equalIndicator/v1": "5f5f47b5ddcd85a8ab7017f1cc555590f7bb11a56cdacd702a08cf0e15208819" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 49, + "startColumn": 62, + "charOffset": 1799, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 47, + "startColumn": 1, + "charOffset": 1696, + "charLength": 219, + "snippet": { + "text": " if (!window.IsLoaded)\r\n {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowWarningBar(title, message);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d57bbfd08e747bd6", + "equalIndicator/v1": "5f6bbc74b87584e08569e8cbc3043b61dd3233d7a138bbb641846cc29f6318a1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ExternalServiceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 51, + "startColumn": 35, + "charOffset": 1938, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 49, + "startColumn": 1, + "charOffset": 1768, + "charLength": 283, + "snippet": { + "text": " var serverIds = _service.GetRegisteredServerIds();\r\n var resolveSet = new ResolveSet(_service.NumberOfServers);\r\n foreach (var serverId in serverIds) resolveSet.AppendVariant(_service.GetServer(serverId));\r\n return resolveSet;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "632308557ac6cce0", + "equalIndicator/v1": "60f557c8bb65b61623cea0e8eccc5106ed527c9e933102b93f0ccadd10051fba" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 118, + "startColumn": 31, + "charOffset": 3675, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 116, + "startColumn": 1, + "charOffset": 3564, + "charLength": 228, + "snippet": { + "text": " if (generator.Status == GeneratorStatus.ContainersGenerated)\r\n {\r\n foreach (var item in generator.Items)\r\n {\r\n var treeItem = (ItemsControl) generator.ContainerFromItem(item);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a7b21a52f3c1d5f6", + "equalIndicator/v1": "61f1bc0d344d9e595927051602a65ef2f0cda59f75e290d6cff36985ebf0751e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 140, + "startColumn": 43, + "charOffset": 5582, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 138, + "startColumn": 1, + "charOffset": 5448, + "charLength": 201, + "snippet": { + "text": " {\r\n var dependentElements = selectedElement.GetDependentElements(null);\r\n foreach (var dependentElement in dependentElements) elements.Add(dependentElement);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e8eefe22ead6e379", + "equalIndicator/v1": "626e0c729e1e2f851fa8649f122f6312cdcc947f594661eb071b531e55d8d418" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Gestures.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 54, + "charOffset": 1953, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1860, + "charLength": 123, + "snippet": { + "text": " public void OnNavigatedTo()\r\n {\r\n Wpf.Ui.Application.MainWindow.PreviewKeyDown += OnPageKeyPressed;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f7c3f083eb6c8c90", + "equalIndicator/v1": "64742c47465cdd6be9e6fea5a93509e9fe99ef50e6a1140551b050c7e4292a17" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 126, + "startColumn": 27, + "charOffset": 5060, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 124, + "startColumn": 1, + "charOffset": 4958, + "charLength": 255, + "snippet": { + "text": " {\r\n var filteredSnoopableObjects = new List();\r\n foreach (var item in data)\r\n if (item.Descriptor.Name.Contains(query, StringComparison.OrdinalIgnoreCase))\r\n filteredSnoopableObjects.Add(item);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "610468e042ee5fc3", + "equalIndicator/v1": "6510f902e44c4471d0349dd4d5620e09481d5f9f0be5aa9c4bf92b16372f0d55" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyManagerDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 47, + "startColumn": 34, + "charOffset": 2019, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 45, + "startColumn": 1, + "charOffset": 1936, + "charLength": 180, + "snippet": { + "text": "\r\n var resolveSet = new ResolveSet();\r\n foreach (var element in elements)\r\n {\r\n foreach (Parameter parameter in element.Parameters)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3e8cbc74c9bff7e1", + "equalIndicator/v1": "661d6731c84cc208c4cca33000d7f4ce5a9e8d8c475400eeb9a83dbc54ffd1bc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 132, + "startColumn": 67, + "charOffset": 4329, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 130, + "startColumn": 1, + "charOffset": 4149, + "charLength": 242, + "snippet": { + "text": " {\r\n treeItem.ItemContainerGenerator.StatusChanged -= OnTreeViewItemGenerated;\r\n treeItem.ItemContainerGenerator.StatusChanged += OnTreeViewItemGenerated;\r\n }\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b774abb1fc59d79f", + "equalIndicator/v1": "6637aef2396a291d50babc8b355acffe2a834bef264ab1f62424e1491d4e8d12" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 35, + "charOffset": 2839, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2679, + "charLength": 215, + "snippet": { + "text": " var categories = Enum.GetValues(unitType).Cast();\r\n var list = new List();\r\n foreach (var category in categories)\r\n try\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a1b84f2d564fe1c7", + "equalIndicator/v1": "6ade6d4f915c38b795f1420d95dfeaa2ff53fd98436f89fe4247b80f52226425" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 165, + "startColumn": 37, + "charOffset": 7593, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 163, + "startColumn": 1, + "charOffset": 7540, + "charLength": 159, + "snippet": { + "text": " }\r\n\r\n foreach (var materialId in paintMaterials)\r\n {\r\n var area = _element.GetMaterialArea(materialId, true);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1ce4dab7f10154d3", + "equalIndicator/v1": "6d6349c43b7f91b19b2e65c7e65c8467c8d940cfdc5e3bc6788197aebb31590e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 124, + "startColumn": 51, + "charOffset": 3948, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 122, + "startColumn": 1, + "charOffset": 3842, + "charLength": 184, + "snippet": { + "text": "\r\n treeItem.Loaded -= OnTreeItemLoaded;\r\n treeItem.PreviewMouseLeftButtonUp -= OnTreeItemClicked;\r\n\r\n treeItem.Loaded += OnTreeItemLoaded;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0ceab69b8d3d1ac3", + "equalIndicator/v1": "7290069b32123845007754753715a6f80d4e9a5331f4b7c099a5e06dbd3c4eed" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 35, + "charOffset": 1581, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1475, + "charLength": 191, + "snippet": { + "text": " logger.Invoke(OutputType.Standard, args.Data);\r\n };\r\n process.ErrorDataReceived += (_, args) =>\r\n {\r\n if (string.IsNullOrEmpty(args.Data)) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a11aa3435712016e", + "equalIndicator/v1": "7a2090e039d6e8f7b71b54d9e6ca962850a215e39a66ec2bb89bdc727da3f2fb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 100, + "startColumn": 21, + "charOffset": 3669, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 98, + "startColumn": 1, + "charOffset": 3604, + "charLength": 92, + "snippet": { + "text": " public void EnableSizeTracking()\r\n {\r\n SizeChanged += OnSizeChanged;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e3d3589c23080d19", + "equalIndicator/v1": "7cfa701ca2048959afcfd192913e4cc77a2d37cc2ac76afb34792c4a89aa1af2" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 217, + "startColumn": 38, + "charOffset": 7208, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 215, + "startColumn": 1, + "charOffset": 7102, + "charLength": 172, + "snippet": { + "text": " var row = args.Row;\r\n row.Loaded += OnGridRowLoaded;\r\n row.PreviewMouseLeftButtonUp += OnGridRowClicked;\r\n SelectDataGridRowStyle(row);\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "81b00602cbcdd2c7", + "equalIndicator/v1": "7dd622c7e52638b91ed28d942ed3f8f68a70e0c1836280fd3607bfa02db84f6e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/RevitLookupView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 21, + "charOffset": 3763, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 3697, + "charLength": 93, + "snippet": { + "text": " public void DisableSizeTracking()\r\n {\r\n SizeChanged -= OnSizeChanged;\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "75b99adb32138e8e", + "equalIndicator/v1": "7e2d13d25e28fc8ad4244b2b7161e142041b8b1468dda3b3459a7c7ea111666a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 246, + "startColumn": 45, + "charOffset": 8218, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 244, + "startColumn": 1, + "charOffset": 8096, + "charLength": 254, + "snippet": { + "text": " if (treeViewItem is null || treeViewItem.IsSelected) return false;\r\n\r\n TreeViewControl.SelectedItemChanged -= OnTreeItemSelected;\r\n treeViewItem.IsSelected = true;\r\n TreeViewControl.SelectedItemChanged += OnTreeItemSelected;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "300d41f8fb9924c4", + "equalIndicator/v1": "80ed30ffd6f27e6d3965a48f3b96b6e8781c693404af5f5070a0b0df29365496" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 86, + "startColumn": 33, + "charOffset": 3108, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 84, + "startColumn": 1, + "charOffset": 2971, + "charLength": 297, + "snippet": { + "text": " var eventHandler = Delegate.CreateDelegate(eventInfo.EventHandlerType, this, methodInfo);\r\n\r\n foreach (var target in targets) eventInfo.AddEventHandler(target, eventHandler);\r\n _eventInfos.Add(eventInfo, eventHandler);\r\n Debug.WriteLine(\" - success\");\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "164e3f735191a678", + "equalIndicator/v1": "85fc39367e8abe4466ceec1f15f362737e6cd9040f763bc09b7615f24d3a842c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 16, + "charOffset": 3072, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 3044, + "charLength": 60, + "snippet": { + "text": " }\r\n\r\n Loaded += OnLoaded;\r\n return;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d4f646c95e3ec2ad", + "equalIndicator/v1": "8a3c2ca10bea9d0b87af842b3a91f77b9d58b14bc6a47bdf0e1ea249d9e96898" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/MepSectionDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 48, + "startColumn": 29, + "charOffset": 2114, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 46, + "startColumn": 1, + "charOffset": 1960, + "charLength": 235, + "snippet": { + "text": " var elementIds = mepSection.GetElementIds();\r\n var resolveSummary = new ResolveSet(elementIds.Count);\r\n foreach (var id in elementIds)\r\n {\r\n resolveSummary.AppendVariant(id);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "63fdad7f0c8fe3c0", + "equalIndicator/v1": "8bfe5125a5cbcd3da06cc0845b8a883b48194208c572c15e0e6c22a51d6a3c84" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: delegate addition operation may allocate new delegate instance", + "markdown": "Possible object allocation: delegate addition operation may allocate new delegate instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 35, + "charOffset": 1863, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1727, + "charLength": 202, + "snippet": { + "text": " {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowWarningBar(title, message);\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b5f36e8d566414f4", + "equalIndicator/v1": "92433ed392261c6feaea868003e1986a76dd63a302e8e8bae3e7b7a4352b40e8" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 123, + "startColumn": 33, + "charOffset": 3876, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 121, + "startColumn": 1, + "charOffset": 3793, + "charLength": 179, + "snippet": { + "text": " if (treeItem is null) continue;\r\n\r\n treeItem.Loaded -= OnTreeItemLoaded;\r\n treeItem.PreviewMouseLeftButtonUp -= OnTreeItemClicked;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "95cb5729632cc9ab", + "equalIndicator/v1": "96521dbb791bd3ca10884266db91e1cbb2e3f2b3e3a23a9d6ccfcab4280a9a55" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 159, + "startColumn": 37, + "charOffset": 7327, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 157, + "startColumn": 1, + "charOffset": 7234, + "charLength": 203, + "snippet": { + "text": " if (capacity == 0) return resolveSummary;\r\n\r\n foreach (var materialId in geometryMaterials)\r\n {\r\n var area = _element.GetMaterialArea(materialId, false);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9a84de432bb0a66e", + "equalIndicator/v1": "a3834edd4ceb0505890408bd0e5357d36798325537fd462a622178bf52c75f32" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyManagerDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 49, + "startColumn": 46, + "charOffset": 2093, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 47, + "startColumn": 1, + "charOffset": 1986, + "charLength": 247, + "snippet": { + "text": " foreach (var element in elements)\r\n {\r\n foreach (Parameter parameter in element.Parameters)\r\n {\r\n var familyParameter = familyManager.GetAssociatedFamilyParameter(parameter);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "12e95415b549222a", + "equalIndicator/v1": "a5878bced40e41f5e82eea79a9d16270552bb2dfd1bbfd16a3c9ea2b32ecf816" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/SnoopView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 37, + "startColumn": 37, + "charOffset": 1529, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 35, + "startColumn": 1, + "charOffset": 1393, + "charLength": 191, + "snippet": { + "text": " SearchBoxControl = SearchBox;\r\n TreeView.SelectedItemChanged += OnTreeItemSelected;\r\n TreeView.ItemsSourceChanged += OnTreeSourceChanged;\r\n\r\n DataContext = this;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c2b779aeb0e28a66", + "equalIndicator/v1": "a673588ddcdc1972a50d8388930d01770725befafce40a449a4cf042b7f8021f" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 56, + "startColumn": 34, + "charOffset": 3316, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 54, + "startColumn": 1, + "charOffset": 3185, + "charLength": 272, + "snippet": { + "text": " {\r\n var resolveSummary = new ResolveSet(familyInstance.Document.Phases.Size);\r\n foreach (Phase phase in familyInstance.Document.Phases)\r\n {\r\n resolveSummary.AppendVariant(familyInstance.get_Room(phase), phase.Name);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "aa4f6de1f30d050a", + "equalIndicator/v1": "ab914dbb670161fa9685c57faa5cebb1bf8f32f1fc5d16432d14aa496c0e6e7b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 102, + "startColumn": 20, + "charOffset": 3190, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 100, + "startColumn": 1, + "charOffset": 3105, + "charLength": 139, + "snippet": { + "text": " void OnLoaded(object o, RoutedEventArgs args)\r\n {\r\n Loaded -= OnLoaded;\r\n SetupTreeView();\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a23ef6fc1eda8afd", + "equalIndicator/v1": "abab8acabd300746847a5c7f3f8bed562a57d5d046fb396bc343783c499c23b3" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Gestures.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 55, + "startColumn": 54, + "charOffset": 2079, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 53, + "startColumn": 1, + "charOffset": 1984, + "charLength": 125, + "snippet": { + "text": " public void OnNavigatedFrom()\r\n {\r\n Wpf.Ui.Application.MainWindow.PreviewKeyDown -= OnPageKeyPressed;\r\n }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7a812697b61d5cb0", + "equalIndicator/v1": "c0b895664bf5dbc2da077467f0adc6b10c97425e9358c3329ff303390fccfd93" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 36, + "charOffset": 1389, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1312, + "charLength": 162, + "snippet": { + "text": " {\r\n logger ??= DefaultLogger;\r\n process.OutputDataReceived += (_, args) =>\r\n {\r\n if (string.IsNullOrEmpty(args.Data)) return;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3aadd02c0c1c9399", + "equalIndicator/v1": "c51945e069376b9dae0d5c20f0b43716c9b4f57253725304d96d5f22a3836fdb" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/AccessUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 44, + "charOffset": 1547, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1382, + "charLength": 345, + "snippet": { + "text": " var accessRules = accessControl.GetAccessRules(true, true, typeof(NTAccount));\r\n var writeAccess = false;\r\n foreach (FileSystemAccessRule rule in accessRules)\r\n {\r\n if (principal.IsInRole(rule.IdentityReference.Value) && (rule.FileSystemRights & FileSystemRights.WriteData) == FileSystemRights.WriteData)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b5c16e0f26a9d738", + "equalIndicator/v1": "cef456e723253f1252f4cc65f85f3b83948f075d3e4bdf1055d62d779f7cf71c" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/EventsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 64, + "startColumn": 33, + "charOffset": 2334, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 62, + "startColumn": 1, + "charOffset": 2134, + "charLength": 334, + "snippet": { + "text": " //Object lifecycle expires. We should force a data retrieval before the object is cleared from memory\r\n var descriptors = snoopableObject.GetMembers();\r\n foreach (var descriptor in descriptors)\r\n if (descriptor.Value.Descriptor is IDescriptorCollector)\r\n descriptor.Value.GetMembers();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0d96a237b635840e", + "equalIndicator/v1": "cef6d61e02600013bd41ce1b620fcd5c901c786676a57d44385997e274bf1695" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/EventMonitor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 97, + "startColumn": 33, + "charOffset": 3508, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 95, + "startColumn": 1, + "charOffset": 3391, + "charLength": 201, + "snippet": { + "text": " {\r\n var targets = FindValidTargets(eventInfo.Key.ReflectedType);\r\n foreach (var target in targets) eventInfo.Key.RemoveEventHandler(target, eventInfo.Value);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "df82c59b24ecf510", + "equalIndicator/v1": "d8068042b192c988a6fd7bf9ad2f57a1688fa354347b062f599e4c902dcbf6cd" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 248, + "startColumn": 45, + "charOffset": 8327, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 246, + "startColumn": 1, + "charOffset": 8174, + "charLength": 205, + "snippet": { + "text": " TreeViewControl.SelectedItemChanged -= OnTreeItemSelected;\r\n treeViewItem.IsSelected = true;\r\n TreeViewControl.SelectedItemChanged += OnTreeItemSelected;\r\n return true;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d1f891a1d2ded695", + "equalIndicator/v1": "d997ee214f794217b06cad74f0401a2cf24b0217aa18ea072e693d59cf8db9e0" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 141, + "startColumn": 27, + "charOffset": 5665, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 139, + "startColumn": 1, + "charOffset": 5571, + "charLength": 318, + "snippet": { + "text": " {\r\n var filteredSnoopableData = new List();\r\n foreach (var item in data)\r\n if (item.Name.Contains(query, StringComparison.OrdinalIgnoreCase)) filteredSnoopableData.Add(item);\r\n else if (item.Value.Descriptor.Name.Contains(query, StringComparison.OrdinalIgnoreCase))\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bd236681e690c65e", + "equalIndicator/v1": "da8eb258dea5c2b34489d589deb94b4dcc85d7d0ec6c23f86d6e11bab0cb75e7" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 194, + "startColumn": 33, + "charOffset": 8637, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 192, + "startColumn": 1, + "charOffset": 8504, + "charLength": 220, + "snippet": { + "text": " var resolveSummary = new ResolveSet();\r\n var schemas = Schema.ListSchemas();\r\n foreach (var schema in schemas)\r\n {\r\n if (!schema.ReadAccessGranted()) continue;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5041d2fe3543c53", + "equalIndicator/v1": "e4ca058dcb51425d0f39c37135de9aa394e1b594cb88805d3a6fa2bda4ae62e5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: delegate addition operation may allocate new delegate instance", + "markdown": "Possible object allocation: delegate addition operation may allocate new delegate instance" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 68, + "startColumn": 35, + "charOffset": 2361, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 66, + "startColumn": 1, + "charOffset": 2225, + "charLength": 200, + "snippet": { + "text": " {\r\n if (_pendingNotifications is null) window.Loaded += ShowPendingNotifications;\r\n _pendingNotifications += () => ShowErrorBar(title, message);\r\n }\r\n else\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "76521133b845d489", + "equalIndicator/v1": "e70e17fac6268c60880c9e5a505c6218af1c6c7f102cff0ded6a277de2e80ff4" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 127, + "startColumn": 51, + "charOffset": 4077, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 125, + "startColumn": 1, + "charOffset": 3971, + "charLength": 177, + "snippet": { + "text": "\r\n treeItem.Loaded += OnTreeItemLoaded;\r\n treeItem.PreviewMouseLeftButtonUp += OnTreeItemClicked;\r\n\r\n if (treeItem.Items.Count > 0)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "29fde32339c6ce55", + "equalIndicator/v1": "e8e17e111fb46d27242d50253ce51de0959002005f03d81a0389451ad0904939" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/SnoopView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 38, + "charOffset": 1469, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1356, + "charLength": 199, + "snippet": { + "text": " TreeViewControl = TreeView;\r\n SearchBoxControl = SearchBox;\r\n TreeView.SelectedItemChanged += OnTreeItemSelected;\r\n TreeView.ItemsSourceChanged += OnTreeSourceChanged;\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d711a50389d7c40c", + "equalIndicator/v1": "f0636a366aba4940e5f2e7c8d0ab6cdb16640a30602bde98c77a371e627f1b4b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event subscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 216, + "startColumn": 20, + "charOffset": 7150, + "charLength": 2, + "snippet": { + "text": "+=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 214, + "startColumn": 1, + "charOffset": 7095, + "charLength": 172, + "snippet": { + "text": " {\r\n var row = args.Row;\r\n row.Loaded += OnGridRowLoaded;\r\n row.PreviewMouseLeftButtonUp += OnGridRowClicked;\r\n SelectDataGridRowStyle(row);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "69643dfbb7fab1e6", + "equalIndicator/v1": "f51902fbf903e6a4e50f154133ac4a1ef3c904b69c683c42efbc317ce1f30a31" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 137, + "startColumn": 38, + "charOffset": 5426, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 135, + "startColumn": 1, + "charOffset": 5278, + "charLength": 261, + "snippet": { + "text": " var selectedElements = RevitShell.Document.GetElements(selectedIds).WhereElementIsNotElementType();\r\n\r\n foreach (var selectedElement in selectedElements)\r\n {\r\n var dependentElements = selectedElement.GetDependentElements(null);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b7b9884fa93ed866", + "equalIndicator/v1": "f7b67e923c8d83d3c4fe3d4c7fee8851dfe26acdb4b68f5af8716743eacccfc5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)", + "markdown": "Possible object allocation: event unsubscription may allocate new delegate instance (in case of multiple event subscribers)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 131, + "startColumn": 67, + "charOffset": 4234, + "charLength": 2, + "snippet": { + "text": "-=" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 129, + "startColumn": 1, + "charOffset": 4102, + "charLength": 274, + "snippet": { + "text": " if (treeItem.Items.Count > 0)\r\n {\r\n treeItem.ItemContainerGenerator.StatusChanged -= OnTreeViewItemGenerated;\r\n treeItem.ItemContainerGenerator.StatusChanged += OnTreeViewItemGenerated;\r\n }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5cd222be9bbd6bff", + "equalIndicator/v1": "fced5a6501a5c79dfeab2971f9c0f7da1da1f416d7a4f7bbdeebcfa797adf9cf" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.ObjectAllocation.Possible", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)", + "markdown": "Possible object allocation: new 'IEnumerator' instance creation on 'GetEnumerator()' call (except when it's cached by the implementation)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/RevitShell.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 54, + "startColumn": 36, + "charOffset": 2251, + "charLength": 2, + "snippet": { + "text": "in" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 52, + "startColumn": 1, + "charOffset": 2089, + "charLength": 217, + "snippet": { + "text": " var parameters = Enum.GetValues(unitType).Cast();\r\n var list = new List();\r\n foreach (var parameter in parameters)\r\n try\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cd992969376b0cd5", + "equalIndicator/v1": "ff7900144c135d88a8ff02a948a3dbd5af35f943b675a278a13c83abb97b9720" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "HeapView.PossibleBoxingAllocation", + "kind": "fail", + "level": "note", + "message": { + "text": "Possible boxing allocation: conversion from 'T' to 'object' possibly requires boxing of the value type", + "markdown": "Possible boxing allocation: conversion from 'T' to 'object' possibly requires boxing of the value type" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 33, + "charOffset": 2488, + "charLength": 9, + "snippet": { + "text": "parameter" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 2355, + "charLength": 200, + "snippet": { + "text": " public static MenuItem SetCommand(this MenuItem item, T parameter, Action command)\r\n {\r\n item.CommandParameter = parameter;\r\n item.Command = new RelayCommand(command);\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "96c48148ef44b8ce", + "equalIndicator/v1": "ad0ee211b58ca3d12a96b0db4308267d26eebb92f7a36753fad59570bbbc745e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "InvertIf", + "kind": "fail", + "level": "note", + "message": { + "text": "Invert 'if' statement to reduce nesting", + "markdown": "Invert 'if' statement to reduce nesting" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 115, + "startColumn": 17, + "charOffset": 4712, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 113, + "startColumn": 1, + "charOffset": 4551, + "charLength": 316, + "snippet": { + "text": " var delimiter = delimiters[i];\r\n var split = row.Split(new[]{delimiter}, StringSplitOptions.RemoveEmptyEntries);\r\n if (split.Length > 1 || i == delimiters.Length - 1 || split.Length == 1 && split[0] != row)\r\n {\r\n items.AddRange(split);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "90c2f273fcc37f09", + "equalIndicator/v1": "0583273a08ee572cdebbddea3625923c2968167d2754b6ec9de6eb4e464ceec1" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "InvertIf", + "kind": "fail", + "level": "note", + "message": { + "text": "Invert 'if' statement to reduce nesting", + "markdown": "Invert 'if' statement to reduce nesting" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 750, + "startColumn": 13, + "charOffset": 40448, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 748, + "startColumn": 1, + "charOffset": 40363, + "charLength": 174, + "snippet": { + "text": " var distance = CalculateColorDistance(color, knownColor);\r\n\r\n if (distance < closestDistance)\r\n {\r\n colorName = entry.Value;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6a3961427754d827", + "equalIndicator/v1": "1093ffa25886d23030c9506f3c63dcdc072fc2182fce25e9f0abe969bef8f067" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "InvertIf", + "kind": "fail", + "level": "note", + "message": { + "text": "Invert 'if' statement to reduce nesting", + "markdown": "Invert 'if' statement to reduce nesting" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/AccessUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 38, + "startColumn": 13, + "charOffset": 1587, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 36, + "startColumn": 1, + "charOffset": 1504, + "charLength": 275, + "snippet": { + "text": " foreach (FileSystemAccessRule rule in accessRules)\r\n {\r\n if (principal.IsInRole(rule.IdentityReference.Value) && (rule.FileSystemRights & FileSystemRights.WriteData) == FileSystemRights.WriteData)\r\n {\r\n writeAccess = true;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "26f23659b0f68294", + "equalIndicator/v1": "95f47532285396f12a296d9e7462b43d0da4ffcceb2deea97d9e315091e7f837" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "InvertIf", + "kind": "fail", + "level": "note", + "message": { + "text": "Invert 'if' statement to reduce nesting", + "markdown": "Invert 'if' statement to reduce nesting" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 116, + "startColumn": 9, + "charOffset": 3572, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 114, + "startColumn": 1, + "charOffset": 3499, + "charLength": 196, + "snippet": { + "text": " {\r\n var generator = (ItemContainerGenerator) sender;\r\n if (generator.Status == GeneratorStatus.ContainersGenerated)\r\n {\r\n foreach (var item in generator.Items)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "5cf88bad22e82497", + "equalIndicator/v1": "9b13025931c77712b62926cb98ee1990f0517a32d07420c392c31e176fedb90d" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "InvertIf", + "kind": "fail", + "level": "note", + "message": { + "text": "Invert 'if' statement to reduce nesting", + "markdown": "Invert 'if' statement to reduce nesting" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SoftwareUpdateService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 128, + "startColumn": 25, + "charOffset": 5353, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 126, + "startColumn": 1, + "charOffset": 5205, + "charLength": 278, + "snippet": { + "text": " foreach (var file in Directory.EnumerateFiles(_folderLocations.DownloadFolder))\r\n {\r\n if (file.EndsWith(Path.GetFileName(_downloadUrl)!))\r\n {\r\n LocalFilePath = file;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "afd453ba63b93762", + "equalIndicator/v1": "c4035de441548aae7108fa97b9f8358f8e325d6a7ae37c4180528f71decea810" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "InvertIf", + "kind": "fail", + "level": "note", + "message": { + "text": "Invert 'if' statement to reduce nesting", + "markdown": "Invert 'if' statement to reduce nesting" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 129, + "startColumn": 17, + "charOffset": 4118, + "charLength": 2, + "snippet": { + "text": "if" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 127, + "startColumn": 1, + "charOffset": 4027, + "charLength": 235, + "snippet": { + "text": " treeItem.PreviewMouseLeftButtonUp += OnTreeItemClicked;\r\n\r\n if (treeItem.Items.Count > 0)\r\n {\r\n treeItem.ItemContainerGenerator.StatusChanged -= OnTreeViewItemGenerated;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "53ee7ae49670febd", + "equalIndicator/v1": "e0b254956c9009964da525bb5f5c411f354767663f1c5a8535466019547e80ea" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "LoopCanBeConvertedToQuery", + "kind": "fail", + "level": "note", + "message": { + "text": "Loop can be converted into LINQ-expression", + "markdown": "Loop can be converted into LINQ-expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 140, + "startColumn": 13, + "charOffset": 5552, + "charLength": 7, + "snippet": { + "text": "foreach" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 138, + "startColumn": 1, + "charOffset": 5448, + "charLength": 201, + "snippet": { + "text": " {\r\n var dependentElements = selectedElement.GetDependentElements(null);\r\n foreach (var dependentElement in dependentElements) elements.Add(dependentElement);\r\n }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7f7f206f44c7f074", + "equalIndicator/v1": "0c5ca96f11b557bde7bd11fbb8a15ba061c9a036bc8c3fba947896c1b912a061" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "LoopCanBeConvertedToQuery", + "kind": "fail", + "level": "note", + "message": { + "text": "Loop can be converted into LINQ-expression", + "markdown": "Loop can be converted into LINQ-expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Utils/SearchEngine.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 9, + "charOffset": 4592, + "charLength": 7, + "snippet": { + "text": "foreach" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 4508, + "charLength": 228, + "snippet": { + "text": " {\r\n var filteredSnoopableObjects = new List();\r\n foreach (var item in data)\r\n if (item.Descriptor.Type == query.Descriptor.Type)\r\n filteredSnoopableObjects.Add(item);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "71f89448c04b559f", + "equalIndicator/v1": "41d2ce809c4a37905bcca04bd68d166a655c5c7e74593aad6be8517e736230fa" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "LoopCanBeConvertedToQuery", + "kind": "fail", + "level": "note", + "message": { + "text": "Loop can be converted into LINQ-expression", + "markdown": "Loop can be converted into LINQ-expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Selector.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 137, + "startColumn": 9, + "charOffset": 5397, + "charLength": 7, + "snippet": { + "text": "foreach" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 135, + "startColumn": 1, + "charOffset": 5278, + "charLength": 261, + "snippet": { + "text": " var selectedElements = RevitShell.Document.GetElements(selectedIds).WhereElementIsNotElementType();\r\n\r\n foreach (var selectedElement in selectedElements)\r\n {\r\n var dependentElements = selectedElement.GetDependentElements(null);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "19895846eac97629", + "equalIndicator/v1": "77341057fda036ca1dff75d14f5ed8c13266627e3facc72ef013620e87e4bc9b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "LoopCanBeConvertedToQuery", + "kind": "fail", + "level": "note", + "message": { + "text": "Loop can be converted into LINQ-expression", + "markdown": "Loop can be converted into LINQ-expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/AccessUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 36, + "startColumn": 9, + "charOffset": 1512, + "charLength": 7, + "snippet": { + "text": "foreach" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 34, + "startColumn": 1, + "charOffset": 1382, + "charLength": 345, + "snippet": { + "text": " var accessRules = accessControl.GetAccessRules(true, true, typeof(NTAccount));\r\n var writeAccess = false;\r\n foreach (FileSystemAccessRule rule in accessRules)\r\n {\r\n if (principal.IsInRole(rule.IdentityReference.Value) && (rule.FileSystemRights & FileSystemRights.WriteData) == FileSystemRights.WriteData)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "91ad2f15fa46530c", + "equalIndicator/v1": "f66f9dc895979a8f48960df2fe025befeeda52d9a0b18aaf9e5cbd6c63e2419b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MemberCanBeMadeStatic.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'ConvertInvalidNames' can be made static", + "markdown": "Method 'ConvertInvalidNames' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Converters/DescriptorLabelConverters.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 22, + "charOffset": 1244, + "charLength": 19, + "snippet": { + "text": "ConvertInvalidNames" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 1142, + "charLength": 170, + "snippet": { + "text": "public abstract class DescriptorConverter : MarkupExtension, IValueConverter\r\n{\r\n protected string ConvertInvalidNames(string text)\r\n {\r\n return text switch\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "d098d8ec6745baf8", + "equalIndicator/v1": "5782e7f4faf41b642947a6bd78fb4b9b7272bf690687d5942f873f8121385e27" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MemberCanBeMadeStatic.Local", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'OnGridItemsSourceChanged' can be made static", + "markdown": "Method 'OnGridItemsSourceChanged' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 195, + "startColumn": 18, + "charOffset": 6149, + "charLength": 24, + "snippet": { + "text": "OnGridItemsSourceChanged" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 193, + "startColumn": 1, + "charOffset": 6078, + "charLength": 174, + "snippet": { + "text": " /// Group and sort items\r\n /// \r\n private void OnGridItemsSourceChanged(object sender, EventArgs _)\r\n {\r\n var dataGrid = (DataGrid) sender;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a713b42771d920e6", + "equalIndicator/v1": "610b8dd25cf48868e4d4466eef61b8e3880a1f5d8208aee9e162d5ab4886373a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MemberCanBeMadeStatic.Local", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'CreateGridRowTooltip' can be made static", + "markdown": "Method 'CreateGridRowTooltip' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ToolTips.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 50, + "startColumn": 18, + "charOffset": 1766, + "charLength": 20, + "snippet": { + "text": "CreateGridRowTooltip" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 48, + "startColumn": 1, + "charOffset": 1690, + "charLength": 193, + "snippet": { + "text": " /// Create data grid tooltips\r\n /// \r\n private void CreateGridRowTooltip(Descriptor descriptor, FrameworkElement row)\r\n {\r\n var builder = new StringBuilder();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "04f2b2f4a0cd0e6d", + "equalIndicator/v1": "c5ebf20192b1a574373f5dd574f78f3f67cdc5a718404dfae4f9ca41aeb30bd5" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MemberCanBeMadeStatic.Local", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'OnPresenterCursorRestored' can be made static", + "markdown": "Method 'OnPresenterCursorRestored' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 128, + "startColumn": 18, + "charOffset": 4364, + "charLength": 25, + "snippet": { + "text": "OnPresenterCursorRestored" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 126, + "startColumn": 1, + "charOffset": 4338, + "charLength": 142, + "snippet": { + "text": " }\r\n\r\n private void OnPresenterCursorRestored(object sender, KeyEventArgs e)\r\n {\r\n var presenter = (FrameworkElement) sender;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8080e5573e0b8d84", + "equalIndicator/v1": "d2325a26e66030722329a2e9491c33f2f2149c39ce593d9cc882264a56d40949" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MemberCanBeMadeStatic.Local", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'CreateTreeTooltip' can be made static", + "markdown": "Method 'CreateTreeTooltip' can be made static" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.ToolTips.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 18, + "charOffset": 1302, + "charLength": 17, + "snippet": { + "text": "CreateTreeTooltip" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1226, + "charLength": 181, + "snippet": { + "text": " /// Create tree view tooltips\r\n /// \r\n private void CreateTreeTooltip(Descriptor descriptor, FrameworkElement row)\r\n {\r\n row.ToolTip = new ToolTip\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c44cc54c3c1d43f6", + "equalIndicator/v1": "ee271cbef9e0913f7071dbe9ffad4186b77a3d9969d28a2854c89e19e519f283" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MemberCanBePrivate.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'OnGridRowLoaded' can be made private", + "markdown": "Method 'OnGridRowLoaded' can be made private" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 227, + "startColumn": 5, + "charOffset": 7449, + "charLength": 9, + "snippet": { + "text": "protected" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 225, + "startColumn": 1, + "charOffset": 7382, + "charLength": 192, + "snippet": { + "text": " /// Create tooltips, context menu\r\n /// \r\n protected void OnGridRowLoaded(object sender, RoutedEventArgs args)\r\n {\r\n var element = (FrameworkElement) sender;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "db19c9ae6f6bbe36", + "equalIndicator/v1": "11745b90e5ca551532f4cb691d3cc264348aae75aba7954972df200c608af772" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MemberCanBePrivate.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'FindVisualChild' can be made private", + "markdown": "Method 'FindVisualChild' can be made private" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Utils/VisualUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 107, + "startColumn": 5, + "charOffset": 4333, + "charLength": 6, + "snippet": { + "text": "public" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 105, + "startColumn": 1, + "charOffset": 4320, + "charLength": 164, + "snippet": { + "text": " }\r\n\r\n public static T FindVisualChild(Visual visual) where T : Visual\r\n {\r\n for (var i = 0; i < VisualTreeHelper.GetChildrenCount(visual); i++)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0bef28168426599b", + "equalIndicator/v1": "382070b4cc5737fd1642ca734f264b858ffde52956e9d8ae8bd289c57c0634e1" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MergeIntoPattern", + "kind": "fail", + "level": "note", + "message": { + "text": "Merge into pattern", + "markdown": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 42, + "charOffset": 4738, + "charLength": 2, + "snippet": { + "text": "&&" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 4655, + "charLength": 145, + "snippet": { + "text": " {\r\n // special case for black\r\n if (color.R == 0 && color.G == 0 && color.B == 0)\r\n {\r\n return (0d, 0d, 0d);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a6f32bb086c34edc", + "equalIndicator/v1": "1a466db8bc80817bccf47812f702d0d5552d0baf17ae92889ef07354bd6e55f0" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "MergeIntoPattern", + "kind": "fail", + "level": "note", + "message": { + "text": "Merge into pattern", + "markdown": "Merge into pattern" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorFormatUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 113, + "startColumn": 26, + "charOffset": 4722, + "charLength": 2, + "snippet": { + "text": "&&" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 111, + "startColumn": 1, + "charOffset": 4655, + "charLength": 145, + "snippet": { + "text": " {\r\n // special case for black\r\n if (color.R == 0 && color.G == 0 && color.B == 0)\r\n {\r\n return (0d, 0d, 0d);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c710598257a4e2aa", + "equalIndicator/v1": "41e04fc6bc721bed462a39fb4ddc131753bcdac679c70174593ae2365812dd74" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "NotDisposedResource", + "kind": "fail", + "level": "warning", + "message": { + "text": "IEnumerator object is never disposed; consider safe-cast to IDisposable and Dispose() call after enumeration", + "markdown": "IEnumerator object is never disposed; consider safe-cast to IDisposable and Dispose() call after enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Enumeration.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 13, + "charOffset": 1251, + "charLength": 10, + "snippet": { + "text": "enumerator" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1199, + "charLength": 143, + "snippet": { + "text": "\r\n _type = typeof(IEnumerable);\r\n var enumerator = enumerable.GetEnumerator();\r\n while (enumerator.MoveNext())\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "146bf40f90051194", + "equalIndicator/v1": "a13ec06d460575d598197d50d22b51dcbb4d25e8be4f26b6aeab9f9479f10d5c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "NotDisposedResource", + "kind": "fail", + "level": "warning", + "message": { + "text": "IEnumerator object is never disposed; consider safe-cast to IDisposable and Dispose() call after enumeration", + "markdown": "IEnumerator object is never disposed; consider safe-cast to IDisposable and Dispose() call after enumeration" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/EnumerableDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 9, + "charOffset": 1383, + "charLength": 10, + "snippet": { + "text": "Enumerator" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1316, + "charLength": 210, + "snippet": { + "text": " public EnumerableDescriptor(IEnumerable value)\r\n {\r\n Enumerator = value.GetEnumerator();\r\n\r\n //Checking types to reduce memory allocation when creating an iterator and increase performance\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b2cf262c04b7c935", + "equalIndicator/v1": "bcf9d41b5f4b41a03ea3e8153123e639f1c899d6683729160a17a736a5cb41ba" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ParameterTypeCanBeEnumerable.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Parameter can be of type 'IEnumerable'", + "markdown": "Parameter can be of type 'IEnumerable'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "install/Installer.Tools.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 44, + "charOffset": 1413, + "charLength": 8, + "snippet": { + "text": "string[]" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1340, + "charLength": 136, + "snippet": { + "text": "public static class Tools\r\n{\r\n public static Versions ComputeVersions(string[] args)\r\n {\r\n foreach (var directory in args)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "Installer", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8ef536fad83e5d18", + "equalIndicator/v1": "e2aaa0f371b37fec0772010370cb672f9a63752e74b0b4f27259fdb3196002ed" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSummary.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 38, + "charOffset": 1092, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 1016, + "charLength": 125, + "snippet": { + "text": "public sealed class ResolveSummary\r\n{\r\n public string Description { get; set; }\r\n public object Result { get; set; }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3771b5e085866bb1", + "equalIndicator/v1": "43eb6d3370b0fb86cc2a01d9c0a35535ce54545dc8aa4e1ce1d3327ee2bedfc1" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/Descriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 34, + "startColumn": 41, + "charOffset": 1438, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 32, + "startColumn": 1, + "charOffset": 1289, + "charLength": 158, + "snippet": { + "text": " public double ComputationTime { get; set; }\r\n public MemberAttributes MemberAttributes { get; set; }\r\n public SnoopableObject Value { get; set; }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6e306ed56868977b", + "equalIndicator/v1": "70d398bc409adef766aee362ad406606c5e9c55a9109aedde02c38382e91dac4" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/SearchResults.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 56, + "charOffset": 1138, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 1045, + "charLength": 173, + "snippet": { + "text": "public sealed class SearchResults\r\n{\r\n public IReadOnlyCollection Data { get; set; }\r\n public IReadOnlyCollection Objects { get; set; }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "1569f84ffdf11b70", + "equalIndicator/v1": "72c951f7ee8dc383ae6801e067d8326316bd3dbb57d86505c5b8b531ac320950" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/ModuleInfo.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 42, + "charOffset": 1268, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1132, + "charLength": 145, + "snippet": { + "text": " public required int Order { get; set; }\r\n public required string Version { get; set; }\r\n public required string Domain { get; set; }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6be752ba93ec3530", + "equalIndicator/v1": "8b07f09437d9953af2272fb236adb9f50787ca2e1f2f06e5e749702f9a5578a4" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/ResolveSummary.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 33, + "charOffset": 1132, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 1052, + "charLength": 89, + "snippet": { + "text": "{\r\n public string Description { get; set; }\r\n public object Result { get; set; }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cc2cb74624249d68", + "equalIndicator/v1": "a2f649f9c95a45599c795db46e9f3f314a0e71cddef643c9b44085b56d35a5a1" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/ModuleInfo.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 27, + "startColumn": 38, + "charOffset": 1169, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 25, + "startColumn": 1, + "charOffset": 1038, + "charLength": 237, + "snippet": { + "text": " public required string Name { get; set; }\r\n public required string Path { get; set; }\r\n public required int Order { get; set; }\r\n public required string Version { get; set; }\r\n public required string Domain { get; set; }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ad050708f69e28ed", + "equalIndicator/v1": "a3c5633ba090c1ffcced7c979c47d1c4e81446bb5b3258364cdb8abd72f9eb98" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/ModuleInfo.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 28, + "startColumn": 43, + "charOffset": 1219, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 26, + "startColumn": 1, + "charOffset": 1085, + "charLength": 192, + "snippet": { + "text": " public required string Path { get; set; }\r\n public required int Order { get; set; }\r\n public required string Version { get; set; }\r\n public required string Domain { get; set; }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "19a531e32a0adaf6", + "equalIndicator/v1": "a51d559f4abe4421533d9483354235cbad6b51b64b1ea3d774e2d16c839878b7" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/Descriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 42, + "charOffset": 1330, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1206, + "charLength": 239, + "snippet": { + "text": " public string Name { get; set; }\r\n public string Description { get; set; }\r\n public double ComputationTime { get; set; }\r\n public MemberAttributes MemberAttributes { get; set; }\r\n public SnoopableObject Value { get; set; }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "197ef244fd8cba3d", + "equalIndicator/v1": "c67449741842730e1cb3870b0ef8cb3c854417e7fe354625d55bc2ce48d6c37c" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Objects/Descriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 33, + "startColumn": 53, + "charOffset": 1390, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 31, + "startColumn": 1, + "charOffset": 1244, + "charLength": 203, + "snippet": { + "text": " public string Description { get; set; }\r\n public double ComputationTime { get; set; }\r\n public MemberAttributes MemberAttributes { get; set; }\r\n public SnoopableObject Value { get; set; }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b072ff502fec0b39", + "equalIndicator/v1": "c776eb4483ead5692e30209385eed2059b3987dc176d416ac9670edcc9be6f70" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/ModuleInfo.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 40, + "charOffset": 1077, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 1010, + "charLength": 166, + "snippet": { + "text": "public class ModuleInfo\r\n{\r\n public required string Name { get; set; }\r\n public required string Path { get; set; }\r\n public required int Order { get; set; }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "30ad36df00bf99ae", + "equalIndicator/v1": "d8a08c99b0ec732b501e17d824c0fcec0fb83de186b33e41846cfcecb639fc9e" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/SearchResults.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 28, + "startColumn": 64, + "charOffset": 1209, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 26, + "startColumn": 1, + "charOffset": 1080, + "charLength": 138, + "snippet": { + "text": "{\r\n public IReadOnlyCollection Data { get; set; }\r\n public IReadOnlyCollection Objects { get; set; }\r\n}" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "035ba30cfad8679f", + "equalIndicator/v1": "d918b3c067f41011ba6b32ec24fe71ebc83f48f08389a1c59abb8aa13d48f695" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "PropertyCanBeMadeInitOnly.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property can be made init-only", + "markdown": "Property can be made init-only" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/ModuleInfo.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 40, + "charOffset": 1124, + "charLength": 3, + "snippet": { + "text": "set" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 1035, + "charLength": 191, + "snippet": { + "text": "{\r\n public required string Name { get; set; }\r\n public required string Path { get; set; }\r\n public required int Order { get; set; }\r\n public required string Version { get; set; }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "9a5600bbc55c5e36", + "equalIndicator/v1": "fc2c9d22c7464cc4b87e29caa8aa687439930929bc586cf7d63e165de2b1d252" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "RedundantStringInterpolation", + "kind": "fail", + "level": "note", + "message": { + "text": "Redundant string interpolation", + "markdown": "Redundant string interpolation" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 39, + "startColumn": 21, + "charOffset": 1812, + "charLength": 1, + "snippet": { + "text": "$" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 37, + "startColumn": 1, + "charOffset": 1648, + "charLength": 322, + "snippet": { + "text": " SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Center,\r\n StoreFreeBoundaryFaces = true\r\n }), $\"Center, store free boundary faces\")\r\n .AppendVariant(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "161ce1be951dc0dc", + "equalIndicator/v1": "6e12118d6d80634f5279b80123506a695962338b8827d1d9df934c0139ff1dbf" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ReplaceSubstringWithRangeIndexer", + "kind": "fail", + "level": "note", + "message": { + "text": "Use range indexer", + "markdown": "Use range indexer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ColorRepresentationUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 763, + "startColumn": 34, + "charOffset": 40761, + "charLength": 9, + "snippet": { + "text": "Substring" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 761, + "startColumn": 1, + "charOffset": 40659, + "charLength": 299, + "snippet": { + "text": " private static Color ConvertHexStringToColor(string hex)\r\n {\r\n var red = byte.Parse(hex.Substring(0, 2), NumberStyles.HexNumber);\r\n var green = byte.Parse(hex.Substring(2, 2), NumberStyles.HexNumber);\r\n var blue = byte.Parse(hex.Substring(4, 2), NumberStyles.HexNumber);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ccd8b2e299011600", + "equalIndicator/v1": "76f098933f9b38ade50e950a5dd6f0e46b88397306f8c3c6a77a8665dfda7172" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ReplaceSubstringWithRangeIndexer", + "kind": "fail", + "level": "note", + "message": { + "text": "Use range indexer", + "markdown": "Use range indexer" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Utils/DescriptorUtils.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 88, + "startColumn": 54, + "charOffset": 2823, + "charLength": 9, + "snippet": { + "text": "Substring" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 86, + "startColumn": 1, + "charOffset": 2681, + "charLength": 259, + "snippet": { + "text": " var typeName = type.Name;\r\n var apostropheIndex = typeName.IndexOf('`');\r\n if (apostropheIndex > 0) typeName = typeName.Substring(0, apostropheIndex);\r\n typeName += \"<\";\r\n var genericArguments = type.GetGenericArguments();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6a51b59a676b754d", + "equalIndicator/v1": "b76ca36edd2f91dbadcc5806a6f0377560b30c136c73ea20742f0153e6cf2e1e" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "ReturnTypeCanBeEnumerable.Local", + "kind": "fail", + "level": "note", + "message": { + "text": "Return type can be 'IEnumerable'", + "markdown": "Return type can be 'IEnumerable'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 80, + "startColumn": 20, + "charOffset": 3090, + "charLength": 14, + "snippet": { + "text": "IList" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 78, + "startColumn": 1, + "charOffset": 3062, + "charLength": 178, + "snippet": { + "text": " }\r\n\r\n private static IList SearchByIfcGuid(string rawId)\r\n {\r\n var guidProvider = new ParameterValueProvider(new ElementId(BuiltInParameter.IFC_GUID));\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "2d12b67f235efe09", + "equalIndicator/v1": "1c25455dd08bb2b89620775eb068ca026e038b55a1f1f880425d344045e53137" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "SuggestBaseTypeForParameter", + "kind": "fail", + "level": "note", + "message": { + "text": "Parameter can be of type 'System.Windows.Controls.ItemsControl'", + "markdown": "Parameter can be of type 'System.Windows.Controls.ItemsControl'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 78, + "startColumn": 32, + "charOffset": 2577, + "charLength": 8, + "snippet": { + "text": "TreeView" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 76, + "startColumn": 1, + "charOffset": 2488, + "charLength": 196, + "snippet": { + "text": " /// Data grid initialization\r\n /// \r\n private void OnTreeChanged(TreeView control)\r\n {\r\n control.ItemContainerGenerator.StatusChanged += OnTreeViewItemGenerated;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b3d9610767e4efaa", + "equalIndicator/v1": "2fefc4e4e56b74b60abe042a584069d4f17423cdfc47ab3a5093f3cc370601bc" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "SuggestBaseTypeForParameter", + "kind": "fail", + "level": "note", + "message": { + "text": "Parameter can be of type 'System.Collections.Generic.IReadOnlyCollection'", + "markdown": "Parameter can be of type 'System.Collections.Generic.IReadOnlyCollection'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 105, + "startColumn": 49, + "charOffset": 4303, + "charLength": 8, + "snippet": { + "text": "string[]" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 103, + "startColumn": 1, + "charOffset": 4246, + "charLength": 131, + "snippet": { + "text": " }\r\n\r\n private static List ParseRawRequest(string[] rows)\r\n {\r\n var items = new List(rows.Length);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "0fe14e0fa7b9bf5c", + "equalIndicator/v1": "51e3e8f68b5a4b040897e15362df77e91afb43b05984b05153b34a15e857dc6a" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "SuggestBaseTypeForParameter", + "kind": "fail", + "level": "note", + "message": { + "text": "Parameter can be of type 'System.Windows.FrameworkElement'", + "markdown": "Parameter can be of type 'System.Windows.FrameworkElement'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Styles.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 35, + "startColumn": 41, + "charOffset": 1392, + "charLength": 11, + "snippet": { + "text": "DataGridRow" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 33, + "startColumn": 1, + "charOffset": 1290, + "charLength": 185, + "snippet": { + "text": " /// Data grid row style selector\r\n /// \r\n private void SelectDataGridRowStyle(DataGridRow row)\r\n {\r\n var rowDescriptor = (Descriptor) row.DataContext;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "66ed5fd25600e86e", + "equalIndicator/v1": "bae31a51f147f09dc7bcba5d11ac4b74dab9ec53a4aec0d9e08177a1eb574179" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "SuggestBaseTypeForParameterInConstructor", + "kind": "fail", + "level": "note", + "message": { + "text": "Parameter can be of type 'Autodesk.Revit.DB.WorksetPreview'", + "markdown": "Parameter can be of type 'Autodesk.Revit.DB.WorksetPreview'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/ComponentModel/Descriptors/WorksetDescriptor.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 30, + "charOffset": 1237, + "charLength": 7, + "snippet": { + "text": "Workset" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1131, + "charLength": 160, + "snippet": { + "text": "public sealed class WorksetDescriptor : Descriptor, IDescriptorCollector\r\n{\r\n public WorksetDescriptor(Workset workset)\r\n {\r\n Name = workset.Name;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "429601beca7bb2da", + "equalIndicator/v1": "9aefb8f643a4ef7e79700f9488eea2777dcbc2ae18756818ade8c333910f3144" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "SuggestBaseTypeForParameterInConstructor", + "kind": "fail", + "level": "note", + "message": { + "text": "Parameter can be of type 'RevitLookup.ViewModels.Contracts.ISnoopViewModel'", + "markdown": "Parameter can be of type 'RevitLookup.ViewModels.Contracts.ISnoopViewModel'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/EventsView.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 28, + "startColumn": 23, + "charOffset": 1162, + "charLength": 16, + "snippet": { + "text": "IEventsViewModel" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 26, + "startColumn": 1, + "charOffset": 1097, + "charLength": 191, + "snippet": { + "text": "public sealed partial class EventsView\r\n{\r\n public EventsView(IEventsViewModel viewModel, ISettingsService settingsService) : base(settingsService)\r\n {\r\n InitializeComponent();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "cae6b845f6e73433", + "equalIndicator/v1": "ca3532fe63a86e226713c5bf2d2ff0c9ba4e5fb6b3b725da76dbc93f5aed955b" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "SwitchStatementMissingSomeEnumCasesNoDefault", + "kind": "fail", + "level": "note", + "message": { + "text": "Some values of the enum are not processed inside switch: View, Document, Application...", + "markdown": "Some values of the enum are not processed inside switch: View, Document, Application..." + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/SnoopVisualService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 13, + "charOffset": 2408, + "charLength": 6, + "snippet": { + "text": "switch" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2372, + "charLength": 116, + "snippet": { + "text": " try\r\n {\r\n switch (snoopableType)\r\n {\r\n case SnoopableType.Face:\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c15c3c2d4197526e", + "equalIndicator/v1": "f528b18cc20a64eabf657cfe34a6f3d09a31230fd30d6a26240f0701a755eb68" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "kind": "fail", + "level": "warning", + "message": { + "text": "Auto-property accessor 'RootFolder.get' is never used", + "markdown": "Auto-property accessor 'RootFolder.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/Options/FolderLocations.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 25, + "startColumn": 32, + "charOffset": 1082, + "charLength": 4, + "snippet": { + "text": "get;" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 23, + "startColumn": 1, + "charOffset": 1018, + "charLength": 170, + "snippet": { + "text": "public class FolderLocations\r\n{\r\n public string RootFolder { get; set; }\r\n public string ConfigFolder { get; set; }\r\n public string DownloadFolder { get; set; }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6bba334618898aaf", + "equalIndicator/v1": "c8e509662afd23693edc7f75ed3e0e8f11d2f9e55f217e6ea440f60de348d05f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedAutoPropertyAccessor.Global", + "kind": "fail", + "level": "warning", + "message": { + "text": "Auto-property accessor 'ConfigFolder.get' is never used", + "markdown": "Auto-property accessor 'ConfigFolder.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/Options/FolderLocations.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 26, + "startColumn": 34, + "charOffset": 1128, + "charLength": 4, + "snippet": { + "text": "get;" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 24, + "startColumn": 1, + "charOffset": 1048, + "charLength": 186, + "snippet": { + "text": "{\r\n public string RootFolder { get; set; }\r\n public string ConfigFolder { get; set; }\r\n public string DownloadFolder { get; set; }\r\n public string SettingsPath { get; set; }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "b9e11d48d5ca3fc7", + "equalIndicator/v1": "d11932b59213cccd66365b9767d0ac4e63ccb13d24bb487c3876f38af8cba72f" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'ShowSuccess' is never used", + "markdown": "Method 'ShowSuccess' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/NotificationService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 17, + "charOffset": 1270, + "charLength": 11, + "snippet": { + "text": "ShowSuccess" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1209, + "charLength": 141, + "snippet": { + "text": " private Action _pendingNotifications;\r\n\r\n public void ShowSuccess(string title, string message)\r\n {\r\n if (!window.IsLoaded)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "70f35251da0fbe4f", + "equalIndicator/v1": "248f693f76598b759c543d15a530a2f4db49f62f73a4396dff626cb6de762da1" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property 'WindowBackdropType' is never used", + "markdown": "Property 'WindowBackdropType' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/Contracts/IWindow.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 30, + "startColumn": 24, + "charOffset": 1192, + "charLength": 18, + "snippet": { + "text": "WindowBackdropType" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 28, + "startColumn": 1, + "charOffset": 1100, + "charLength": 159, + "snippet": { + "text": " bool IsLoaded { get; }\r\n Visibility Visibility { get; set; }\r\n WindowBackdropType WindowBackdropType { get; set; }\r\n\r\n void EnableSizeTracking();\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "7367756ab0a5fe27", + "equalIndicator/v1": "4f6c091aebc5b38cc94217448ee813fe8211e5862286bf3e0f109587f10d9b76" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Property 'TagName' is never used (except inside its declaration)", + "markdown": "Property 'TagName' is never used (except inside its declaration)" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Models/GutHubResponse.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 50, + "charOffset": 1223, + "charLength": 7, + "snippet": { + "text": "TagName" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1103, + "charLength": 282, + "snippet": { + "text": "{\r\n [JsonPropertyName(\"html_url\")] public string Url { get; set; }\r\n [JsonPropertyName(\"tag_name\")] public string TagName { get; set; }\r\n [JsonPropertyName(\"draft\")] public bool Draft { get; set; }\r\n [JsonPropertyName(\"prerelease\")] public bool PreRelease { get; set; }\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "8f713e6d9d230acd", + "equalIndicator/v1": "64df8854b682df984667ca12a831fb54328cf010f36c974695b6eca47cb247f6" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'SetCommand' is never used", + "markdown": "Method 'SetCommand' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 62, + "startColumn": 28, + "charOffset": 2066, + "charLength": 10, + "snippet": { + "text": "SetCommand" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 60, + "startColumn": 1, + "charOffset": 2030, + "charLength": 141, + "snippet": { + "text": " }\r\n\r\n public static MenuItem SetCommand(this MenuItem item, Action command)\r\n {\r\n item.Command = new RelayCommand(command);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "c44ce7c2580fdf97", + "equalIndicator/v1": "76cc0395b3b2dfcbde450cc098a726212cb5d8751a30074d325c0437542cd5ed" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'DependsOn' is never used", + "markdown": "Method 'DependsOn' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/Contracts/ILookupService.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 32, + "startColumn": 33, + "charOffset": 1508, + "charLength": 9, + "snippet": { + "text": "DependsOn" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 30, + "startColumn": 1, + "charOffset": 1310, + "charLength": 301, + "snippet": { + "text": " ILookupServiceDependsStage Snoop(SnoopableObject snoopableObject);\r\n ILookupServiceDependsStage Snoop(IReadOnlyCollection snoopableObjects);\r\n new ILookupServiceShowStage DependsOn(IServiceProvider provider);\r\n new ILookupServiceExecuteStage Show() where T : Page;\r\n}\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "20d9033a26b6259e", + "equalIndicator/v1": "aff52cc574c821de8f1b4edbd5836c995a9e4017801a9ab64c2015bac0c2a27b" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Accessor 'Visibility.get' is never used", + "markdown": "Accessor 'Visibility.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Services/Contracts/IWindow.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 29, + "charOffset": 1156, + "charLength": 3, + "snippet": { + "text": "get" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 1097, + "charLength": 130, + "snippet": { + "text": "{\r\n bool IsLoaded { get; }\r\n Visibility Visibility { get; set; }\r\n WindowBackdropType WindowBackdropType { get; set; }\r\n\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "55bd0a36aba9a8e7", + "equalIndicator/v1": "c959654ac024525588e6e869bf179ba6354f492770d7ba0485fedd0140402699" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'Build' is never used", + "markdown": "Method 'Build' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Core/Metadata/DescriptorBuilder.Api.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 28, + "startColumn": 51, + "charOffset": 1178, + "charLength": 5, + "snippet": { + "text": "Build" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 26, + "startColumn": 1, + "charOffset": 1078, + "charLength": 169, + "snippet": { + "text": "public sealed partial class DescriptorBuilder\r\n{\r\n public static IReadOnlyCollection Build(Type type)\r\n {\r\n var builder = new DescriptorBuilder\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "e4a6833e9c81f981", + "equalIndicator/v1": "e4492d2594379129ddaf7cb81e7e362812b40c249d2d0c65fbe5c28134acf616" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'StartProcess' is never used", + "markdown": "Method 'StartProcess' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 8, + "startColumn": 27, + "charOffset": 144, + "charLength": 12, + "snippet": { + "text": "StartProcess" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 6, + "startColumn": 1, + "charOffset": 81, + "charLength": 211, + "snippet": { + "text": "public static class ProcessTasks\r\n{\r\n public static Process StartProcess(string toolPath, string arguments = \"\", Action logger = null)\r\n {\r\n var startInfo = new ProcessStartInfo\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "08c8254e18b529f0", + "equalIndicator/v1": "e9f4a0d315526b7e3d33cd7b57bf0a869be573134ab9a973d243c12011edf4a4" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Accessor 'DataGridControl.get' is never used", + "markdown": "Accessor 'DataGridControl.get' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 9, + "charOffset": 2109, + "charLength": 3, + "snippet": { + "text": "get" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2054, + "charLength": 105, + "snippet": { + "text": " protected DataGrid DataGridControl\r\n {\r\n get => _dataGridControl;\r\n init\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "6e79f671aec471ff", + "equalIndicator/v1": "ee74d7167eaff7b6c4eb72e5b82f482d9e3488bc56556032a78ca61ce6679cdf" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMember.Local", + "kind": "fail", + "level": "warning", + "message": { + "text": "Method 'TryRestoreSelection' is never used", + "markdown": "Method 'TryRestoreSelection' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.xaml.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 239, + "startColumn": 18, + "charOffset": 7903, + "charLength": 19, + "snippet": { + "text": "TryRestoreSelection" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 237, + "startColumn": 1, + "charOffset": 7831, + "charLength": 162, + "snippet": { + "text": " /// \r\n [Obsolete(\"Low performance\")]\r\n private bool TryRestoreSelection()\r\n {\r\n if (ViewModel.SelectedObject is null) return false;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "f4c890c2b34bf19f", + "equalIndicator/v1": "9496bd7f977e019aedad9eb0030612b447f66c9ef975ba29fa37549b9aaf26b8" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'SetAvailability' return value is never used", + "markdown": "Method 'SetAvailability' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 152, + "startColumn": 19, + "charOffset": 5182, + "charLength": 8, + "snippet": { + "text": "MenuItem" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 150, + "startColumn": 1, + "charOffset": 5155, + "charLength": 166, + "snippet": { + "text": " }\r\n\r\n public static MenuItem SetAvailability(this MenuItem item, bool condition)\r\n {\r\n item.SetCurrentValue(UIElement.IsEnabledProperty, condition);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a471fcf089ceebcc", + "equalIndicator/v1": "2c18d27f261e0194f955a10a2f898aaf5261e76df8da874a0ce1aa6181bc4c85" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'SetCommand' return value is never used", + "markdown": "Method 'SetCommand' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 98, + "startColumn": 19, + "charOffset": 3081, + "charLength": 8, + "snippet": { + "text": "MenuItem" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 96, + "startColumn": 1, + "charOffset": 3054, + "charLength": 153, + "snippet": { + "text": " }\r\n\r\n public static MenuItem SetCommand(this MenuItem item, bool isChecked, Func command)\r\n {\r\n item.IsChecked = isChecked;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a12e66e3f7596bb3", + "equalIndicator/v1": "2f3dc0b0f6a70068989cc7a01c6948ce6e02f2a48a66ab13d6b3b5beeb073ada" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'SetCommand' return value is never used", + "markdown": "Method 'SetCommand' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 84, + "startColumn": 19, + "charOffset": 2605, + "charLength": 8, + "snippet": { + "text": "MenuItem" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 82, + "startColumn": 1, + "charOffset": 2578, + "charLength": 149, + "snippet": { + "text": " }\r\n\r\n public static MenuItem SetCommand(this MenuItem item, bool isChecked, Action command)\r\n {\r\n item.IsChecked = isChecked;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "caf29d1110e4af3c", + "equalIndicator/v1": "40e079789d6a4c2bf1609df7f97ea51d479e12a2c38247d120fadf0ebf4b9ce0" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'SetGestureText' return value is never used", + "markdown": "Method 'SetGestureText' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 145, + "startColumn": 19, + "charOffset": 4959, + "charLength": 8, + "snippet": { + "text": "MenuItem" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 143, + "startColumn": 1, + "charOffset": 4932, + "charLength": 198, + "snippet": { + "text": " }\r\n\r\n public static MenuItem SetGestureText(this MenuItem item, Key key)\r\n {\r\n item.InputGestureText = new KeyGesture(key).GetDisplayStringForCulture(CultureInfo.InvariantCulture);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a5bf533f284be640", + "equalIndicator/v1": "9319ca9e2d19450129b69d6380766c9d4591aa84b6cf7c52304030bf7443323a" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'StartShell' return value is never used", + "markdown": "Method 'StartShell' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Utils/ProcessTasks.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 29, + "startColumn": 19, + "charOffset": 869, + "charLength": 7, + "snippet": { + "text": "Process" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 27, + "startColumn": 1, + "charOffset": 838, + "charLength": 143, + "snippet": { + "text": " }\r\n \r\n public static Process StartShell(string toolPath, string arguments = \"\")\r\n {\r\n var startInfo = new ProcessStartInfo\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "efffc635cfedc1d7", + "equalIndicator/v1": "97ef16b94e0ce193f4c8de18317e41820f3810927055434877d4dd0009c1fbf8" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'SetShortcut' return value is never used", + "markdown": "Method 'SetShortcut' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 112, + "startColumn": 19, + "charOffset": 3566, + "charLength": 8, + "snippet": { + "text": "MenuItem" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 110, + "startColumn": 1, + "charOffset": 3539, + "charLength": 250, + "snippet": { + "text": " }\r\n\r\n public static MenuItem SetShortcut(this MenuItem item, UIElement bindableElement, KeyGesture gesture)\r\n {\r\n bindableElement.InputBindings.Add(new InputBinding(item.Command, gesture) {CommandParameter = item.CommandParameter});\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "bf2d62ca94f121fb", + "equalIndicator/v1": "bd93d3e8710ee1ef9d205c28355b3043c1c79ab27d54c0ef5873ba4dfb1a8d62" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedMethodReturnValue.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Method 'SetShortcut' return value is never used", + "markdown": "Method 'SetShortcut' return value is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Extensions/ContextMenuExtensions.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 129, + "startColumn": 19, + "charOffset": 4397, + "charLength": 8, + "snippet": { + "text": "MenuItem" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 127, + "startColumn": 1, + "charOffset": 4370, + "charLength": 160, + "snippet": { + "text": " }\r\n\r\n public static MenuItem SetShortcut(this MenuItem item, UIElement bindableElement, Key key)\r\n {\r\n var inputGesture = new KeyGesture(key);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "415cf6ffb82c1a45", + "equalIndicator/v1": "c596adf4197a8950923b1921a98a0509569748e4aba91b4207f1aaff17363ba5" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedParameterInPartialMethod", + "kind": "fail", + "level": "warning", + "message": { + "text": "Parameter 'value' is never used", + "markdown": "Parameter 'value' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/SnoopViewModelBase.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 72, + "startColumn": 73, + "charOffset": 2972, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 70, + "startColumn": 1, + "charOffset": 2891, + "charLength": 149, + "snippet": { + "text": " }\r\n\r\n partial void OnSnoopableDataChanged(IReadOnlyCollection value)\r\n {\r\n UpdateSearchResults(SearchOption.Selection);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "a7aee9e11abe8bba", + "equalIndicator/v1": "2906b1164679e36d81e032a232e7887a4cfb022b80c297a31db177274a793ce9" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedParameterInPartialMethod", + "kind": "fail", + "level": "warning", + "message": { + "text": "Parameter 'value' is never used", + "markdown": "Parameter 'value' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/SnoopViewModelBase.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 66, + "startColumn": 81, + "charOffset": 2792, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 64, + "startColumn": 1, + "charOffset": 2703, + "charLength": 135, + "snippet": { + "text": " }\r\n\r\n partial void OnSnoopableObjectsChanged(IReadOnlyCollection value)\r\n {\r\n SelectedObject = null;\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "3e4385bb61794ae4", + "equalIndicator/v1": "40180f3ef59b291f7023556df4363f3fb3b6a296ae54df75e0f9b20e2489d34c" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedParameterInPartialMethod", + "kind": "fail", + "level": "warning", + "message": { + "text": "Parameter 'value' is never used", + "markdown": "Parameter 'value' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Pages/SnoopViewModelBase.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 61, + "startColumn": 45, + "charOffset": 2636, + "charLength": 5, + "snippet": { + "text": "value" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 59, + "startColumn": 1, + "charOffset": 2583, + "charLength": 119, + "snippet": { + "text": " }\r\n\r\n partial void OnSearchTextChanged(string value)\r\n {\r\n UpdateSearchResults(SearchOption.Objects);\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "83a17f0b755145ca", + "equalIndicator/v1": "b4c0104cf08740090bc669811cd3aa619692bbf9f26ae221a982bfd2803f74e3" + }, + "properties": { + "ideaSeverity": "WARNING", + "qodanaSeverity": "High", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UnusedType.Global", + "kind": "fail", + "level": "note", + "message": { + "text": "Class 'InverseUpdateDownloadedVisibilityConverter' is never used", + "markdown": "Class 'InverseUpdateDownloadedVisibilityConverter' is never used" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Converters/UpdateConverter.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 92, + "startColumn": 14, + "charOffset": 3553, + "charLength": 42, + "snippet": { + "text": "InverseUpdateDownloadedVisibilityConverter" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 90, + "startColumn": 1, + "charOffset": 3470, + "charLength": 261, + "snippet": { + "text": "\r\n[ValueConversion(typeof(SoftwareUpdateState), typeof(Visibility))]\r\npublic class InverseUpdateDownloadedVisibilityConverter : MarkupExtension, IValueConverter\r\n{\r\n public object Convert(object value, Type targetType, object parameter, CultureInfo culture)\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "89883da9341215fb", + "equalIndicator/v1": "32c9b7608f672dfba64322d3fda56f2a323d74404b795d34cd0d4ed978b42938" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "UseCollectionExpression", + "kind": "fail", + "level": "note", + "message": { + "text": "Use collection expression", + "markdown": "Use collection expression" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/ViewModels/Dialogs/SearchElementsViewModel.cs", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 114, + "startColumn": 39, + "charOffset": 4637, + "charLength": 5, + "snippet": { + "text": "new[]" + }, + "sourceLanguage": "C#" + }, + "contextRegion": { + "startLine": 112, + "startColumn": 1, + "charOffset": 4536, + "charLength": 287, + "snippet": { + "text": " {\r\n var delimiter = delimiters[i];\r\n var split = row.Split(new[]{delimiter}, StringSplitOptions.RemoveEmptyEntries);\r\n if (split.Length > 1 || i == delimiters.Length - 1 || split.Length == 1 && split[0] != row)\r\n {\r" + }, + "sourceLanguage": "C#" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "dc553e962b58f28f", + "equalIndicator/v1": "444cc4f83a52590f404c38bd3a1f3209e0f7c4ff5ec396513dd479286ebe9842" + }, + "properties": { + "ideaSeverity": "WEAK WARNING", + "qodanaSeverity": "Moderate", + "tags": [ + "C#", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "Xaml.BindingWithContextNotResolved", + "kind": "fail", + "level": "warning", + "message": { + "text": "Unable to resolve symbol 'Items'", + "markdown": "Unable to resolve symbol 'Items'" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Controls/TreeView/TreeViewItemTemplate.xaml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 16, + "startColumn": 31, + "charOffset": 732, + "charLength": 5, + "snippet": { + "text": "Items" + }, + "sourceLanguage": "Xaml" + }, + "contextRegion": { + "startLine": 14, + "startColumn": 1, + "charOffset": 619, + "charLength": 234, + "snippet": { + "text": " \r\n \r\n \r\n \r" + }, + "sourceLanguage": "Xaml" + } + }, + "logicalLocations": [ + { + "fullyQualifiedName": "RevitLookup", + "kind": "module" + } + ] + } + ], + "partialFingerprints": { + "equalIndicator/v2": "ae6c94967bd875b7", + "equalIndicator/v1": "4f86d7e60d6f2d9b05e24f47246451abe4c08cc78494cb578d25f9ff7fc14149" + }, + "properties": { + "ideaSeverity": "TYPO", + "qodanaSeverity": "Low", + "tags": [ + "Xaml", + ".NETFramework 4.8" + ] + } + }, + { + "ruleId": "Xaml.StaticResourceNotResolved", + "kind": "fail", + "level": "warning", + "message": { + "text": "Resource 'DefaultDataGridCellStyle' is not found", + "markdown": "Resource 'DefaultDataGridCellStyle' is not found" + }, + "locations": [ + { + "physicalLocation": { + "artifactLocation": { + "uri": "source/RevitLookup/Views/Dialogs/UnitsDialog.xaml", + "uriBaseId": "SRCROOT" + }, + "region": { + "startLine": 45, + "startColumn": 42, + "charOffset": 1745, + "charLength": 24, + "snippet": { + "text": "DefaultDataGridCellStyle" + }, + "sourceLanguage": "Xaml" + }, + "contextRegion": { + "startLine": 43, + "startColumn": 1, + "charOffset": 1641, + "charLength": 196, + "snippet": { + "text": " \r\n \r\n \r\n Date: Tue, 14 May 2024 16:28:02 +0200 Subject: [PATCH 05/19] Improve FamilySizeTableDialog --- .../Descriptors/FamilySizeTableDescriptor.cs | 13 ++++-- .../Dialogs/FamilySizeTableDialogViewModel.cs | 44 ++++++++++++------- .../Views/Dialogs/FamilySizeTableDialog.xaml | 13 ++++-- .../Dialogs/FamilySizeTableDialog.xaml.cs | 12 ++--- 4 files changed, 50 insertions(+), 32 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs index 410ed352..90dbb056 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs @@ -19,12 +19,17 @@ // (Rights in Technical Data and Computer Software), as applicable. using System.Reflection; +using System.Windows.Controls; +using Microsoft.Extensions.Logging; using RevitLookup.Core.Contracts; using RevitLookup.Core.Objects; +using RevitLookup.ViewModels.Contracts; +using RevitLookup.Views.Dialogs; +using RevitLookup.Views.Extensions; namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class FamilySizeTableDescriptor(FamilySizeTable table) : Descriptor, IDescriptorResolver +public sealed class FamilySizeTableDescriptor(FamilySizeTable table) : Descriptor, IDescriptorResolver, IDescriptorConnector { public Func Resolve(Document context, string target, ParameterInfo[] parameters) { @@ -68,13 +73,13 @@ public void RegisterMenu(ContextMenu contextMenu) { contextMenu.AddMenuItem() .SetHeader("Show table") - .SetAvailability(_table.IsValidObject) - .SetCommand(_table, async _ => + .SetAvailability(table.IsValidObject) + .SetCommand(table, async _ => { var context = (ISnoopViewModel) contextMenu.DataContext; try { - var dialog = new FamilySizeTableDialog(context.ServiceProvider, _table, Name); + var dialog = new FamilySizeTableDialog(context.ServiceProvider, table); await dialog.ShowAsync(); } catch (Exception exception) diff --git a/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs b/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs index 250b06c4..ee9cdd8e 100644 --- a/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs +++ b/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs @@ -25,33 +25,26 @@ namespace RevitLookup.ViewModels.Dialogs; public class FamilySizeTableDialogViewModel : DataTable { private readonly FamilySizeTable _table; - public FamilySizeTableDialogViewModel(FamilySizeTable table, string name) + public FamilySizeTableDialogViewModel(FamilySizeTable table) { _table = table; - Name = name; Initialize(); } - public string Name { get; set; } - private void Initialize() { var columnsCount = _table.NumberOfColumns; var rowsCount = _table.NumberOfRows; - for (var i = 0; i < columnsCount; i++) - { - Columns.Add(new DataColumn(_table.GetColumnHeader(i).Name)); - } + CreateColumns(columnsCount); - var unitsArray = new object[columnsCount]; - for (var i = 0; i < columnsCount; i++) - { - unitsArray[i] = _table.GetColumnHeader(i).GetUnitTypeId().ToUnitLabel(); - } - - Rows.Add(unitsArray); + WriteUnits(columnsCount); + WriteRows(rowsCount, columnsCount); + } + + private void WriteRows(int rowsCount, int columnsCount) + { for (var i = 0; i < rowsCount; i++) { var rowArray = new object[columnsCount]; @@ -63,4 +56,25 @@ private void Initialize() Rows.Add(rowArray); } } + + private void WriteUnits(int columnsCount) + { + var unitsArray = new object[columnsCount]; + unitsArray[0] = "Units:"; + for (var i = 1; i < columnsCount; i++) + { + var typeId = _table.GetColumnHeader(i).GetUnitTypeId(); + unitsArray[i] = UnitUtils.IsUnit(typeId) ? typeId.ToUnitLabel() : typeId.ToGroupLabel(); + } + + Rows.Add(unitsArray); + } + + private void CreateColumns(int columnsCount) + { + for (var i = 0; i < columnsCount; i++) + { + Columns.Add(new DataColumn(_table.GetColumnHeader(i).Name)); + } + } } \ No newline at end of file diff --git a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml index 3e43223c..c62bbe67 100644 --- a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml +++ b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml @@ -1,13 +1,18 @@ - - - \ No newline at end of file + + \ No newline at end of file diff --git a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs index 4cd82fa0..e7c55099 100644 --- a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs +++ b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs @@ -18,25 +18,19 @@ // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) // (Rights in Technical Data and Computer Software), as applicable. -using System.Windows; -using RevitLookup.Models; -using RevitLookup.Services; using RevitLookup.ViewModels.Dialogs; using Wpf.Ui; -using Wpf.Ui.Controls; namespace RevitLookup.Views.Dialogs; public sealed partial class FamilySizeTableDialog { private readonly IServiceProvider _serviceProvider; - private readonly string _name; - public FamilySizeTableDialog(IServiceProvider serviceProvider, FamilySizeTable table, string name) + public FamilySizeTableDialog(IServiceProvider serviceProvider, FamilySizeTable table) { - DataContext = new FamilySizeTableDialogViewModel(table, name); + DataContext = new FamilySizeTableDialogViewModel(table); _serviceProvider = serviceProvider; - _name = name; InitializeComponent(); } @@ -44,7 +38,7 @@ public async Task ShowAsync() { var dialogOptions = new SimpleContentDialogCreateOptions { - Title = _name, + Title = "Family size table", Content = this, CloseButtonText = "Close", DialogMaxWidth = 1500 From 71fa6a2dc58f352c413e9df674075991c2d12867 Mon Sep 17 00:00:00 2001 From: SergeyNefyodov Date: Tue, 14 May 2024 16:35:21 +0200 Subject: [PATCH 06/19] Fix Revit 2021 bug --- .../ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs b/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs index ee9cdd8e..5e9faa20 100644 --- a/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs +++ b/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs @@ -25,6 +25,7 @@ namespace RevitLookup.ViewModels.Dialogs; public class FamilySizeTableDialogViewModel : DataTable { private readonly FamilySizeTable _table; + public FamilySizeTableDialogViewModel(FamilySizeTable table) { _table = table; @@ -64,7 +65,11 @@ private void WriteUnits(int columnsCount) for (var i = 1; i < columnsCount; i++) { var typeId = _table.GetColumnHeader(i).GetUnitTypeId(); +#if REVIT2022_OR_GREATER unitsArray[i] = UnitUtils.IsUnit(typeId) ? typeId.ToUnitLabel() : typeId.ToGroupLabel(); +#else + unitsArray[i] = UnitUtils.IsUnit(typeId) ? typeId.ToUnitLabel() : "Other"; +#endif } Rows.Add(unitsArray); From 57b82070070e2515a2fedf8a893be3d1faee4a71 Mon Sep 17 00:00:00 2001 From: SergeyNefyodov Date: Tue, 14 May 2024 16:38:25 +0200 Subject: [PATCH 07/19] Remove excessive code --- .../Views/Pages/Abstraction/SnoopViewBase.Navigation.cs | 4 ---- source/RevitLookup/Views/Pages/SettingsView.xaml.cs | 1 - 2 files changed, 5 deletions(-) diff --git a/source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs b/source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs index 7009dd47..06eac2c6 100644 --- a/source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs +++ b/source/RevitLookup/Views/Pages/Abstraction/SnoopViewBase.Navigation.cs @@ -22,12 +22,8 @@ using System.Windows.Controls; using System.Windows.Data; using System.Windows.Input; -using RevitLookup.Core.ComponentModel.Descriptors; using RevitLookup.Core.Contracts; using RevitLookup.Core.Objects; -using RevitLookup.Models; -using RevitLookup.ViewModels.Contracts; -using RevitLookup.Views.Dialogs; using RevitLookup.Views.Utils; namespace RevitLookup.Views.Pages.Abstraction; diff --git a/source/RevitLookup/Views/Pages/SettingsView.xaml.cs b/source/RevitLookup/Views/Pages/SettingsView.xaml.cs index 323c42cb..d011554d 100644 --- a/source/RevitLookup/Views/Pages/SettingsView.xaml.cs +++ b/source/RevitLookup/Views/Pages/SettingsView.xaml.cs @@ -18,7 +18,6 @@ // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) // (Rights in Technical Data and Computer Software), as applicable. -using System.Data; using RevitLookup.ViewModels.Pages; using Wpf.Ui.Controls; From 4be08edb08ebd7b5bbb4f6d77274a4fa105eed6a Mon Sep 17 00:00:00 2001 From: Nice3point Date: Wed, 15 May 2024 02:03:38 +0300 Subject: [PATCH 08/19] Bump dependency version --- source/RevitLookup/RevitLookup.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/RevitLookup/RevitLookup.csproj b/source/RevitLookup/RevitLookup.csproj index 0897e555..77b1d29d 100644 --- a/source/RevitLookup/RevitLookup.csproj +++ b/source/RevitLookup/RevitLookup.csproj @@ -63,8 +63,8 @@ - - + + From 7f48e00f7ad91c911d9e405c77273c247ccbdb4e Mon Sep 17 00:00:00 2001 From: Nice3point Date: Wed, 15 May 2024 02:04:04 +0300 Subject: [PATCH 09/19] Cleanup --- .../Descriptors/FamilySizeTableDescriptor.cs | 5 +- .../Dialogs/FamilySizeTableDialogViewModel.cs | 57 +++++-------------- .../Views/Dialogs/FamilySizeTableDialog.xaml | 17 +++--- .../Dialogs/FamilySizeTableDialog.xaml.cs | 3 +- 4 files changed, 25 insertions(+), 57 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs index 90dbb056..82b78a96 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs @@ -38,7 +38,6 @@ public Func Resolve(Document context, string target, ParameterInfo[] nameof(FamilySizeTable.GetColumnHeader) => ResolveColumnHeader, nameof(FamilySizeTable.IsValidColumnIndex) => ResolveIsValidColumnIndex, _ => null - }; IVariants ResolveColumnHeader() @@ -74,12 +73,12 @@ public void RegisterMenu(ContextMenu contextMenu) contextMenu.AddMenuItem() .SetHeader("Show table") .SetAvailability(table.IsValidObject) - .SetCommand(table, async _ => + .SetCommand(table, async sizeTable => { var context = (ISnoopViewModel) contextMenu.DataContext; try { - var dialog = new FamilySizeTableDialog(context.ServiceProvider, table); + var dialog = new FamilySizeTableDialog(context.ServiceProvider, sizeTable); await dialog.ShowAsync(); } catch (Exception exception) diff --git a/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs b/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs index 5e9faa20..784acb91 100644 --- a/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs +++ b/source/RevitLookup/ViewModels/Dialogs/FamilySizeTableDialogViewModel.cs @@ -22,64 +22,37 @@ namespace RevitLookup.ViewModels.Dialogs; -public class FamilySizeTableDialogViewModel : DataTable +public sealed class FamilySizeTableDialogViewModel : DataTable { - private readonly FamilySizeTable _table; - public FamilySizeTableDialogViewModel(FamilySizeTable table) { - _table = table; - Initialize(); + CreateColumns(table); + WriteRows(table); } - private void Initialize() + private void WriteRows(FamilySizeTable table) { - var columnsCount = _table.NumberOfColumns; - var rowsCount = _table.NumberOfRows; - - CreateColumns(columnsCount); - - WriteUnits(columnsCount); - - WriteRows(rowsCount, columnsCount); - } - - private void WriteRows(int rowsCount, int columnsCount) - { - for (var i = 0; i < rowsCount; i++) + for (var i = 0; i < table.NumberOfRows; i++) { - var rowArray = new object[columnsCount]; - for (var j = 0; j < columnsCount; j++) + var rowArray = new object[table.NumberOfColumns]; + for (var j = 0; j < table.NumberOfColumns; j++) { - rowArray[j] = _table.AsValueString(i, j); + rowArray[j] = table.AsValueString(i, j); } Rows.Add(rowArray); } } - private void WriteUnits(int columnsCount) - { - var unitsArray = new object[columnsCount]; - unitsArray[0] = "Units:"; - for (var i = 1; i < columnsCount; i++) - { - var typeId = _table.GetColumnHeader(i).GetUnitTypeId(); -#if REVIT2022_OR_GREATER - unitsArray[i] = UnitUtils.IsUnit(typeId) ? typeId.ToUnitLabel() : typeId.ToGroupLabel(); -#else - unitsArray[i] = UnitUtils.IsUnit(typeId) ? typeId.ToUnitLabel() : "Other"; -#endif - } - - Rows.Add(unitsArray); - } - - private void CreateColumns(int columnsCount) + private void CreateColumns(FamilySizeTable table) { - for (var i = 0; i < columnsCount; i++) + for (var i = 0; i < table.NumberOfColumns; i++) { - Columns.Add(new DataColumn(_table.GetColumnHeader(i).Name)); + var typeId = table.GetColumnHeader(i).GetUnitTypeId(); + var headerName = table.GetColumnHeader(i).Name; + + var columnName = typeId.Empty() ? headerName : $"{headerName}##{typeId.ToUnitLabel()}"; + Columns.Add(new DataColumn(columnName, typeof(string))); } } } \ No newline at end of file diff --git a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml index c62bbe67..7ceb50fb 100644 --- a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml +++ b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml @@ -1,4 +1,4 @@ - - - \ No newline at end of file + + \ No newline at end of file diff --git a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs index e7c55099..80811edb 100644 --- a/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs +++ b/source/RevitLookup/Views/Dialogs/FamilySizeTableDialog.xaml.cs @@ -40,8 +40,7 @@ public async Task ShowAsync() { Title = "Family size table", Content = this, - CloseButtonText = "Close", - DialogMaxWidth = 1500 + CloseButtonText = "Close" }; await _serviceProvider.GetService().ShowSimpleDialogAsync(dialogOptions); From aafb5590f28f9a6ac8637c6058be0dd46c20eecb Mon Sep 17 00:00:00 2001 From: Nice3point Date: Wed, 15 May 2024 02:04:14 +0300 Subject: [PATCH 10/19] Add DisposableDescriptor --- .../Core/ComponentModel/DescriptorMap.cs | 32 ++++++++++--------- .../Descriptors/DisposableDescriptor.cs | 26 +++++++++++++++ 2 files changed, 43 insertions(+), 15 deletions(-) create mode 100644 source/RevitLookup/Core/ComponentModel/Descriptors/DisposableDescriptor.cs diff --git a/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs b/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs index 2dbbea6f..95c3e9a7 100644 --- a/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs +++ b/source/RevitLookup/Core/ComponentModel/DescriptorMap.cs @@ -53,22 +53,22 @@ public static Descriptor FindDescriptor(object obj, Type type) //Internal IVariants value => new VariantsDescriptor(value), Variant value => new VariantDescriptor(value), - + //System string value when type is null || type == typeof(string) => new StringDescriptor(value), bool value when type is null || type == typeof(bool) => new BoolDescriptor(value), IEnumerable value => new EnumerableDescriptor(value), Exception value when type is null || type == typeof(Exception) => new ExceptionDescriptor(value), - + //Root ElementId value when type is null || type == typeof(ElementId) => new ElementIdDescriptor(value), GuidEnum value when type is null || type == typeof(GuidEnum) => new GuidEnumDescriptor(value), Definition value when type is null || type == typeof(Definition) => new DefinitionDescriptor(value), - + //Enumerator DefinitionBindingMapIterator value => new DefinitionBindingMapIteratorDescriptor(value), IEnumerator value => new EnumeratorDescriptor(value), - + //APIObjects Category value when type is null || type == typeof(Category) => new CategoryDescriptor(value), Parameter value when type is null || type == typeof(Parameter) => new ParameterDescriptor(value), @@ -88,26 +88,28 @@ public static Descriptor FindDescriptor(object obj, Type type) LocationCurve value when type is null || type == typeof(LocationCurve) => new LocationCurveDescriptor(value), CurtainGrid value when type is null || type == typeof(CurtainGrid) => new CurtainGridDescriptor(value), APIObject when type is null || type == typeof(APIObject) => new ApiObjectDescriptor(), - - //IDisposables + + //Elements + Panel value when type is null || type == typeof(Panel) => new PanelDescriptor(value), + FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value), + Family value when type is null || type == typeof(Family) => new FamilyDescriptor(value), ViewSchedule value when type is null || type == typeof(ViewSchedule) => new ViewScheduleDescriptor(value), TableView value when type is null || type == typeof(TableView) => new TableViewDescriptor(value), - View value when type is null || type == typeof(View) => new ViewDescriptor(value), + View value when type is null || type == typeof(View) => new ViewDescriptor(value), Wire value when type is null || type == typeof(Wire) => new WireDescriptor(value), HostObject value when type is null || type == typeof(HostObject) => new HostObjectDescriptor(value), + ElevationMarker value when type is null || type == typeof(ElevationMarker) => new ElevationMarkerDescriptor(value), RevitLinkType value when type is null || type == typeof(RevitLinkType) => new RevitLinkTypeDescriptor(value), - Panel value when type is null || type == typeof(Panel) => new PanelDescriptor(value), - FamilyInstance value when type is null || type == typeof(FamilyInstance) => new FamilyInstanceDescriptor(value), SpatialElement value when type is null || type == typeof(SpatialElement) => new SpatialElementDescriptor(value), IndependentTag value when type is null || type == typeof(IndependentTag) => new IndependentTagDescriptor(value), MEPSystem value when type is null || type == typeof(MEPSystem) => new MepSystemDescriptor(value), - Family value when type is null || type == typeof(Family) => new FamilyDescriptor(value), BasePoint value when type is null || type == typeof(BasePoint) => new BasePointDescriptor(value), InternalOrigin value when type is null || type == typeof(InternalOrigin) => new InternalOriginDescriptor(value), CurveElement value when type is null || type == typeof(CurveElement) => new CurveElementDescriptor(value), - ElevationMarker value when type is null || type == typeof(ElevationMarker) => new ElevationMarkerDescriptor(value), DatumPlane value when type is null || type == typeof(DatumPlane) => new DatumPlaneDescriptor(value), Element value when type is null || type == typeof(Element) => new ElementDescriptor(value), + + //IDisposables Document value when type is null || type == typeof(Document) => new DocumentDescriptor(value), PlanViewRange value when type is null || type == typeof(PlanViewRange) => new PlanViewRangeDescriptor(value), ForgeTypeId value when type is null || type == typeof(ForgeTypeId) => new ForgeTypeIdDescriptor(value), @@ -136,11 +138,11 @@ public static Descriptor FindDescriptor(object obj, Type type) #if REVIT2024_OR_GREATER EvaluatedParameter value when type is null || type == typeof(EvaluatedParameter) => new EvaluatedParameterDescriptor(value), #endif - IDisposable when type is null || type == typeof(IDisposable) => new ApiObjectDescriptor(), //Faster then obj.GetType().Namespace == "Autodesk.Revit.DB" - + IDisposable when type is null || type == typeof(IDisposable) => new DisposableDescriptor(), //Faster then obj.GetType().Namespace == "Autodesk.Revit.DB" + //Media System.Windows.Media.Color value when type is null || type == typeof(System.Windows.Media.Color) => new ColorMediaDescriptor(value), - + //ComponentManager UIElement => new UiElementDescriptor(), DispatcherObject => new DependencyObjectDescriptor(), @@ -150,7 +152,7 @@ public static Descriptor FindDescriptor(object obj, Type type) Autodesk.Windows.RibbonPanel value => new RibbonPanelDescriptor(value), RibbonTab value => new RibbonTabDescriptor(value), INotifyPropertyChanged => new UiObjectDescriptor(), - + //Unknown null when type is null => new ObjectDescriptor(), _ when type is null => new ObjectDescriptor(obj), diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/DisposableDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/DisposableDescriptor.cs new file mode 100644 index 00000000..a45252cb --- /dev/null +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/DisposableDescriptor.cs @@ -0,0 +1,26 @@ +// Copyright 2003-2024 by Autodesk, Inc. +// +// Permission to use, copy, modify, and distribute this software in +// object code form for any purpose and without fee is hereby granted, +// provided that the above copyright notice appears in all copies and +// that both that copyright notice and the limited warranty and +// restricted rights notice below appear in all supporting +// documentation. +// +// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. +// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF +// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. +// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE +// UNINTERRUPTED OR ERROR FREE. +// +// Use, duplication, or disclosure by the U.S. Government is subject to +// restrictions set forth in FAR 52.227-19 (Commercial Computer +// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) +// (Rights in Technical Data and Computer Software), as applicable. + +using RevitLookup.Core.Contracts; +using RevitLookup.Core.Objects; + +namespace RevitLookup.Core.ComponentModel.Descriptors; + +public sealed class DisposableDescriptor : Descriptor, IDescriptorCollector; \ No newline at end of file From 6f7e7f118f5a9aba9796fe8952d0784060367821 Mon Sep 17 00:00:00 2001 From: Nice3point Date: Wed, 15 May 2024 02:13:16 +0300 Subject: [PATCH 11/19] Roll back qodana-action to v2023.3 --- .github/workflows/Qodana.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Qodana.yml b/.github/workflows/Qodana.yml index 08d680e3..dc1376fd 100644 --- a/.github/workflows/Qodana.yml +++ b/.github/workflows/Qodana.yml @@ -20,7 +20,7 @@ jobs: ref: ${{ github.event.pull_request.merge_commit_sha }} fetch-depth: 0 - name: 'Qodana Scan' - uses: JetBrains/qodana-action@main + uses: JetBrains/qodana-action@v2023.3 with: args: --baseline,qodana.sarif.json,--ide,QDNET pr-mode: ${{ github.event_name == 'pull_request_target' }} From f0747c90b565575a6541ab6bc1359a6b0dbece01 Mon Sep 17 00:00:00 2001 From: SergeyNefyodov Date: Wed, 15 May 2024 22:12:02 +0200 Subject: [PATCH 12/19] Add phases support for Element, fix FamilyInstance phases bug --- .../Descriptors/ElementDescriptor.cs | 70 +++++++++++++++++++ .../Descriptors/FamilyInstanceDescriptor.cs | 9 ++- 2 files changed, 76 insertions(+), 3 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs index 34031c08..85dd2014 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs @@ -121,6 +121,11 @@ public Func Resolve(Document context, string target, ParameterInfo[] nameof(Element.GetMaterialArea) => ResolveGetMaterialArea, nameof(Element.GetMaterialVolume) => ResolveGetMaterialVolume, nameof(Element.GetEntity) => ResolveGetEntity, + nameof(Element.GetPhaseStatus) => ResolvePhaseStatus, + nameof(Element.IsPhaseCreatedValid) => ResolveIsPhaseCreatedValid, + nameof(Element.IsCreatedPhaseOrderValid) => ResolveIsCreatedPhaseOrderValid, + nameof(Element.IsPhaseDemolishedValid) => ResolveIsPhaseDemolishedValid, + nameof(Element.IsDemolishedPhaseOrderValid) => ResolveIsDemolishedPhaseOrderValid, "BoundingBox" => ResolveBoundingBox, "Geometry" => ResolveGeometry, _ => null @@ -270,6 +275,71 @@ IVariants ResolveGetDependentElements() { return Variants.Single(_element.GetDependentElements(null)); } + + IVariants ResolvePhaseStatus() + { + var phases = context.Phases; + var variants = new Variants(phases.Size); + foreach (Phase phase in phases) + { + var result = _element.GetPhaseStatus(phase.Id); + variants.Add(result, $"{phase.Name}: {result}"); + } + + return variants; + } + + IVariants ResolveIsPhaseCreatedValid() + { + var phases = context.Phases; + var variants = new Variants(phases.Size); + foreach (Phase phase in phases) + { + var result = _element.IsPhaseCreatedValid(phase.Id); + variants.Add(result, $"{phase.Name}: {result}"); + } + + return variants; + } + + IVariants ResolveIsCreatedPhaseOrderValid() + { + var phases = context.Phases; + var variants = new Variants(phases.Size); + foreach (Phase phase in phases) + { + var result = _element.IsCreatedPhaseOrderValid(phase.Id); + variants.Add(result, $"{phase.Name}: {result}"); + } + + return variants; + } + + IVariants ResolveIsPhaseDemolishedValid() + { + var phases = context.Phases; + var variants = new Variants(phases.Size); + foreach (Phase phase in phases) + { + var result = _element.IsPhaseDemolishedValid(phase.Id); + variants.Add(result, $"{phase.Name}: {result}"); + } + + return variants; + } + + IVariants ResolveIsDemolishedPhaseOrderValid() + { + var phases = context.Phases; + var variants = new Variants(phases.Size); + foreach (Phase phase in phases) + { + var result = _element.IsDemolishedPhaseOrderValid(phase.Id); + variants.Add(result, $"{phase.Name}: {result}"); + } + + return variants; + } } public static string CreateName(Element element) diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs index 849f0217..6222b22d 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs @@ -52,7 +52,8 @@ IVariants ResolveGetRoom() var variants = new Variants(_familyInstance.Document.Phases.Size); foreach (Phase phase in _familyInstance.Document.Phases) { - variants.Add(_familyInstance.get_Room(phase), phase.Name); + if (_familyInstance.GetPhaseStatus(phase.Id) != ElementOnPhaseStatus.Future) + variants.Add(_familyInstance.get_Room(phase), phase.Name); } return variants; @@ -63,7 +64,8 @@ IVariants ResolveFromRoom() var variants = new Variants(_familyInstance.Document.Phases.Size); foreach (Phase phase in _familyInstance.Document.Phases) { - variants.Add(_familyInstance.get_FromRoom(phase), phase.Name); + if (_familyInstance.GetPhaseStatus(phase.Id) != ElementOnPhaseStatus.Future) + variants.Add(_familyInstance.get_FromRoom(phase), phase.Name); } return variants; @@ -74,7 +76,8 @@ IVariants ResolveToRoom() var variants = new Variants(_familyInstance.Document.Phases.Size); foreach (Phase phase in _familyInstance.Document.Phases) { - variants.Add(_familyInstance.get_ToRoom(phase), phase.Name); + if (_familyInstance.GetPhaseStatus(phase.Id) != ElementOnPhaseStatus.Future) + variants.Add(_familyInstance.get_ToRoom(phase), phase.Name); } return variants; From 42c69b58dcd22aa892247de3a7e266ac3b1c6217 Mon Sep 17 00:00:00 2001 From: SergeyNefyodov Date: Wed, 15 May 2024 22:28:18 +0200 Subject: [PATCH 13/19] Fix R2021 unsupported methods bug --- .../Descriptors/ElementDescriptor.cs | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs index 85dd2014..41ad2fc3 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs @@ -123,9 +123,11 @@ public Func Resolve(Document context, string target, ParameterInfo[] nameof(Element.GetEntity) => ResolveGetEntity, nameof(Element.GetPhaseStatus) => ResolvePhaseStatus, nameof(Element.IsPhaseCreatedValid) => ResolveIsPhaseCreatedValid, - nameof(Element.IsCreatedPhaseOrderValid) => ResolveIsCreatedPhaseOrderValid, nameof(Element.IsPhaseDemolishedValid) => ResolveIsPhaseDemolishedValid, +#if REVIT2022_OR_GREATER nameof(Element.IsDemolishedPhaseOrderValid) => ResolveIsDemolishedPhaseOrderValid, + nameof(Element.IsCreatedPhaseOrderValid) => ResolveIsCreatedPhaseOrderValid, +#endif "BoundingBox" => ResolveBoundingBox, "Geometry" => ResolveGeometry, _ => null @@ -302,26 +304,27 @@ IVariants ResolveIsPhaseCreatedValid() return variants; } - IVariants ResolveIsCreatedPhaseOrderValid() + IVariants ResolveIsPhaseDemolishedValid() { var phases = context.Phases; var variants = new Variants(phases.Size); foreach (Phase phase in phases) { - var result = _element.IsCreatedPhaseOrderValid(phase.Id); + var result = _element.IsPhaseDemolishedValid(phase.Id); variants.Add(result, $"{phase.Name}: {result}"); } return variants; } - - IVariants ResolveIsPhaseDemolishedValid() + +#if REVIT2022_OR_GREATER + IVariants ResolveIsCreatedPhaseOrderValid() { var phases = context.Phases; var variants = new Variants(phases.Size); foreach (Phase phase in phases) { - var result = _element.IsPhaseDemolishedValid(phase.Id); + var result = _element.IsCreatedPhaseOrderValid(phase.Id); variants.Add(result, $"{phase.Name}: {result}"); } @@ -340,6 +343,8 @@ IVariants ResolveIsDemolishedPhaseOrderValid() return variants; } + +#endif } public static string CreateName(Element element) From a927767c4a23818fdbbdc8fb30bf9583dbc24899 Mon Sep 17 00:00:00 2001 From: Nice3point Date: Thu, 16 May 2024 03:24:14 +0300 Subject: [PATCH 14/19] Update BoundarySegment name --- .../ComponentModel/Descriptors/BoundarySegmentDescriptor.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/BoundarySegmentDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/BoundarySegmentDescriptor.cs index 9fc82ac6..b71bc03c 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/BoundarySegmentDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/BoundarySegmentDescriptor.cs @@ -31,8 +31,8 @@ public BoundarySegmentDescriptor(BoundarySegment boundarySegment) var curve = boundarySegment.GetCurve(); Name = curve switch { - null => $"ID: {boundarySegment.ElementId}", - _ => $"ID: {boundarySegment.ElementId}, {curve.Length.ToString(CultureInfo.InvariantCulture)} ft", + null => $"ID{boundarySegment.ElementId}", + _ => $"ID{boundarySegment.ElementId}, {curve.Length.ToString(CultureInfo.InvariantCulture)} ft", }; } } \ No newline at end of file From b0bfe9bc59f8ea7e8b59eec3cf34a30d89ac1331 Mon Sep 17 00:00:00 2001 From: Nice3point Date: Thu, 16 May 2024 16:24:54 +0300 Subject: [PATCH 15/19] Edit message text --- source/RevitLookup/Core/Objects/Variants.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/RevitLookup/Core/Objects/Variants.cs b/source/RevitLookup/Core/Objects/Variants.cs index cedfc800..2fba99a9 100644 --- a/source/RevitLookup/Core/Objects/Variants.cs +++ b/source/RevitLookup/Core/Objects/Variants.cs @@ -60,7 +60,7 @@ public static IVariants Empty() /// /// A variant that disables the member calculation /// - public static Func Disabled { get; } = () => new Variants(1).Add(new InvalidOperationException("Method execution disabled")); + public static Func Disabled { get; } = () => new Variants(1).Add(new InvalidOperationException("Member execution disabled")); } /// From 146262692619bfd6d9d8684afb8f64a27227593d Mon Sep 17 00:00:00 2001 From: Nice3point Date: Thu, 16 May 2024 16:25:21 +0300 Subject: [PATCH 16/19] Restore context menu, suppress double extensions --- .../Descriptors/BasePointDescriptor.cs | 20 +-- .../Descriptors/CurveElementDescriptor.cs | 52 +++--- .../Descriptors/DatumPlaneDescriptor.cs | 42 +++-- .../Descriptors/ElementDescriptor.cs | 158 ++++++++++-------- .../Descriptors/ElevationMarkerDescriptor.cs | 45 +++-- .../Descriptors/FamilyDescriptor.cs | 19 +-- .../Descriptors/FamilyInstanceDescriptor.cs | 80 ++++----- .../Descriptors/HostObjectDescriptor.cs | 32 ++-- .../Descriptors/IndependentTagDescriptor.cs | 46 +++-- .../Descriptors/InternalOriginDescriptor.cs | 18 +- .../Descriptors/MepSystemDescriptor.cs | 32 ++-- .../Descriptors/PanelDescriptor.cs | 18 +- .../Descriptors/RevitLinkTypeDescriptor.cs | 18 +- .../Descriptors/SpatialElementDescriptor.cs | 32 ++-- .../Descriptors/TableViewDescriptor.cs | 32 ++-- .../Descriptors/ViewDescriptor.cs | 69 ++++---- .../Descriptors/ViewScheduleDescriptor.cs | 28 ++-- .../Descriptors/WireDescriptor.cs | 20 +-- source/RevitLookup/Utils/TypeExtensions.cs | 36 ++++ 19 files changed, 384 insertions(+), 413 deletions(-) create mode 100644 source/RevitLookup/Utils/TypeExtensions.cs diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/BasePointDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/BasePointDescriptor.cs index b3a16909..b0d8aaad 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/BasePointDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/BasePointDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class BasePointDescriptor : Descriptor, IDescriptorResolver +public sealed class BasePointDescriptor(BasePoint basePoint) : ElementDescriptor(basePoint) { - private readonly BasePoint _basePoint; - - public BasePointDescriptor(BasePoint basePoint) - { - _basePoint = basePoint; - Name = ElementDescriptor.CreateName(basePoint); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -45,12 +37,16 @@ public Func Resolve(Document context, string target, ParameterInfo[] IVariants ResolveGetSurveyPoint() { - return Variants.Single(BasePoint.GetSurveyPoint(_basePoint.Document)); + return Variants.Single(BasePoint.GetSurveyPoint(basePoint.Document)); } IVariants ResolveGetProjectBasePoint() { - return Variants.Single(BasePoint.GetProjectBasePoint(_basePoint.Document)); + return Variants.Single(BasePoint.GetProjectBasePoint(basePoint.Document)); } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/CurveElementDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/CurveElementDescriptor.cs index dedecad3..80c1bb6d 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/CurveElementDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/CurveElementDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class CurveElementDescriptor : Descriptor, IDescriptorResolver +public sealed class CurveElementDescriptor(CurveElement element) : ElementDescriptor(element) { - private readonly CurveElement _curveElement; - - public CurveElementDescriptor(CurveElement curveElement) - { - _curveElement = curveElement; - Name = ElementDescriptor.CreateName(curveElement); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -48,8 +40,8 @@ public Func Resolve(Document context, string target, ParameterInfo[] IVariants ResolveAdjoinedCurveElements() { - var startCurveElements = _curveElement.GetAdjoinedCurveElements(0); - var endCurveElements = _curveElement.GetAdjoinedCurveElements(1); + var startCurveElements = element.GetAdjoinedCurveElements(0); + var endCurveElements = element.GetAdjoinedCurveElements(1); return new Variants>(2) .Add(startCurveElements, "Point 0") @@ -58,8 +50,8 @@ IVariants ResolveAdjoinedCurveElements() IVariants ResolveHasTangentLocks() { - var startHasTangentLocks = _curveElement.HasTangentLocks(0); - var endHasTangentLocks = _curveElement.HasTangentLocks(1); + var startHasTangentLocks = element.HasTangentLocks(0); + var endHasTangentLocks = element.HasTangentLocks(1); return new Variants(2) .Add(startHasTangentLocks, $"Point 0: {startHasTangentLocks}") @@ -68,23 +60,23 @@ IVariants ResolveHasTangentLocks() IVariants ResolveTangentLock() { - var startCurveElements = _curveElement.GetAdjoinedCurveElements(0); - var endCurveElements = _curveElement.GetAdjoinedCurveElements(1); + var startCurveElements = element.GetAdjoinedCurveElements(0); + var endCurveElements = element.GetAdjoinedCurveElements(1); var variants = new Variants(startCurveElements.Count + endCurveElements.Count); foreach (var id in startCurveElements) { - if (!_curveElement.HasTangentJoin(0, id)) continue; + if (!element.HasTangentJoin(0, id)) continue; - var result = _curveElement.GetTangentLock(0, id); + var result = element.GetTangentLock(0, id); variants.Add(result, $"Point 0, {id}: {result}"); } foreach (var id in endCurveElements) { - if (!_curveElement.HasTangentJoin(1, id)) continue; + if (!element.HasTangentJoin(1, id)) continue; - var result = _curveElement.GetTangentLock(1, id); + var result = element.GetTangentLock(1, id); variants.Add(result, $"Point 1, {id}: {result}"); } @@ -93,19 +85,19 @@ IVariants ResolveTangentLock() IVariants ResolveTangentJoin() { - var startCurveElements = _curveElement.GetAdjoinedCurveElements(0); - var endCurveElements = _curveElement.GetAdjoinedCurveElements(1); + var startCurveElements = element.GetAdjoinedCurveElements(0); + var endCurveElements = element.GetAdjoinedCurveElements(1); var variants = new Variants(startCurveElements.Count + endCurveElements.Count); foreach (var id in startCurveElements) { - var result = _curveElement.HasTangentJoin(0, id); + var result = element.HasTangentJoin(0, id); variants.Add(result, $"Point 0, {id}: {result}"); } foreach (var id in endCurveElements) { - var result = _curveElement.HasTangentJoin(1, id); + var result = element.HasTangentJoin(1, id); variants.Add(result, $"Point 1, {id}: {result}"); } @@ -114,23 +106,27 @@ IVariants ResolveTangentJoin() IVariants ResolveIsAdjoinedCurveElement() { - var startCurveElements = _curveElement.GetAdjoinedCurveElements(0); - var endCurveElements = _curveElement.GetAdjoinedCurveElements(1); + var startCurveElements = element.GetAdjoinedCurveElements(0); + var endCurveElements = element.GetAdjoinedCurveElements(1); var variants = new Variants(startCurveElements.Count + endCurveElements.Count); foreach (var id in startCurveElements) { - var result = _curveElement.IsAdjoinedCurveElement(0, id); + var result = element.IsAdjoinedCurveElement(0, id); variants.Add(result, $"Point 0, {id}: {result}"); } foreach (var id in endCurveElements) { - var result = _curveElement.IsAdjoinedCurveElement(1, id); + var result = element.IsAdjoinedCurveElement(1, id); variants.Add(result, $"Point 1, {id}: {result}"); } return variants; } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/DatumPlaneDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/DatumPlaneDescriptor.cs index 189093ac..cca5d37a 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/DatumPlaneDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/DatumPlaneDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class DatumPlaneDescriptor : Descriptor, IDescriptorResolver +public sealed class DatumPlaneDescriptor(DatumPlane datumPlane) : ElementDescriptor(datumPlane) { - private readonly DatumPlane _datumPlane; - - public DatumPlaneDescriptor(DatumPlane datumPlane) - { - _datumPlane = datumPlane; - Name = ElementDescriptor.CreateName(datumPlane); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -61,7 +53,7 @@ IVariants ResolveCanBeVisibleInView() foreach (var view in views) { - var result = _datumPlane.CanBeVisibleInView(view); + var result = datumPlane.CanBeVisibleInView(view); variants.Add(result, $"{view.Name}: {result}"); } @@ -75,9 +67,9 @@ IVariants ResolvePropagationViews() foreach (var view in views) { - if (!_datumPlane.CanBeVisibleInView(view)) continue; + if (!datumPlane.CanBeVisibleInView(view)) continue; - var result = _datumPlane.GetPropagationViews(view); + var result = datumPlane.GetPropagationViews(view); variants.Add(result, view.Name); } @@ -89,8 +81,8 @@ IVariants ResolveDatumExtentTypeInView() { var variants = new Variants(2); - var resultEnd0 = _datumPlane.GetDatumExtentTypeInView(DatumEnds.End0, context.ActiveView); - var resultEnd1 = _datumPlane.GetDatumExtentTypeInView(DatumEnds.End1, context.ActiveView); + var resultEnd0 = datumPlane.GetDatumExtentTypeInView(DatumEnds.End0, context.ActiveView); + var resultEnd1 = datumPlane.GetDatumExtentTypeInView(DatumEnds.End1, context.ActiveView); variants.Add(resultEnd0, $"End 0, Active view: {resultEnd0}"); variants.Add(resultEnd1, $"End 1, Active view: {resultEnd1}"); @@ -101,8 +93,8 @@ IVariants ResolveHasBubbleInView() { var variants = new Variants(2); - var resultEnd0 = _datumPlane.HasBubbleInView(DatumEnds.End0, context.ActiveView); - var resultEnd1 = _datumPlane.HasBubbleInView(DatumEnds.End1, context.ActiveView); + var resultEnd0 = datumPlane.HasBubbleInView(DatumEnds.End0, context.ActiveView); + var resultEnd1 = datumPlane.HasBubbleInView(DatumEnds.End1, context.ActiveView); variants.Add(resultEnd0, $"End 0, Active view: {resultEnd0}"); variants.Add(resultEnd1, $"End 1, Active view: {resultEnd1}"); @@ -113,8 +105,8 @@ IVariants ResolveBubbleVisibleInView() { var variants = new Variants(2); - var resultEnd0 = _datumPlane.IsBubbleVisibleInView(DatumEnds.End0, context.ActiveView); - var resultEnd1 = _datumPlane.IsBubbleVisibleInView(DatumEnds.End1, context.ActiveView); + var resultEnd0 = datumPlane.IsBubbleVisibleInView(DatumEnds.End0, context.ActiveView); + var resultEnd1 = datumPlane.IsBubbleVisibleInView(DatumEnds.End1, context.ActiveView); variants.Add(resultEnd0, $"End 0, Active view: {resultEnd0}"); variants.Add(resultEnd1, $"End 1, Active view: {resultEnd1}"); @@ -124,15 +116,19 @@ IVariants ResolveBubbleVisibleInView() IVariants ResolveGetCurvesInView() { return new Variants>(2) - .Add(_datumPlane.GetCurvesInView(DatumExtentType.Model, context.ActiveView), "Model, Active view") - .Add(_datumPlane.GetCurvesInView(DatumExtentType.ViewSpecific, context.ActiveView), "ViewSpecific, Active view"); + .Add(datumPlane.GetCurvesInView(DatumExtentType.Model, context.ActiveView), "Model, Active view") + .Add(datumPlane.GetCurvesInView(DatumExtentType.ViewSpecific, context.ActiveView), "ViewSpecific, Active view"); } IVariants ResolveGetLeader() { return new Variants(2) - .Add(_datumPlane.GetLeader(DatumEnds.End0, context.ActiveView), "End 0, Active view") - .Add(_datumPlane.GetLeader(DatumEnds.End1, context.ActiveView), "End 1, Active view"); + .Add(datumPlane.GetLeader(DatumEnds.End0, context.ActiveView), "End 0, Active view") + .Add(datumPlane.GetLeader(DatumEnds.End1, context.ActiveView), "End 1, Active view"); } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs index 34031c08..02943d1b 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs @@ -31,86 +31,17 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class ElementDescriptor : Descriptor, IDescriptorResolver, IDescriptorConnector, IDescriptorExtension +public class ElementDescriptor : Descriptor, IDescriptorResolver, IDescriptorConnector, IDescriptorExtension { private readonly Element _element; public ElementDescriptor(Element element) { _element = element; - Name = CreateName(element); + Name = element.Name == string.Empty ? $"ID{element.Id}" : $"{element.Name}, ID{element.Id}"; } - public void RegisterMenu(ContextMenu contextMenu) - { - if (_element is ElementType) return; - - contextMenu.AddMenuItem() - .SetHeader("Show element") - .SetCommand(_element, element => - { - Application.ActionEventHandler.Raise(_ => - { - if (Context.UiDocument is null) return; - if (!element.IsValidObject) return; - Context.UiDocument.ShowElements(element); - Context.UiDocument.Selection.SetElementIds([element.Id]); - }); - }) - .SetShortcut(ModifierKeys.Alt, Key.F7); - - contextMenu.AddMenuItem() - .SetHeader("Delete") - .SetCommand(_element, async element => - { - if (Context.UiDocument is null) return; - var context = (ISnoopViewModel) contextMenu.DataContext; - - try - { - await Application.AsyncEventHandler.RaiseAsync(_ => - { - var transaction = new Transaction(element.Document); - transaction.Start($"Delete {element.Name}"); - - try - { - element.Document.Delete(element.Id); - transaction.Commit(); - - if (transaction.GetStatus() == TransactionStatus.RolledBack) throw new OperationCanceledException("Element deletion cancelled by user"); - } - catch - { - if (!transaction.HasEnded()) transaction.RollBack(); - throw; - } - }); - - var placementTarget = (FrameworkElement) contextMenu.PlacementTarget; - context.RemoveObject(placementTarget.DataContext); - } - catch (OperationCanceledException exception) - { - var notificationService = context.ServiceProvider.GetService(); - notificationService.ShowWarning("Element deletion error", exception.Message); - } - catch (Exception exception) - { - var notificationService = context.ServiceProvider.GetService(); - notificationService.ShowError("Element deletion error", exception.Message); - } - }) - .SetShortcut(Key.Delete); - } - - public void RegisterExtensions(IExtensionManager manager) - { - manager.Register(nameof(ElementExtensions.CanBeMirrored), _ => _element.CanBeMirrored()); - manager.Register(nameof(GeometryExtensions.GetJoinedElements), _ => _element.GetJoinedElements()); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public virtual Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -272,8 +203,87 @@ IVariants ResolveGetDependentElements() } } - public static string CreateName(Element element) + public virtual void RegisterExtensions(IExtensionManager manager) { - return element.Name == string.Empty ? $"ID{element.Id}" : $"{element.Name}, ID{element.Id}"; + manager.Register(nameof(ElementExtensions.CanBeMirrored), _ => _element.CanBeMirrored()); + manager.Register(nameof(GeometryExtensions.GetJoinedElements), _ => _element.GetJoinedElements()); + } + + public virtual void RegisterMenu(ContextMenu contextMenu) + { + if (_element is not ElementType) + { + contextMenu.AddMenuItem() + .SetHeader("Show element") + .SetCommand(_element, element => + { + if (Context.UiDocument is null) return; + if (!element.IsValidObject) return; + + Application.ActionEventHandler.Raise(_ => + { + Context.UiDocument.ShowElements(element); + Context.UiDocument.Selection.SetElementIds([element.Id]); + }); + }) + .SetShortcut(ModifierKeys.Alt, Key.F7); + } + + contextMenu.AddMenuItem() + .SetHeader("Select element") + .SetCommand(_element, element => + { + Application.ActionEventHandler.Raise(_ => + { + if (Context.UiDocument is null) return; + if (!element.IsValidObject) return; + Context.UiDocument.Selection.SetElementIds([element.Id]); + }); + }) + .SetShortcut(ModifierKeys.Alt, Key.F7); + + contextMenu.AddMenuItem() + .SetHeader("Delete") + .SetCommand(_element, async element => + { + if (Context.UiDocument is null) return; + var context = (ISnoopViewModel) contextMenu.DataContext; + + try + { + await Application.AsyncEventHandler.RaiseAsync(_ => + { + var transaction = new Transaction(element.Document); + transaction.Start($"Delete {element.Name}"); + + try + { + element.Document.Delete(element.Id); + transaction.Commit(); + + if (transaction.GetStatus() == TransactionStatus.RolledBack) throw new OperationCanceledException("Element deletion cancelled by user"); + } + catch + { + if (!transaction.HasEnded()) transaction.RollBack(); + throw; + } + }); + + var placementTarget = (FrameworkElement) contextMenu.PlacementTarget; + context.RemoveObject(placementTarget.DataContext); + } + catch (OperationCanceledException exception) + { + var notificationService = context.ServiceProvider.GetService(); + notificationService.ShowWarning("Warning", exception.Message); + } + catch (Exception exception) + { + var notificationService = context.ServiceProvider.GetService(); + notificationService.ShowError("Element deletion error", exception.Message); + } + }) + .SetShortcut(Key.Delete); } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/ElevationMarkerDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/ElevationMarkerDescriptor.cs index 08e6fad6..788aa13d 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/ElevationMarkerDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/ElevationMarkerDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class ElevationMarkerDescriptor : Descriptor, IDescriptorResolver +public sealed class ElevationMarkerDescriptor(ElevationMarker elevationMarker) : ElementDescriptor(elevationMarker) { - private readonly ElevationMarker _elevationMarker; - - public ElevationMarkerDescriptor(ElevationMarker elevationMarker) - { - _elevationMarker = elevationMarker; - Name = ElementDescriptor.CreateName(elevationMarker); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -42,32 +34,37 @@ public Func Resolve(Document context, string target, ParameterInfo[] nameof(ElevationMarker.GetViewId) => ResolveViewId, _ => null }; - + IVariants ResolveIndex() { - var variants = new Variants(_elevationMarker.MaximumViewCount); - for (var i = 0; i < _elevationMarker.MaximumViewCount; i++) + var variants = new Variants(elevationMarker.MaximumViewCount); + for (var i = 0; i < elevationMarker.MaximumViewCount; i++) { - var result = _elevationMarker.IsAvailableIndex(i); + var result = elevationMarker.IsAvailableIndex(i); variants.Add(result, $"Index {i}: {result}"); } + return variants; } IVariants ResolveViewId() { - var variants = new Variants(_elevationMarker.MaximumViewCount); - for (var i = 0; i < _elevationMarker.MaximumViewCount; i++) + var variants = new Variants(elevationMarker.MaximumViewCount); + for (var i = 0; i < elevationMarker.MaximumViewCount; i++) { - if (!_elevationMarker.IsAvailableIndex(i)) - { - var result = _elevationMarker.GetViewId(i); - var element = result.ToElement(context); - var name = element!.Name == string.Empty ? $"ID{element.Id}" : $"{element.Name}, ID{element.Id}"; - variants.Add(result, $"Index {i}: {name}"); - } + if (elevationMarker.IsAvailableIndex(i)) continue; + + var result = elevationMarker.GetViewId(i); + var element = result.ToElement(context); + var name = element!.Name == string.Empty ? $"ID{element.Id}" : $"{element.Name}, ID{element.Id}"; + variants.Add(result, $"Index {i}: {name}"); } - return variants;; + + return variants; } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyDescriptor.cs index b176802c..9cf113f8 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyDescriptor.cs @@ -18,28 +18,27 @@ // Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) // (Rights in Technical Data and Computer Software), as applicable. +using System.Reflection; using RevitLookup.Core.Contracts; using RevitLookup.Core.Objects; namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class FamilyDescriptor : Descriptor, IDescriptorExtension +public sealed class FamilyDescriptor(Family family) : ElementDescriptor(family) { - private readonly Family _family; - - public FamilyDescriptor(Family family) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { - _family = family; - Name = ElementDescriptor.CreateName(family); + return target switch + { + _ => null + }; } - public void RegisterExtensions(IExtensionManager manager) + public override void RegisterExtensions(IExtensionManager manager) { - // if (manager.Context.IsFamilyDocument) return; - manager.Register(nameof(FamilySizeTableManager.GetFamilySizeTableManager), context => { - var result = FamilySizeTableManager.GetFamilySizeTableManager(context, _family.Id); + var result = FamilySizeTableManager.GetFamilySizeTableManager(context, family.Id); return Variants.Single(result); }); } diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs index 849f0217..6ba401a0 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs @@ -25,17 +25,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class FamilyInstanceDescriptor : Descriptor, IDescriptorResolver, IDescriptorExtension +public sealed class FamilyInstanceDescriptor(FamilyInstance familyInstance) : ElementDescriptor(familyInstance) { - private readonly FamilyInstance _familyInstance; - - public FamilyInstanceDescriptor(FamilyInstance familyInstance) - { - _familyInstance = familyInstance; - Name = ElementDescriptor.CreateName(familyInstance); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -49,10 +41,10 @@ public Func Resolve(Document context, string target, ParameterInfo[] IVariants ResolveGetRoom() { - var variants = new Variants(_familyInstance.Document.Phases.Size); - foreach (Phase phase in _familyInstance.Document.Phases) + var variants = new Variants(familyInstance.Document.Phases.Size); + foreach (Phase phase in familyInstance.Document.Phases) { - variants.Add(_familyInstance.get_Room(phase), phase.Name); + variants.Add(familyInstance.get_Room(phase), phase.Name); } return variants; @@ -60,10 +52,10 @@ IVariants ResolveGetRoom() IVariants ResolveFromRoom() { - var variants = new Variants(_familyInstance.Document.Phases.Size); - foreach (Phase phase in _familyInstance.Document.Phases) + var variants = new Variants(familyInstance.Document.Phases.Size); + foreach (Phase phase in familyInstance.Document.Phases) { - variants.Add(_familyInstance.get_FromRoom(phase), phase.Name); + variants.Add(familyInstance.get_FromRoom(phase), phase.Name); } return variants; @@ -71,10 +63,10 @@ IVariants ResolveFromRoom() IVariants ResolveToRoom() { - var variants = new Variants(_familyInstance.Document.Phases.Size); - foreach (Phase phase in _familyInstance.Document.Phases) + var variants = new Variants(familyInstance.Document.Phases.Size); + foreach (Phase phase in familyInstance.Document.Phases) { - variants.Add(_familyInstance.get_ToRoom(phase), phase.Name); + variants.Add(familyInstance.get_ToRoom(phase), phase.Name); } return variants; @@ -83,47 +75,47 @@ IVariants ResolveToRoom() IVariants ResolveOriginalGeometry() { return new Variants(10) - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { View = Context.ActiveView, }), "Active view") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { View = Context.ActiveView, IncludeNonVisibleObjects = true, }), "Active view, including non-visible objects") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { DetailLevel = ViewDetailLevel.Coarse, }), "Model, coarse detail level") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { DetailLevel = ViewDetailLevel.Fine, }), "Model, fine detail level") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { DetailLevel = ViewDetailLevel.Medium, }), "Model, medium detail level") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { DetailLevel = ViewDetailLevel.Undefined, }), "Model, undefined detail level") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { DetailLevel = ViewDetailLevel.Coarse, IncludeNonVisibleObjects = true, }), "Model, coarse detail level, including non-visible objects") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { DetailLevel = ViewDetailLevel.Fine, IncludeNonVisibleObjects = true, }), "Model, fine detail level, including non-visible objects") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { DetailLevel = ViewDetailLevel.Medium, IncludeNonVisibleObjects = true, }), "Model, medium detail level, including non-visible objects") - .Add(_familyInstance.GetOriginalGeometry(new Options + .Add(familyInstance.GetOriginalGeometry(new Options { DetailLevel = ViewDetailLevel.Undefined, IncludeNonVisibleObjects = true, @@ -133,26 +125,26 @@ IVariants ResolveOriginalGeometry() IVariants ResolveGetReferences() { return new Variants>(11) - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.Back), "Back") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.Bottom), "Bottom") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.StrongReference), "Strong reference") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.WeakReference), "Weak reference") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.Front), "Front") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.Left), "Left") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.Right), "Right") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.Top), "Top") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.CenterElevation), "Center elevation") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.CenterFrontBack), "Center front back") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.CenterLeftRight), "Center left right") - .Add(_familyInstance.GetReferences(FamilyInstanceReferenceType.NotAReference), "Not a reference"); + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.Back), "Back") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.Bottom), "Bottom") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.StrongReference), "Strong reference") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.WeakReference), "Weak reference") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.Front), "Front") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.Left), "Left") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.Right), "Right") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.Top), "Top") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.CenterElevation), "Center elevation") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.CenterFrontBack), "Center front back") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.CenterLeftRight), "Center left right") + .Add(familyInstance.GetReferences(FamilyInstanceReferenceType.NotAReference), "Not a reference"); } } - public void RegisterExtensions(IExtensionManager manager) + public override void RegisterExtensions(IExtensionManager manager) { manager.Register(nameof(AdaptiveComponentInstanceUtils.GetInstancePlacementPointElementRefIds), - _ => AdaptiveComponentInstanceUtils.GetInstancePlacementPointElementRefIds(_familyInstance)); + _ => AdaptiveComponentInstanceUtils.GetInstancePlacementPointElementRefIds(familyInstance)); manager.Register(nameof(AdaptiveComponentInstanceUtils.IsAdaptiveComponentInstance), - _ => AdaptiveComponentInstanceUtils.IsAdaptiveComponentInstance(_familyInstance)); + _ => AdaptiveComponentInstanceUtils.IsAdaptiveComponentInstance(familyInstance)); } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/HostObjectDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/HostObjectDescriptor.cs index 6f1eb9cf..1bd424db 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/HostObjectDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/HostObjectDescriptor.cs @@ -24,26 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class HostObjectDescriptor : Descriptor, IDescriptorExtension, IDescriptorResolver +public sealed class HostObjectDescriptor(HostObject hostObject) : ElementDescriptor(hostObject) { - private readonly HostObject _hostObject; - - public HostObjectDescriptor(HostObject hostObject) - { - _hostObject = hostObject; - Name = ElementDescriptor.CreateName(hostObject); - } - - public void RegisterExtensions(IExtensionManager manager) - { - manager.Register(nameof(HostExtensions.GetBottomFaces), _ => _hostObject.GetBottomFaces()); - manager.Register(nameof(HostExtensions.GetTopFaces), _ => _hostObject.GetTopFaces()); - manager.Register(nameof(HostExtensions.GetSideFaces), _ => new Variants>(2) - .Add(_hostObject.GetSideFaces(ShellLayerType.Interior), "Interior") - .Add(_hostObject.GetSideFaces(ShellLayerType.Exterior), "Exterior")); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -53,7 +36,16 @@ public Func Resolve(Document context, string target, ParameterInfo[] IVariants ResolveFindInserts() { - return Variants.Single(_hostObject.FindInserts(true, true, true, true)); + return Variants.Single(hostObject.FindInserts(true, true, true, true)); } } + + public override void RegisterExtensions(IExtensionManager manager) + { + manager.Register(nameof(HostExtensions.GetBottomFaces), _ => hostObject.GetBottomFaces()); + manager.Register(nameof(HostExtensions.GetTopFaces), _ => hostObject.GetTopFaces()); + manager.Register(nameof(HostExtensions.GetSideFaces), _ => new Variants>(2) + .Add(hostObject.GetSideFaces(ShellLayerType.Interior), "Interior") + .Add(hostObject.GetSideFaces(ShellLayerType.Exterior), "Exterior")); + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/IndependentTagDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/IndependentTagDescriptor.cs index 848b4ec2..0445b39a 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/IndependentTagDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/IndependentTagDescriptor.cs @@ -27,22 +27,14 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class IndependentTagDescriptor : Descriptor, IDescriptorResolver +public sealed class IndependentTagDescriptor(IndependentTag tag) : ElementDescriptor(tag) { - private readonly IndependentTag _tag; - - public IndependentTagDescriptor(IndependentTag tag) - { - _tag = tag; - Name = ElementDescriptor.CreateName(tag); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { #if REVIT2025_OR_GREATER //TODO Fatal https://github.com/jeremytammik/RevitLookup/issues/225 - nameof(IndependentTag.TagText) when RebarBendingDetail.IsBendingDetail(_tag) => Variants.Disabled, + nameof(IndependentTag.TagText) when RebarBendingDetail.IsBendingDetail(tag) => Variants.Disabled, #endif nameof(IndependentTag.CanLeaderEndConditionBeAssigned) => ResolveLeaderEndCondition, #if REVIT2022_OR_GREATER @@ -63,7 +55,7 @@ IVariants ResolveLeaderEndCondition() foreach (LeaderEndCondition condition in conditions) { - var result = _tag.CanLeaderEndConditionBeAssigned(condition); + var result = tag.CanLeaderEndConditionBeAssigned(condition); variants.Add(result, $"{condition}: {result}"); } @@ -72,17 +64,17 @@ IVariants ResolveLeaderEndCondition() #if REVIT2022_OR_GREATER IVariants ResolveLeaderElbow() { - var references = _tag.GetTaggedReferences(); + var references = tag.GetTaggedReferences(); var variants = new Variants(references.Count); foreach (var reference in references) { #if REVIT2023_OR_GREATER - if (!_tag.IsLeaderVisible(reference)) continue; + if (!tag.IsLeaderVisible(reference)) continue; #endif - if (!_tag.HasLeaderElbow(reference)) continue; + if (!tag.HasLeaderElbow(reference)) continue; - variants.Add(_tag.GetLeaderElbow(reference)); + variants.Add(tag.GetLeaderElbow(reference)); } return variants; @@ -90,16 +82,15 @@ IVariants ResolveLeaderElbow() IVariants ResolveLeaderEnd() { - var references = _tag.GetTaggedReferences(); + var references = tag.GetTaggedReferences(); var variants = new Variants(references.Count); foreach (var reference in references) { #if REVIT2023_OR_GREATER - if (!_tag.IsLeaderVisible(reference)) continue; + if (!tag.IsLeaderVisible(reference)) continue; #endif - - variants.Add(_tag.GetLeaderEnd(reference)); + variants.Add(tag.GetLeaderEnd(reference)); } return variants; @@ -107,15 +98,14 @@ IVariants ResolveLeaderEnd() IVariants ResolveHasLeaderElbow() { - var references = _tag.GetTaggedReferences(); + var references = tag.GetTaggedReferences(); var variants = new Variants(references.Count); foreach (var reference in references) { #if REVIT2023_OR_GREATER - if (!_tag.IsLeaderVisible(reference)) continue; + if (!tag.IsLeaderVisible(reference)) continue; #endif - - variants.Add(_tag.HasLeaderElbow(reference)); + variants.Add(tag.HasLeaderElbow(reference)); } return variants; @@ -125,16 +115,20 @@ IVariants ResolveHasLeaderElbow() IVariants ResolveIsLeaderVisible() { - var references = _tag.GetTaggedReferences(); + var references = tag.GetTaggedReferences(); var variants = new Variants(references.Count); foreach (var reference in references) { - variants.Add(_tag.IsLeaderVisible(reference)); + variants.Add(tag.IsLeaderVisible(reference)); } return variants; } #endif } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/InternalOriginDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/InternalOriginDescriptor.cs index d0a2f98a..dd7e63e5 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/InternalOriginDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/InternalOriginDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class InternalOriginDescriptor : Descriptor, IDescriptorResolver +public sealed class InternalOriginDescriptor(InternalOrigin internalOrigin) : ElementDescriptor(internalOrigin) { - private readonly InternalOrigin _internalOrigin; - - public InternalOriginDescriptor(InternalOrigin internalOrigin) - { - _internalOrigin = internalOrigin; - Name = ElementDescriptor.CreateName(internalOrigin); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -44,7 +36,11 @@ public Func Resolve(Document context, string target, ParameterInfo[] IVariants ResolveGet() { - return Variants.Single(InternalOrigin.Get(_internalOrigin.Document)); + return Variants.Single(InternalOrigin.Get(internalOrigin.Document)); } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs index 22109b4b..9f30c666 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/MepSystemDescriptor.cs @@ -25,17 +25,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class MepSystemDescriptor : Descriptor, IDescriptorResolver +public sealed class MepSystemDescriptor(MEPSystem mepSystem) : ElementDescriptor(mepSystem) { - private readonly MEPSystem _mepSystem; - - public MepSystemDescriptor(MEPSystem mepSystem) - { - _mepSystem = mepSystem; - Name = ElementDescriptor.CreateName(mepSystem); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -43,31 +35,35 @@ public Func Resolve(Document context, string target, ParameterInfo[] nameof(MEPSystem.GetSectionByNumber) => ResolveSectionByNumber, _ => null }; - + IVariants ResolveSectionByNumber() { - var capacity = _mepSystem.SectionsCount; + var capacity = mepSystem.SectionsCount; var variants = new Variants(capacity); for (var i = 0; i < capacity; i++) { - var section = _mepSystem.GetSectionByIndex(i); + var section = mepSystem.GetSectionByIndex(i); variants.Add(section, $"Number {section.Number}"); } - + return variants; } - + IVariants ResolveSectionByIndex() { - var capacity = _mepSystem.SectionsCount; + var capacity = mepSystem.SectionsCount; var variants = new Variants(capacity); for (var i = 0; i < capacity; i++) { - var section = _mepSystem.GetSectionByIndex(i); + var section = mepSystem.GetSectionByIndex(i); variants.Add(section, $"Index {i}"); } - + return variants; } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/PanelDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/PanelDescriptor.cs index 03029bf9..ff04e771 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/PanelDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/PanelDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class PanelDescriptor : Descriptor, IDescriptorResolver +public sealed class PanelDescriptor(Panel panel) : ElementDescriptor(panel) { - private readonly Panel _panel; - - public PanelDescriptor(Panel panel) - { - _panel = panel; - Name = ElementDescriptor.CreateName(panel); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -46,7 +38,7 @@ IVariants ResolveGridLines() { ElementId uId = null; ElementId vId = null; - _panel.GetRefGridLines(ref uId, ref vId); + panel.GetRefGridLines(ref uId, ref vId); return new Variants(2) { @@ -55,4 +47,8 @@ IVariants ResolveGridLines() }; } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/RevitLinkTypeDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/RevitLinkTypeDescriptor.cs index b97be571..653c01e9 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/RevitLinkTypeDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/RevitLinkTypeDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class RevitLinkTypeDescriptor : Descriptor, IDescriptorResolver +public sealed class RevitLinkTypeDescriptor(RevitLinkType element) : ElementDescriptor(element) { - private readonly RevitLinkType _element; - - public RevitLinkTypeDescriptor(RevitLinkType element) - { - _element = element; - Name = ElementDescriptor.CreateName(element); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -46,7 +38,11 @@ public Func Resolve(Document context, string target, ParameterInfo[] IVariants ResolveIsLoaded() { - return Variants.Single(RevitLinkType.IsLoaded(_element.Document, _element.Id)); + return Variants.Single(RevitLinkType.IsLoaded(element.Document, element.Id)); } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs index ce79c229..f604ee4f 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/SpatialElementDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class SpatialElementDescriptor : Descriptor, IDescriptorResolver +public sealed class SpatialElementDescriptor(SpatialElement spatialElement) : ElementDescriptor(spatialElement) { - private readonly SpatialElement _spatialElement; - - public SpatialElementDescriptor(SpatialElement spatialElement) - { - _spatialElement = spatialElement; - Name = ElementDescriptor.CreateName(spatialElement); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -45,46 +37,50 @@ public Func Resolve(Document context, string target, ParameterInfo[] IVariants ResolveGetBoundarySegments() { return new Variants>>(8) - .Add(_spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions + .Add(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions { SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Center, StoreFreeBoundaryFaces = true }), "Center, store free boundary faces") - .Add(_spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions + .Add(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions { SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.CoreBoundary, StoreFreeBoundaryFaces = true }), "Core boundary, store free boundary faces") - .Add(_spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions + .Add(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions { SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Finish, StoreFreeBoundaryFaces = true }), "Finish, store free boundary faces") - .Add(_spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions + .Add(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions { SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.CoreCenter, StoreFreeBoundaryFaces = true }), "Core center, store free boundary faces") - .Add(_spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions + .Add(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions { SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Center, StoreFreeBoundaryFaces = true }), "Center") - .Add(_spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions + .Add(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions { SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.CoreBoundary, StoreFreeBoundaryFaces = true }), "Core boundary") - .Add(_spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions + .Add(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions { SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.Finish, StoreFreeBoundaryFaces = true }), "Finish") - .Add(_spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions + .Add(spatialElement.GetBoundarySegments(new SpatialElementBoundaryOptions { SpatialElementBoundaryLocation = SpatialElementBoundaryLocation.CoreCenter, StoreFreeBoundaryFaces = true }), "Core center"); } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/TableViewDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/TableViewDescriptor.cs index 2843e71c..b0372175 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/TableViewDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/TableViewDescriptor.cs @@ -25,17 +25,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class TableViewDescriptor : Descriptor, IDescriptorResolver +public sealed class TableViewDescriptor(TableView tableView) : ElementDescriptor(tableView) { - private readonly TableView _tableView; - - public TableViewDescriptor(TableView tableView) - { - _tableView = tableView; - Name = ElementDescriptor.CreateName(tableView); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -63,11 +55,11 @@ IVariants ResolveAvailableParameters() IVariants ResolveCalculatedValueName() { - var tableData = _tableView switch + var tableData = tableView switch { ViewSchedule viewSchedule => viewSchedule.GetTableData(), PanelScheduleView panelScheduleView => panelScheduleView.GetTableData(), - _ => throw new NotSupportedException($"{_tableView.GetType().FullName} is not supported in the current API version") + _ => throw new NotSupportedException($"{tableView.GetType().FullName} is not supported in the current API version") }; var sectionTypes = Enum.GetValues(typeof(SectionType)); @@ -80,7 +72,7 @@ IVariants ResolveCalculatedValueName() for (var i = tableSectionData.FirstRowNumber; i < tableSectionData.LastRowNumber; i++) for (var j = tableSectionData.FirstColumnNumber; j < tableSectionData.LastColumnNumber; j++) { - var result = _tableView.GetCalculatedValueName(sectionType, i, j); + var result = tableView.GetCalculatedValueName(sectionType, i, j); variants.Add(result, $"{sectionType}, row {i}, column {j}: {result}"); } } @@ -90,11 +82,11 @@ IVariants ResolveCalculatedValueName() IVariants ResolveCalculatedValueText() { - var tableData = _tableView switch + var tableData = tableView switch { ViewSchedule viewSchedule => viewSchedule.GetTableData(), PanelScheduleView panelScheduleView => panelScheduleView.GetTableData(), - _ => throw new NotSupportedException($"{_tableView.GetType().FullName} is not supported in the current API version") + _ => throw new NotSupportedException($"{tableView.GetType().FullName} is not supported in the current API version") }; var sectionTypes = Enum.GetValues(typeof(SectionType)); @@ -107,7 +99,7 @@ IVariants ResolveCalculatedValueText() for (var i = tableSectionData.FirstRowNumber; i < tableSectionData.LastRowNumber; i++) for (var j = tableSectionData.FirstColumnNumber; j < tableSectionData.LastColumnNumber; j++) { - var result = _tableView.GetCalculatedValueText(sectionType, i, j); + var result = tableView.GetCalculatedValueText(sectionType, i, j); variants.Add(result, $"{sectionType}, row {i}, column {j}: {result}"); } } @@ -117,11 +109,11 @@ IVariants ResolveCalculatedValueText() IVariants ResolveCellText() { - var tableData = _tableView switch + var tableData = tableView switch { ViewSchedule viewSchedule => viewSchedule.GetTableData(), PanelScheduleView panelScheduleView => panelScheduleView.GetTableData(), - _ => throw new NotSupportedException($"{_tableView.GetType().FullName} is not supported in the current API version") + _ => throw new NotSupportedException($"{tableView.GetType().FullName} is not supported in the current API version") }; var sectionTypes = Enum.GetValues(typeof(SectionType)); @@ -133,7 +125,7 @@ IVariants ResolveCellText() for (var i = tableSectionData.FirstRowNumber; i < tableSectionData.LastRowNumber; i++) for (var j = tableSectionData.FirstColumnNumber; j < tableSectionData.LastColumnNumber; j++) { - var result = _tableView.GetCellText(sectionType, i, j); + var result = tableView.GetCellText(sectionType, i, j); variants.Add(result, $"{sectionType}, row {i}, column {j}: {result}"); } } @@ -147,7 +139,7 @@ IVariants ResolveIsValidSectionType() var variants = new Variants(sectionTypes.Length); foreach (SectionType sectionType in sectionTypes) { - var result = _tableView.IsValidSectionType(sectionType); + var result = tableView.IsValidSectionType(sectionType); variants.Add(result, $"{sectionType}: {result}"); } diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/ViewDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/ViewDescriptor.cs index 088a0296..52ae5687 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/ViewDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/ViewDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class ViewDescriptor : Descriptor, IDescriptorResolver +public sealed class ViewDescriptor(View view) : ElementDescriptor(view) { - private readonly View _view; - - public ViewDescriptor(View view) - { - _view = view; - Name = ElementDescriptor.CreateName(view); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -65,10 +57,10 @@ IVariants ResolveCanCategoryBeHidden() var variants = new Variants(categories.Size); foreach (Category category in categories) { - var result = _view.CanCategoryBeHidden(category.Id); + var result = view.CanCategoryBeHidden(category.Id); variants.Add(result, $"{category.Name}: {result}"); } - + return variants; } @@ -78,7 +70,7 @@ IVariants ResolveCanCategoryBeHiddenTemporary() var variants = new Variants(categories.Size); foreach (Category category in categories) { - var result = _view.CanCategoryBeHiddenTemporary(category.Id); + var result = view.CanCategoryBeHiddenTemporary(category.Id); variants.Add(result, $"{category.Name}: {result}"); } @@ -92,7 +84,8 @@ IVariants ResolveCanViewBeDuplicated() foreach (ViewDuplicateOption option in values) { - variants.Add(_view.CanViewBeDuplicated(option), option.ToString()); + var result = view.CanViewBeDuplicated(option); + variants.Add(result, $"{option.ToString()}: {result}"); } return variants; @@ -104,10 +97,10 @@ IVariants ResolveCategoryHidden() var variants = new Variants(categories.Size); foreach (Category category in categories) { - var result = _view.GetCategoryHidden(category.Id); + var result = view.GetCategoryHidden(category.Id); variants.Add(result, $"{category.Name}: {result}"); } - + return variants; } @@ -117,7 +110,7 @@ IVariants ResolveCategoryOverrides() var variants = new Variants(categories.Size); foreach (Category category in categories) { - var result = _view.GetCategoryOverrides(category.Id); + var result = view.GetCategoryOverrides(category.Id); variants.Add(result, category.Name); } @@ -130,8 +123,8 @@ IVariants ResolveIsCategoryOverridable() var variants = new Variants(categories.Size); foreach (Category category in categories) { - var result = _view.IsCategoryOverridable(category.Id); - variants.Add(result, category.Name); + var result = view.IsCategoryOverridable(category.Id); + variants.Add(result, $"{category.Name}: {result}"); } return variants; @@ -139,12 +132,12 @@ IVariants ResolveIsCategoryOverridable() IVariants ResolveFilterOverrides() { - var filters = _view.GetFilters(); + var filters = view.GetFilters(); var variants = new Variants(filters.Count); foreach (var filterId in filters) { var filter = filterId.ToElement(context)!; - var result = _view.GetFilterOverrides(filterId); + var result = view.GetFilterOverrides(filterId); variants.Add(result, filter.Name); } @@ -153,12 +146,12 @@ IVariants ResolveFilterOverrides() IVariants ResolveFilterVisibility() { - var filters = _view.GetFilters(); + var filters = view.GetFilters(); var variants = new Variants(filters.Count); foreach (var filterId in filters) { var filter = filterId.ToElement(context)!; - var result = _view.GetFilterVisibility(filterId); + var result = view.GetFilterVisibility(filterId); variants.Add(result, $"{filter.Name}: {result}"); } @@ -167,12 +160,12 @@ IVariants ResolveFilterVisibility() IVariants ResolveFilterEnabled() { - var filters = _view.GetFilters(); + var filters = view.GetFilters(); var variants = new Variants(filters.Count); foreach (var filterId in filters) { var filter = filterId.ToElement(context)!; - var result = _view.GetIsFilterEnabled(filterId); + var result = view.GetIsFilterEnabled(filterId); variants.Add(result, $"{filter.Name}: {result}"); } @@ -181,12 +174,12 @@ IVariants ResolveFilterEnabled() IVariants ResolveIsFilterApplied() { - var filters = _view.GetFilters(); + var filters = view.GetFilters(); var variants = new Variants(filters.Count); foreach (var filterId in filters) { var filter = filterId.ToElement(context)!; - var result = _view.IsFilterApplied(filterId); + var result = view.IsFilterApplied(filterId); variants.Add(result, $"{filter.Name}: {result}"); } @@ -200,7 +193,8 @@ IVariants ResolveIsInTemporaryViewMode() foreach (TemporaryViewMode mode in values) { - variants.Add(_view.IsInTemporaryViewMode(mode), mode.ToString()); + var result = view.IsInTemporaryViewMode(mode); + variants.Add(result, $"{mode.ToString()}: {result}"); } return variants; @@ -212,7 +206,7 @@ IVariants ResolveIsValidViewTemplate() var variants = new Variants(templates.Length); foreach (var template in templates) { - var result = _view.IsValidViewTemplate(template.Id); + var result = view.IsValidViewTemplate(template.Id); variants.Add(result, $"{template.Name}: {result}"); } @@ -225,7 +219,7 @@ IVariants ResolveIsWorksetVisible() var variants = new Variants(workSets.Count); foreach (var workSet in workSets) { - var result = _view.IsWorksetVisible(workSet.Id); + var result = view.IsWorksetVisible(workSet.Id); variants.Add(result, $"{workSet.Name}: {result}"); } @@ -238,7 +232,7 @@ IVariants ResolveWorksetVisibility() var variants = new Variants(workSets.Count); foreach (var workSet in workSets) { - var result = _view.GetWorksetVisibility(workSet.Id); + var result = view.GetWorksetVisibility(workSet.Id); variants.Add(result, $"{workSet.Name}: {result}"); } @@ -252,20 +246,21 @@ IVariants ResolveSupportsWorksharingDisplayMode() foreach (WorksharingDisplayMode mode in values) { - variants.Add(_view.SupportsWorksharingDisplayMode(mode), mode.ToString()); + var result = view.SupportsWorksharingDisplayMode(mode); + variants.Add(result, $"{mode.ToString()}: {result}"); } return variants; } -#if REVIT2022_OR_GREATER - +#if REVIT2022_OR_GREATER + IVariants ResolveColorFillSchemeId() { var categories = context.Settings.Categories; var variants = new Variants(categories.Size); foreach (Category category in categories) { - var result = _view.GetColorFillSchemeId(category.Id); + var result = view.GetColorFillSchemeId(category.Id); variants.Add(result, category.Name); } @@ -273,4 +268,8 @@ IVariants ResolveColorFillSchemeId() } #endif } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/ViewScheduleDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/ViewScheduleDescriptor.cs index 599cfc8b..77183564 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/ViewScheduleDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/ViewScheduleDescriptor.cs @@ -24,17 +24,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class ViewScheduleDescriptor : Descriptor, IDescriptorResolver +public sealed class ViewScheduleDescriptor(ViewSchedule viewSchedule) : ElementDescriptor(viewSchedule) { - private readonly ViewSchedule _viewSchedule; - - public ViewScheduleDescriptor(ViewSchedule viewSchedule) - { - _viewSchedule = viewSchedule; - Name = ElementDescriptor.CreateName(viewSchedule); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -68,7 +60,7 @@ IVariants ResolveStripedRowsColor() foreach (StripedRowPattern pattern in patterns) { - variants.Add(_viewSchedule.GetStripedRowsColor(pattern), pattern.ToString()); + variants.Add(viewSchedule.GetStripedRowsColor(pattern), pattern.ToString()); } return variants; @@ -81,7 +73,7 @@ IVariants ResolveValidTextTypeId() foreach (var type in types) { - var result = _viewSchedule.IsValidTextTypeId(type.Id); + var result = viewSchedule.IsValidTextTypeId(type.Id); variants.Add(result, $"{type.Name}: {result}"); } @@ -192,12 +184,12 @@ IVariants ResolveIsValidCategoryForSchedule() #if REVIT2022_OR_GREATER IVariants ResolveScheduleInstances() { - var count = _viewSchedule.GetSegmentCount(); + var count = viewSchedule.GetSegmentCount(); var variants = new Variants>(count); for (var i = -1; i < count; i++) { - variants.Add(_viewSchedule.GetScheduleInstances(i)); + variants.Add(viewSchedule.GetScheduleInstances(i)); } return variants; @@ -205,12 +197,12 @@ IVariants ResolveScheduleInstances() IVariants ResolveSegmentHeight() { - var count = _viewSchedule.GetSegmentCount(); + var count = viewSchedule.GetSegmentCount(); var variants = new Variants(count); for (var i = 0; i < count; i++) { - variants.Add(_viewSchedule.GetSegmentHeight(i)); + variants.Add(viewSchedule.GetSegmentHeight(i)); } return variants; @@ -246,4 +238,8 @@ IVariants ResolveGetValidFamiliesForNoteBlock() return Variants.Single(ViewSchedule.GetValidFamiliesForNoteBlock(context)); } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/WireDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/WireDescriptor.cs index 97d64832..79f57d09 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/WireDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/WireDescriptor.cs @@ -25,17 +25,9 @@ namespace RevitLookup.Core.ComponentModel.Descriptors; -public sealed class WireDescriptor : Descriptor, IDescriptorResolver +public sealed class WireDescriptor(Wire wire) : ElementDescriptor(wire) { - private readonly Wire _wire; - - public WireDescriptor(Wire wire) - { - _wire = wire; - Name = ElementDescriptor.CreateName(wire); - } - - public Func Resolve(Document context, string target, ParameterInfo[] parameters) + public override Func Resolve(Document context, string target, ParameterInfo[] parameters) { return target switch { @@ -45,15 +37,19 @@ public Func Resolve(Document context, string target, ParameterInfo[] IVariants ResolveVertex() { - var capacity = _wire.NumberOfVertices; + var capacity = wire.NumberOfVertices; var variants = new Variants(capacity); for (var i = 0; i < capacity; i++) { - variants.Add(_wire.GetVertex(i)); + variants.Add(wire.GetVertex(i)); } return variants; } } + + public override void RegisterExtensions(IExtensionManager manager) + { + } } \ No newline at end of file diff --git a/source/RevitLookup/Utils/TypeExtensions.cs b/source/RevitLookup/Utils/TypeExtensions.cs new file mode 100644 index 00000000..dee2455f --- /dev/null +++ b/source/RevitLookup/Utils/TypeExtensions.cs @@ -0,0 +1,36 @@ +// Copyright 2003-2024 by Autodesk, Inc. +// +// Permission to use, copy, modify, and distribute this software in +// object code form for any purpose and without fee is hereby granted, +// provided that the above copyright notice appears in all copies and +// that both that copyright notice and the limited warranty and +// restricted rights notice below appear in all supporting +// documentation. +// +// AUTODESK PROVIDES THIS PROGRAM "AS IS" AND WITH ALL FAULTS. +// AUTODESK SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTY OF +// MERCHANTABILITY OR FITNESS FOR A PARTICULAR USE. AUTODESK, INC. +// DOES NOT WARRANT THAT THE OPERATION OF THE PROGRAM WILL BE +// UNINTERRUPTED OR ERROR FREE. +// +// Use, duplication, or disclosure by the U.S. Government is subject to +// restrictions set forth in FAR 52.227-19 (Commercial Computer +// Software - Restricted Rights) and DFAR 252.227-7013(c)(1)(ii) +// (Rights in Technical Data and Computer Software), as applicable. + +namespace RevitLookup.Utils; + +public static class TypeExtensions +{ + public static bool IsImplementInterfaceDirectly(this Type type) + { + var interfaceType = typeof(TInterface); + var mapping = type.GetInterfaceMap(interfaceType); + foreach (var method in mapping.TargetMethods) + { + if (method.DeclaringType == type) return true; + } + + return false; + } +} \ No newline at end of file From 372279789011a81ab2d11e2979585cbbaf1649df Mon Sep 17 00:00:00 2001 From: SergeyNefyodov Date: Thu, 16 May 2024 15:31:30 +0200 Subject: [PATCH 17/19] invert if --- .../Descriptors/FamilyInstanceDescriptor.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs index 6222b22d..7fa22c38 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilyInstanceDescriptor.cs @@ -52,8 +52,8 @@ IVariants ResolveGetRoom() var variants = new Variants(_familyInstance.Document.Phases.Size); foreach (Phase phase in _familyInstance.Document.Phases) { - if (_familyInstance.GetPhaseStatus(phase.Id) != ElementOnPhaseStatus.Future) - variants.Add(_familyInstance.get_Room(phase), phase.Name); + if (_familyInstance.GetPhaseStatus(phase.Id) == ElementOnPhaseStatus.Future) continue; + variants.Add(_familyInstance.get_Room(phase), phase.Name); } return variants; @@ -64,8 +64,8 @@ IVariants ResolveFromRoom() var variants = new Variants(_familyInstance.Document.Phases.Size); foreach (Phase phase in _familyInstance.Document.Phases) { - if (_familyInstance.GetPhaseStatus(phase.Id) != ElementOnPhaseStatus.Future) - variants.Add(_familyInstance.get_FromRoom(phase), phase.Name); + if (_familyInstance.GetPhaseStatus(phase.Id) == ElementOnPhaseStatus.Future) continue; + variants.Add(_familyInstance.get_FromRoom(phase), phase.Name); } return variants; @@ -76,8 +76,8 @@ IVariants ResolveToRoom() var variants = new Variants(_familyInstance.Document.Phases.Size); foreach (Phase phase in _familyInstance.Document.Phases) { - if (_familyInstance.GetPhaseStatus(phase.Id) != ElementOnPhaseStatus.Future) - variants.Add(_familyInstance.get_ToRoom(phase), phase.Name); + if (_familyInstance.GetPhaseStatus(phase.Id) == ElementOnPhaseStatus.Future) continue; + variants.Add(_familyInstance.get_ToRoom(phase), phase.Name); } return variants; From 728df941694195ad5ee2f7e16266721c777534bc Mon Sep 17 00:00:00 2001 From: Nice3point Date: Fri, 17 May 2024 03:21:25 +0300 Subject: [PATCH 18/19] Update context menu icons --- .../Descriptors/CurveDescriptor.cs | 21 ++++++++++++--- .../Descriptors/EdgeDescriptor.cs | 21 ++++++++++++--- .../Descriptors/ElementDescriptor.cs | 19 +++++++------- .../Descriptors/FaceDescriptor.cs | 21 ++++++++++++--- .../Descriptors/FamilySizeTableDescriptor.cs | 2 +- .../Descriptors/SolidDescriptor.cs | 26 +++++++++++++++++-- source/RevitLookup/Views/Resources/Menus.xaml | 16 +++++++++--- 7 files changed, 102 insertions(+), 24 deletions(-) diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs index 175c2ce4..eca716f9 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/CurveDescriptor.cs @@ -43,20 +43,35 @@ public CurveDescriptor(Curve curve) public void RegisterMenu(ContextMenu contextMenu) { #if REVIT2023_OR_GREATER - contextMenu.AddMenuItem() + contextMenu.AddMenuItem("ShowMenuItem") .SetHeader("Show curve") .SetCommand(_curve, curve => { + if (Context.UiDocument is null) return; + if (curve.Reference is null) return; + Application.ActionEventHandler.Raise(_ => { - if (Context.UiDocument is null) return; - if (curve.Reference is null) return; var element = curve.Reference.ElementId.ToElement(Context.Document); if (element is not null) Context.UiDocument.ShowElements(element); Context.UiDocument.Selection.SetReferences([curve.Reference]); }); }) .SetShortcut(ModifierKeys.Alt, Key.F7); + + contextMenu.AddMenuItem("SelectMenuItem") + .SetHeader("Select curve") + .SetCommand(_curve, curve => + { + if (Context.UiDocument is null) return; + if (curve.Reference is null) return; + + Application.ActionEventHandler.Raise(_ => + { + Context.UiDocument.Selection.SetReferences([curve.Reference]); + }); + }) + .SetShortcut(ModifierKeys.Alt, Key.F8); #endif } diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/EdgeDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/EdgeDescriptor.cs index 4bac8d36..4f501458 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/EdgeDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/EdgeDescriptor.cs @@ -46,20 +46,35 @@ public EdgeDescriptor(Edge edge) public void RegisterMenu(ContextMenu contextMenu) { #if REVIT2023_OR_GREATER - contextMenu.AddMenuItem() + contextMenu.AddMenuItem("ShowMenuItem") .SetHeader("Show edge") .SetCommand(_edge, edge => { + if (Context.UiDocument is null) return; + if (edge.Reference is null) return; + Application.ActionEventHandler.Raise(_ => { - if (Context.UiDocument is null) return; - if (edge.Reference is null) return; var element = edge.Reference.ElementId.ToElement(Context.Document); if (element is not null) Context.UiDocument.ShowElements(element); Context.UiDocument.Selection.SetReferences([edge.Reference]); }); }) .SetShortcut(ModifierKeys.Alt, Key.F7); + + contextMenu.AddMenuItem("SelectMenuItem") + .SetHeader("Select edge") + .SetCommand(_edge, edge => + { + if (Context.UiDocument is null) return; + if (edge.Reference is null) return; + + Application.ActionEventHandler.Raise(_ => + { + Context.UiDocument.Selection.SetReferences([edge.Reference]); + }); + }) + .SetShortcut(ModifierKeys.Alt, Key.F8); #endif } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs index 7819daa3..f282e533 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/ElementDescriptor.cs @@ -247,7 +247,7 @@ IVariants ResolveIsPhaseDemolishedValid() return variants; } - + #if REVIT2022_OR_GREATER IVariants ResolveIsCreatedPhaseOrderValid() { @@ -275,7 +275,7 @@ IVariants ResolveIsDemolishedPhaseOrderValid() return variants; } -#endif +#endif } public virtual void RegisterExtensions(IExtensionManager manager) @@ -286,9 +286,9 @@ public virtual void RegisterExtensions(IExtensionManager manager) public virtual void RegisterMenu(ContextMenu contextMenu) { - if (_element is not ElementType) + if (_element is not ElementType && _element is not Family) { - contextMenu.AddMenuItem() + contextMenu.AddMenuItem("ShowMenuItem") .SetHeader("Show element") .SetCommand(_element, element => { @@ -304,20 +304,21 @@ public virtual void RegisterMenu(ContextMenu contextMenu) .SetShortcut(ModifierKeys.Alt, Key.F7); } - contextMenu.AddMenuItem() + contextMenu.AddMenuItem("SelectMenuItem") .SetHeader("Select element") .SetCommand(_element, element => { + if (Context.UiDocument is null) return; + if (!element.IsValidObject) return; + Application.ActionEventHandler.Raise(_ => { - if (Context.UiDocument is null) return; - if (!element.IsValidObject) return; Context.UiDocument.Selection.SetElementIds([element.Id]); }); }) - .SetShortcut(ModifierKeys.Alt, Key.F7); + .SetShortcut(ModifierKeys.Alt, Key.F8); - contextMenu.AddMenuItem() + contextMenu.AddMenuItem("DeleteMenuItem") .SetHeader("Delete") .SetCommand(_element, async element => { diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FaceDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FaceDescriptor.cs index 98e5ec7a..bed28d2b 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FaceDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FaceDescriptor.cs @@ -46,20 +46,35 @@ public FaceDescriptor(Face face) public void RegisterMenu(ContextMenu contextMenu) { #if REVIT2023_OR_GREATER - contextMenu.AddMenuItem() + contextMenu.AddMenuItem("ShowMenuItem") .SetHeader("Show face") .SetCommand(_face, face => { + if (Context.UiDocument is null) return; + if (face.Reference is null) return; + Application.ActionEventHandler.Raise(_ => { - if (Context.UiDocument is null) return; - if (face.Reference is null) return; var element = face.Reference.ElementId.ToElement(Context.Document); if (element is not null) Context.UiDocument.ShowElements(element); Context.UiDocument.Selection.SetReferences([face.Reference]); }); }) .SetShortcut(ModifierKeys.Alt, Key.F7); + + contextMenu.AddMenuItem("SelectMenuItem") + .SetHeader("Select face") + .SetCommand(_face, face => + { + if (Context.UiDocument is null) return; + if (face.Reference is null) return; + + Application.ActionEventHandler.Raise(_ => + { + Context.UiDocument.Selection.SetReferences([face.Reference]); + }); + }) + .SetShortcut(ModifierKeys.Alt, Key.F8); #endif } } \ No newline at end of file diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs index 82b78a96..cbc82839 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/FamilySizeTableDescriptor.cs @@ -70,7 +70,7 @@ IVariants ResolveIsValidColumnIndex() public void RegisterMenu(ContextMenu contextMenu) { - contextMenu.AddMenuItem() + contextMenu.AddMenuItem("ShowMenuItem") .SetHeader("Show table") .SetAvailability(table.IsValidObject) .SetCommand(table, async sizeTable => diff --git a/source/RevitLookup/Core/ComponentModel/Descriptors/SolidDescriptor.cs b/source/RevitLookup/Core/ComponentModel/Descriptors/SolidDescriptor.cs index b607f22e..e7282a32 100644 --- a/source/RevitLookup/Core/ComponentModel/Descriptors/SolidDescriptor.cs +++ b/source/RevitLookup/Core/ComponentModel/Descriptors/SolidDescriptor.cs @@ -42,13 +42,14 @@ public SolidDescriptor(Solid solid) public void RegisterMenu(ContextMenu contextMenu) { #if REVIT2023_OR_GREATER - contextMenu.AddMenuItem() + contextMenu.AddMenuItem("ShowMenuItem") .SetHeader("Show solid") .SetCommand(_solid, solid => { + if (Context.UiDocument is null) return; + Application.ActionEventHandler.Raise(_ => { - if (Context.UiDocument is null) return; var references = solid.Faces .Cast() .Select(face => face.Reference) @@ -63,6 +64,27 @@ public void RegisterMenu(ContextMenu contextMenu) }); }) .SetShortcut(ModifierKeys.Alt, Key.F7); + + contextMenu.AddMenuItem("SelectMenuItem") + .SetHeader("Select solid") + .SetCommand(_solid, solid => + { + if (Context.UiDocument is null) return; + + Application.ActionEventHandler.Raise(_ => + { + var references = solid.Faces + .Cast() + .Select(face => face.Reference) + .Where(reference => reference is not null) + .ToList(); + + if (references.Count == 0) return; + + Context.UiDocument.Selection.SetReferences(references); + }); + }) + .SetShortcut(ModifierKeys.Alt, Key.F8); #endif } diff --git a/source/RevitLookup/Views/Resources/Menus.xaml b/source/RevitLookup/Views/Resources/Menus.xaml index 68686cb8..e95c4e5f 100644 --- a/source/RevitLookup/Views/Resources/Menus.xaml +++ b/source/RevitLookup/Views/Resources/Menus.xaml @@ -25,8 +25,18 @@ Header="Refresh" Icon="{rl:SymbolIcon ArrowCounterclockwise12}" /> + Header="Delete" + Icon="{rl:SymbolIcon Delete16}" /> + + \ No newline at end of file From b8910d300ac0cab3b6ff8633ab334f48d2955415 Mon Sep 17 00:00:00 2001 From: Nice3point Date: Fri, 17 May 2024 03:21:32 +0300 Subject: [PATCH 19/19] Bump version --- Changelog.md | 29 +++++++++++++++++++++++++++++ build/Build.Configuration.cs | 10 +++++----- 2 files changed, 34 insertions(+), 5 deletions(-) diff --git a/Changelog.md b/Changelog.md index 5becd1a7..83ed0cf4 100644 --- a/Changelog.md +++ b/Changelog.md @@ -1,5 +1,34 @@ # Changelog +# 2025-05-17 **2025.0.4** + +A new Release focused on improving core functionalities and robustness of the product. + +## Improvements + +- Introducing a preview feature for **Family Size Table**, making it easier to manage and visualize family sizes by @SergeyNefyodov in https://github.com/jeremytammik/RevitLookup/pull/236 + ![изображение](https://github.com/jeremytammik/RevitLookup/assets/20504884/57001fab-cc5b-4973-a42a-70ffe3420b69) + To access it: + - Enable **Show Extensions** in the view menu + - Select any **FamilyInstance** + - Navigate to the **Symbol** + - Navigate to the **Family** (or just search for Family class objects in the **Snoop database** command) + - Navigate to the **GetFamilySizeTableManager** method + - Navigate to the **GetSizeTable** method + - Right-click on one of the tables and select the **Show table** command + + _Note: Family size table is currently in read-only mode_ + +- Added new context menu item for selecting Element classes without showing +- Added new fresh, intuitive icons to the context menu for a more user-friendly interface. +- Refined labels, class names, and exception messages + +## Bugs + +- Resolved an issue where the delete action was not displayed in the context menu for ElementType classes +- Fixed the context menu display issue for Element classes, broken in previous release +- Fixed the order of descriptors to prevent missing extensions and context menu items in some classes, broken in previous release by @SergeyNefyodov in https://github.com/jeremytammik/RevitLookup/pull/235 + # 2025-05-13 **2025.0.3** ## General diff --git a/build/Build.Configuration.cs b/build/Build.Configuration.cs index b4b65110..b37e9761 100644 --- a/build/Build.Configuration.cs +++ b/build/Build.Configuration.cs @@ -18,11 +18,11 @@ protected override void OnBuildInitialized() VersionMap = new() { - {"Release R21", "2021.3.3"}, - {"Release R22", "2022.3.3"}, - {"Release R23", "2023.3.3"}, - {"Release R24", "2024.1.3"}, - {"Release R25", "2025.0.3"} + {"Release R21", "2021.3.4"}, + {"Release R22", "2022.3.4"}, + {"Release R23", "2023.3.4"}, + {"Release R24", "2024.1.4"}, + {"Release R25", "2025.0.4"} }; } } \ No newline at end of file