Develop Desktop, Embedded, Mobile and WebAssembly apps with C# and XAML. The future of .NET UI
This report summarizes scanner evidence for AvaloniaUI/Avalonia, a C# project with 31,735 GitHub stars. SynthScan examined 710,315 lines of code across 4621 source files, recording 2389 pattern matches distributed across 10 syntactic categories. The legacy adjusted pattern signal is 3.4 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 2338 finding(s).
Are imports declared and package/API names verified? 27 finding(s).
Are wrappers, guards, and repeated structures necessary? 24 finding(s).
Which changes need focused human review? 2389 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2389 distinct pattern matches across 10 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | NOTICE.md | 261 | // * Redistributions of source code must retain the above copyright | COMMENT |
| LOW | NOTICE.md | 281 | // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | COMMENT |
| LOW | NOTICE.md | 301 | COMMENT | |
| LOW | native/Avalonia.Native/inc/com.h | 21 | #define S_OK 0x0L | COMMENT |
| LOW | native/Avalonia.Native/inc/avalonia-native-guids.h | 1 | #define COM_GUIDS_MATERIALIZE | COMMENT |
| LOW | native/Avalonia.Native/inc/comimpl.h | 1 | // Copyright (c) The Avalonia Project. All rights reserved. | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/AvnTextInputMethod.h | 1 | // | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/AvnPanelWindow.mm | 1 | // | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/TopLevelImpl.h | 1 | // | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/StorageProvider.mm | 1 | #include "common.h" | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/StorageProvider.mm | 481 | COMMENT | |
| LOW | native/Avalonia.Native/src/OSX/WindowBaseImpl.h | 1 | // | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/KeyTransform.mm | 161 | //{ , AvnPhysicalKeyPrintScreen, 0 }, | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/KeyTransform.mm | 181 | //{ , AvnPhysicalKeyMediaTrackPrevious, 0 }, | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/AvnWindow.mm | 1 | // | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/AvnWindow.mm | 441 | // Don't adjust window state during fullscreen transitions | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/WindowBaseImpl.mm | 1 | // | COMMENT |
| LOW | native/Avalonia.Native/src/OSX/PopupImpl.mm | 1 | // | COMMENT |
| LOW | nukebuild/ApiDiffHelper.cs | 161 | AbsolutePath packageOutputFolderPath, | COMMENT |
| LOW | …alonia.Benchmarks/Media/Variation/VariationFixtures.cs | 21 | /// constructor (the same pattern <c>tests/Avalonia.RenderTests/Media/GlyphOutlineRenderTests</c> | COMMENT |
| LOW | …alonia.Benchmarks/Media/Variation/VariationFixtures.cs | 61 | /// </summary> | COMMENT |
| LOW | …a.Benchmarks/Media/Variation/AdvanceLookupBenchmark.cs | 1 | using System; | COMMENT |
| LOW | …a.Benchmarks/Media/Variation/AdvanceLookupBenchmark.cs | 21 | /// the batch advance path. Regressions multiply across paragraph-size inputs. | COMMENT |
| LOW | …s/Avalonia.Markup.UnitTests/Properties/AssemblyInfo.cs | 21 | [assembly: ComVisible(false)] | COMMENT |
| LOW | …onia.Controls.UnitTests/VirtualizingStackPanelTests.cs | 741 | COMMENT | |
| LOW | tests/Avalonia.Controls.UnitTests/GridTests.cs | 1641 | // PrintColumnDefinitions(grid); | COMMENT |
| LOW | …ls.UnitTests/PullToRefresh/RefreshInfoProviderTests.cs | 1 | using Avalonia.Controls.PullToRefresh; | COMMENT |
| LOW | …onia.Base.UnitTests/DispatcherExecutionContextTests.cs | 1 | using System.Diagnostics.CodeAnalysis; | COMMENT |
| LOW | tests/Avalonia.Base.UnitTests/Media/ColorTests.cs | 361 | var convertedHsl = dataPoint.Item1.ToHsl(); | COMMENT |
| LOW | …se.UnitTests/Media/Fonts/MalformedCmapNamePostTests.cs | 1 | using Avalonia.UnitTests; | COMMENT |
| LOW | …s/Avalonia.Skia.UnitTests/Media/FontCollectionTests.cs | 281 | COMMENT | |
| LOW | …a.UnitTests/Media/TextFormatting/SplitTextRunsTests.cs | 21 | /// runs), but the method is also called by <c>TextCollapsingProperties</c> | COMMENT |
| LOW | tests/Avalonia.UnitTests/Properties/AssemblyInfo.cs | 21 | COMMENT | |
| LOW | tests/Avalonia.UnitTests/Fonts/BigEndianBuffer.cs | 1 | using System; | COMMENT |
| LOW | tests/Avalonia.UnitTests/Fonts/SyntheticFont.cs | 21 | /// means a faithful test font is just a <c>tag → bytes</c> map: <see cref="SyntheticFont"/> | COMMENT |
| LOW | tests/Avalonia.UnitTests/Fonts/SyntheticFont.cs | 221 | snapshot[kvp.Key] = (byte[])kvp.Value.Clone(); | COMMENT |
| LOW | …op/WindowsInteropTest/Properties/Resources.Designer.cs | 1 | //------------------------------------------------------------------------------ | COMMENT |
| LOW | samples/ControlCatalog.Browser/Program.cs | 41 | } | COMMENT |
| LOW | …lCatalog/Pages/Transitions/WaveRevealPageTransition.cs | 41 | /// Gets or sets the bulge factor along the movement axis (0-1). | COMMENT |
| LOW | src/Skia/Avalonia.Skia/SkiaOptions.cs | 1 | using System; | COMMENT |
| LOW | src/Skia/Avalonia.Skia/SkiaOptions.cs | 21 | /// Use Skia's SaveLayer API to handling opacity. | COMMENT |
| LOW | src/Skia/Avalonia.Skia/IDrawableBitmapImpl.cs | 1 | using Avalonia.Platform; | COMMENT |
| LOW | src/Skia/Avalonia.Skia/SKPaintCache.cs | 1 | using System.Collections.Concurrent; | COMMENT |
| LOW | src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs | 161 | using var image = SnapshotImage(); | COMMENT |
| LOW | src/Skia/Avalonia.Skia/SurfaceRenderTarget.cs | 201 | public int Height; | COMMENT |
| LOW | src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 61 | COMMENT | |
| LOW | src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 1241 | // To understand what happens here, read | COMMENT |
| LOW | src/Skia/Avalonia.Skia/Gpu/ISkiaGpu.cs | 21 | /// </summary> | COMMENT |
| LOW | src/Skia/Avalonia.Skia/Helpers/ImageSavingHelper.cs | 21 | /// The quality value is interpreted from 0 to 100. When null, 100 is used. | COMMENT |
| LOW | src/Avalonia.Controls/TickBar.cs | 181 | /// <summary> | COMMENT |
| LOW | src/Avalonia.Controls/TickBar.cs | 201 | /// Ticks can be draw in 8 different ways depends on Placement property and IsDirectionReversed property. | COMMENT |
| LOW | src/Avalonia.Controls/Control.cs | 21 | /// </summary> | COMMENT |
| LOW | src/Avalonia.Controls/Control.cs | 141 | /// and both layout and render are complete. | COMMENT |
| LOW | src/Avalonia.Controls/Control.cs | 161 | /// <remarks> | COMMENT |
| LOW | src/Avalonia.Controls/WindowResizedEventArgs.cs | 21 | COMMENT | |
| LOW | src/Avalonia.Controls/IMenuElement.cs | 21 | IEnumerable<IMenuItem> SubItems { get; } | COMMENT |
| LOW | src/Avalonia.Controls/WindowBase.cs | 81 | /// <summary> | COMMENT |
| LOW | src/Avalonia.Controls/Design.cs | 21 | /// <remarks> | COMMENT |
| LOW | src/Avalonia.Controls/Design.cs | 81 | /// </summary> | COMMENT |
| LOW | src/Avalonia.Controls/Design.cs | 121 | { | COMMENT |
| 2216 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | native/Avalonia.Native/src/OSX/StorageProvider.mm | 442 | // ┌───────────────────┐ | COMMENT |
| MEDIUM | native/Avalonia.Native/src/OSX/StorageProvider.mm | 446 | // └───────────────────┘ | COMMENT |
| MEDIUM | native/Avalonia.Native/src/OSX/StorageProvider.mm | 486 | // ┌──────────────┐ | COMMENT |
| MEDIUM | native/Avalonia.Native/src/OSX/StorageProvider.mm | 490 | // └──────────────┘ | COMMENT |
| MEDIUM | …s/Media/TextFormatting/SentenceBreakEnumeratorTests.cs | 73 | // ── Targeted tests ──────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Media/TextFormatting/SentenceBreakEnumeratorTests.cs | 229 | // ── Helpers ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 1247 | // ╔════════════════════════════════════╗ <--- target control | COMMENT |
| MEDIUM⚡ | src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 1249 | // ║ ╔═════╗───────────┐ <--- content ║ | COMMENT |
| MEDIUM⚡ | src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 1251 | // ║ ╚═════╝ ╔══╗ ║ | COMMENT |
| MEDIUM⚡ | src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 1253 | // ║ │ ╔═════╗content^ │ ║ | COMMENT |
| MEDIUM⚡ | src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 1254 | // ║ └─╚═════╝─────────┘ ║ | COMMENT |
| MEDIUM⚡ | src/Skia/Avalonia.Skia/DrawingContextImpl.cs | 1256 | // ╚════════════════════════════════════╝ | COMMENT |
| MEDIUM | …onia.UnicodeTrieGenerator/SegmentationTrieGenerator.cs | 62 | // ── GraphemeBreak ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …onia.UnicodeTrieGenerator/SegmentationTrieGenerator.cs | 81 | // ── Single-bit properties ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …onia.UnicodeTrieGenerator/SegmentationTrieGenerator.cs | 103 | // ── IndicConjunctBreak ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …onia.UnicodeTrieGenerator/SegmentationTrieGenerator.cs | 112 | // ── WordBreak ───────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …onia.UnicodeTrieGenerator/SegmentationTrieGenerator.cs | 122 | // ── LineBreak (missing-defaults first, then explicit assignments) ───────── | COMMENT |
| MEDIUM⚡ | …onia.UnicodeTrieGenerator/SegmentationTrieGenerator.cs | 132 | // ── SentenceBreak ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …lonia.Base/Media/TextFormatting/Unicode/UnicodeData.cs | 12 | // ── UnicodeDataTrie field layout ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …lonia.Base/Media/TextFormatting/Unicode/UnicodeData.cs | 27 | // ── SegmentationTrie field layout ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …lonia.Base/Media/TextFormatting/Unicode/UnicodeData.cs | 64 | // ── BiDiTrie field layout ───────────────────────────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …rop/WindowsInteropTest/Properties/Settings.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …op/WindowsInteropTest/Properties/Resources.Designer.cs | 3 | // This code was generated by a tool. | COMMENT |
| HIGH | …/DevGenerators/CompilerDynamicDependenciesGenerator.cs | 44 | // This code was generated by CompilerDynamicDependenciesGenerator source generator. | COMMENT |
| HIGH | …/Avalonia.UnicodeTrieGenerator/UnicodeDataGenerator.cs | 78 | // This code was generated by UnicodeDataGenerator. | COMMENT |
| HIGH | …/Avalonia.UnicodeTrieGenerator/UnicodeDataGenerator.cs | 282 | // This code was generated by UnicodeDataGenerator. | COMMENT |
| HIGH | …/Media/TextFormatting/Unicode/ScriptExtensions.data.cs | 3 | // This code was generated by UnicodeDataGenerator. | COMMENT |
| HIGH | ….Base/Media/TextFormatting/Unicode/UnicodeData.trie.cs | 3 | // This code was generated by UnicodeDataGenerator. | COMMENT |
| HIGH | …Base/Media/TextFormatting/Unicode/Segmentation.trie.cs | 3 | // This code was generated by UnicodeDataGenerator. | COMMENT |
| HIGH | …valonia.Base/Media/TextFormatting/Unicode/BiDi.trie.cs | 3 | // This code was generated by UnicodeDataGenerator. | COMMENT |
| HIGH | …se/Media/TextFormatting/Unicode/EastAsianWidth.trie.cs | 3 | // This code was generated by UnicodeDataGenerator. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …sts/Data/Core/BindingExpressionTests.DataValidation.cs | 152 | // Step 1: Set a valid value. | COMMENT |
| LOW⚡ | …sts/Data/Core/BindingExpressionTests.DataValidation.cs | 157 | // Step 2: Set an invalid value — setter throws, error appears. | COMMENT |
| LOW⚡ | …sts/Data/Core/BindingExpressionTests.DataValidation.cs | 166 | // Step 3: Revert to the same valid value (10). The error must clear. | COMMENT |
| LOW⚡ | …ts/Avalonia.Generators.Tests/XamlXNameResolverTests.cs | 129 | // Step 1: parse XAML as xml nodes, without any type information. | COMMENT |
| LOW⚡ | …ts/Avalonia.Generators.Tests/XamlXNameResolverTests.cs | 135 | // Step 2: use compilation context to resolve types | COMMENT |
| LOW⚡ | …Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs | 31 | // Step 1: parse XAML as xml nodes, without any type information. | COMMENT |
| LOW⚡ | …Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs | 40 | // Step 2: use compilation context to resolve types | COMMENT |
| LOW⚡ | …Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs | 46 | // Step 3: run generator | COMMENT |
| LOW⚡ | ….Tests/InitializeComponent/InitializeComponentTests.cs | 37 | // Step 1: parse XAML as xml nodes, without any type information. | COMMENT |
| LOW⚡ | ….Tests/InitializeComponent/InitializeComponentTests.cs | 46 | // Step 2: use compilation context to resolve types | COMMENT |
| LOW⚡ | ….Tests/InitializeComponent/InitializeComponentTests.cs | 52 | // Step 3: run generator | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 54 | // Step 1: Append this to the end of the "sequential" linked list. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 57 | // Step 2: Append the item into the priority chain. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 108 | // Step 1: Remove the item from its priority chain. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 111 | // Step 2: Remove the item from the sequential chain. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 121 | // Step 1: Remove the item from the priority chain. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 124 | // Step 2: Insert the item into the new priority chain. | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 260 | // Step 1: Fix up the previous link | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 276 | // Step 2: Fix up the next link | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 292 | // Step 3: cleanup | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 366 | // Step 1: Fix up the previous link | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 382 | // Step 2: Fix up the next link | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 398 | // Step 3: cleanup | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | …sts/Data/Core/BindingExpressionTests.DataValidation.cs | 152 | // Step 1: Set a valid value. | COMMENT |
| LOW⚡ | …sts/Data/Core/BindingExpressionTests.DataValidation.cs | 157 | // Step 2: Set an invalid value — setter throws, error appears. | COMMENT |
| LOW⚡ | …sts/Data/Core/BindingExpressionTests.DataValidation.cs | 166 | // Step 3: Revert to the same valid value (10). The error must clear. | COMMENT |
| LOW⚡ | …ts/Avalonia.Generators.Tests/XamlXNameResolverTests.cs | 129 | // Step 1: parse XAML as xml nodes, without any type information. | COMMENT |
| LOW⚡ | …ts/Avalonia.Generators.Tests/XamlXNameResolverTests.cs | 135 | // Step 2: use compilation context to resolve types | COMMENT |
| LOW⚡ | …Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs | 31 | // Step 1: parse XAML as xml nodes, without any type information. | COMMENT |
| LOW⚡ | …Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs | 40 | // Step 2: use compilation context to resolve types | COMMENT |
| LOW⚡ | …Generators.Tests/OnlyProperties/OnlyPropertiesTests.cs | 46 | // Step 3: run generator | COMMENT |
| LOW⚡ | ….Tests/InitializeComponent/InitializeComponentTests.cs | 37 | // Step 1: parse XAML as xml nodes, without any type information. | COMMENT |
| LOW⚡ | ….Tests/InitializeComponent/InitializeComponentTests.cs | 46 | // Step 2: use compilation context to resolve types | COMMENT |
| LOW⚡ | ….Tests/InitializeComponent/InitializeComponentTests.cs | 52 | // Step 3: run generator | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 54 | // Step 1: Append this to the end of the "sequential" linked list. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 57 | // Step 2: Append the item into the priority chain. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 108 | // Step 1: Remove the item from its priority chain. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 111 | // Step 2: Remove the item from the sequential chain. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 121 | // Step 1: Remove the item from the priority chain. | COMMENT |
| LOW⚡ | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 124 | // Step 2: Insert the item into the new priority chain. | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 260 | // Step 1: Fix up the previous link | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 276 | // Step 2: Fix up the next link | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 292 | // Step 3: cleanup | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 366 | // Step 1: Fix up the previous link | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 382 | // Step 2: Fix up the next link | COMMENT |
| LOW | src/Avalonia.Base/Threading/DispatcherPriorityQueue.cs | 398 | // Step 3: cleanup | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …nderTests/Composition/RenderTargetPresentationTests.cs | 97 | var dirtyRect = fixture.Renderer.CompositionTarget.Server.DirtyRects.CombinedRect.ToRect(); | CODE |
| CRITICAL | api/Avalonia.nupkg.xml | 102 | <Target>M:Avalonia.Controls.Embedding.Offscreen.OffscreenTopLevelImplBase.SetFrameThemeVariant(Avalonia.Platform.Pla | CODE |
| CRITICAL | api/Avalonia.nupkg.xml | 234 | <Target>M:Avalonia.Controls.Embedding.Offscreen.OffscreenTopLevelImplBase.SetFrameThemeVariant(Avalonia.Platform.Pla | CODE |
| CRITICAL | src/Windows/Avalonia.WinUI/AvaloniaSwapChainPanel.cs | 628 | var moved = Microsoft.UI.Xaml.Input.FocusManager.TryMoveFocus(direction, options); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/Avalonia.RenderTests/Controls/TextBlockTests.cs | 84 | Text = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit" | CODE |
| LOW | tests/Avalonia.RenderTests/Controls/TextBlockTests.cs | 84 | Text = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit" | CODE |
| LOW | …ia.RenderTests/Media/TextFormatting/TextLayoutTests.cs | 27 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis " + | CODE |
| LOW | …ia.RenderTests/Media/TextFormatting/TextLayoutTests.cs | 27 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis " + | CODE |
| LOW | tests/Avalonia.Controls.UnitTests/TextBlockTests.cs | 1045 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolo | CODE |
| LOW | tests/Avalonia.Controls.UnitTests/TextBlockTests.cs | 1045 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolo | CODE |
| LOW | tests/Avalonia.Base.UnitTests/Layout/LayoutableTests.cs | 446 | Text = "Lorem ipsum dolor sit amet", | CODE |
| LOW | tests/Avalonia.Base.UnitTests/Layout/LayoutableTests.cs | 446 | Text = "Lorem ipsum dolor sit amet", | CODE |
| LOW | …Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs | 394 | "Multiline TextBox with TextWrapping.\r\rLorem ipsum dolor sit amet"; | CODE |
| LOW | …Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs | 394 | "Multiline TextBox with TextWrapping.\r\rLorem ipsum dolor sit amet"; | CODE |
| LOW | …Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs | 644 | const string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor inci | CODE |
| LOW | …Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs | 644 | const string text = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor inci | CODE |
| LOW | …Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs | 678 | private const string WrappedText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temp | CODE |
| LOW | …Skia.UnitTests/Media/TextFormatting/TextLayoutTests.cs | 678 | private const string WrappedText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod temp | CODE |
| LOW | …a.UnitTests/Media/TextFormatting/TextFormatterTests.cs | 588 | "Multiline TextBlock with TextWrapping.\r\rLorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW | …a.UnitTests/Media/TextFormatting/TextFormatterTests.cs | 588 | "Multiline TextBlock with TextWrapping.\r\rLorem ipsum dolor sit amet, consectetur adipiscing elit. | CODE |
| LOW⚡ | …a.UnitTests/Media/TextFormatting/TextFormatterTests.cs | 647 | [InlineData("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor", | CODE |
| LOW⚡ | …a.UnitTests/Media/TextFormatting/TextFormatterTests.cs | 647 | [InlineData("Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor", | CODE |
| LOW⚡ | …a.UnitTests/Media/TextFormatting/TextFormatterTests.cs | 648 | new[] { "Lorem ipsum ", "dolor sit amet, ", "consectetur ", "adipisicing ", "elit, sed do ", "eiusmod tempor | CODE |
| LOW⚡ | …a.UnitTests/Media/TextFormatting/TextFormatterTests.cs | 648 | new[] { "Lorem ipsum ", "dolor sit amet, ", "consectetur ", "adipisicing ", "elit, sed do ", "eiusmod tempor | CODE |
| LOW | samples/RenderDemo/Pages/FormattedTextPage.axaml.cs | 24 | const string testString = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"; | CODE |
| LOW | samples/RenderDemo/Pages/FormattedTextPage.axaml.cs | 24 | const string testString = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"; | CODE |
| LOW | …mples/IntegrationTestApp/Pages/AutomationPage.axaml.cs | 15 | textLiveRegion.Text += " Lorem ipsum."; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | ….UnitTests/Media/TextFormatting/TextCharactersTests.cs | 217 | // base. Probing keeps the tests robust to the exact coverage of the embedded fonts. | COMMENT |
| MEDIUM | src/Avalonia.Controls/Platform/ITopLevelImpl.cs | 46 | /// Rendering platform will check that list and see if it can utilize one of them to output. | COMMENT |
| MEDIUM | src/Avalonia.Wayland/WaylandTextUtils.cs | 14 | /// codepoint is 4 bytes in UTF-8 and 2 chars in UTF-16) and must be robust to | COMMENT |
| MEDIUM | …nia.Wayland/Server/Transient/WaylandInputDispatcher.cs | 295 | // flush time, preferring v120 per axis when present). This is robust to either event order. | COMMENT |
| MEDIUM | …ase/Media/TextFormatting/Unicode/GraphemeEnumerator.cs | 73 | // Essentially, if we saw Prepend data, we can't have Control | CR | LF data afterward (rule GB5). | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …ts/PropertyGenerator/PropertyGeneratorSnapshotTests.cs | 0 | public class outer { public class mycontrol : avaloniaobject { [generatedstyledproperty] public partial string? {|avp200 | STRING |
| HIGH | …/GeneratedProperties/GeneratedPropertyAnalyzerTests.cs | 0 | public class outer { public class mycontrol : avaloniaobject { [generatedstyledproperty] public partial string? {|avp200 | STRING |
| HIGH | …s/GeneratedProperties/GeneratedPropertyCodeFixTests.cs | 0 | public class outer { public class mycontrol : avaloniaobject { [generatedstyledproperty] public partial string? {|avp200 | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/tools/Avalonia.Generators/GeneratorOptions.cs | 9 | // When update these enum values, don't forget to update Avalonia.Generators.props. | COMMENT |