Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
example #533
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uh oh!
There was an error while loading. Please reload this page.
example #533
Changes from all commits
47895d9f163940b96d1ddFile filter
Filter by extension
Conversations
Uh oh!
There was an error while loading. Please reload this page.
Jump to
Uh oh!
There was an error while loading. Please reload this page.
There are no files selected for viewing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Add alternative text to the screenshot images.
The six
imgelements have noaltattribute. Screen readers cannot identify the code sample represented by each screenshot. Add concise descriptions, or usealt=""only for decorative images.🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Escape the
>character in the heading.Line 20 contains
=>, and HTMLHint reportsspec-char-escape. Replace it with=>or use a plain separator.Proposed fix
📝 Committable suggestion
🧰 Tools
🪛 HTMLHint (1.9.2)
[error] 20-20: Special characters must be escaped : [ > ].
(spec-char-escape)
🤖 Prompt for AI Agents
Source: Linters/SAST tools
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Correct the duplicated word in all publication artifacts.
The shared description contains
that that. Change it tothatin this file and synchronize the same correction across the published documentation and generated catalog records.📍 Affects 2 files
v2/rscg_examples/IncrementalSourceGenerator.BuilderPattern/nuget.txt#L1-L3(this comment)v2/docFind.json#L1698-L1698🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 163
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 5767
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 40541
🌐 Web query:
IncrementalSourceGenerator.BuilderPattern 1.0.2 generated builder WithFirstName Build nullable💡 Result:
The package IncrementalSourceGenerator.BuilderPattern (version 1.0.2) is a NuGet package designed to facilitate the implementation of the Builder design pattern in.NET using Roslyn incremental source generators [1]. Regarding your query about "WithFirstName" and "Build" support, particularly for nullable types: 1. Method Naming Convention: Generators of this type typically analyze public properties of a target class (marked with an attribute like [GenerateBuilder]) and automatically generate fluent "With" methods corresponding to those property names [2][3]. If your class has a property named FirstName, the generator will produce a WithFirstName method as part of the builder's fluent API [2][3]. 2. Build Method: These generators provide a Build method to finalize the object construction [2][3]. Depending on the specific implementation, the Build method returns the target object type [2][3]. 3. Nullable Support: Support for nullability depends on the specific source generator implementation you are using. Generally, modern.NET source generators respect C# nullable reference types. If a property is defined as nullable in your source class (e.g., string?), the generated builder typically reflects this in the generated With method signature [4]. Because there are multiple different NuGet packages providing "Builder Pattern" source generation—such as BuilderPatternGenerator, FluentBuilder, and others [5][6][7]—the exact behavior for nullable parameters or strict compile-time validation can vary. You should verify your project's specific dependency and refer to its generated output (found in the "Dependencies > Analyzers" node in Visual Studio) to see the exact signatures created for your properties.
Citations:
🌐 Web query:
github MartinBarrettNielsen11 Incremental-source-generator-builder-pattern README generated code Build WithFirstName💡 Result:
Based on the available information, there is no widely recognized repository matching the exact name "Incremental-source-generator-builder-pattern" associated with the user "MartinBarrettNielsen11". It is likely that this repository is private, deleted, or was a personal/niche project [1][2][3][4]. However, the pattern of "Incremental source generator" combined with a "Builder pattern" and "WithFirstName" methods is a common implementation pattern in C# development [5][6]. Specifically, the library M31.FluentAPI features similar functionality and documentation examples using "WithFirstName" in its README [7][8]. If you are looking for code that uses the "Build WithFirstName" fluent syntax, it is typically generated via C# Incremental Source Generators by: 1. Marking a class with an attribute (e.g., [FluentApi] or [GenerateBuilder]) [7][8][6]. 2. Having the source generator scan for properties or members to create corresponding.With[PropertyName] methods [7][8][6]. 3. Providing a.Build method to return the final object [7][8][6]. If you have a specific link or more context, that would help in identifying the exact implementation you are referring to.
Citations:
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 8321
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 3954
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 971
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 11298
Resolve the nullable contract for
Personproperties.Builder.csprojenables nullable reference types, butFirstNameandLastNameare not initialized.Build()leaves them null when theirWith...methods are not called. Initialize them, declare them nullable, or enforce required values duringBuild().🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🔴 Critical | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 296
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 14757
🏁 Script executed:
Repository: ignatandrei/RSCG_Examples
Length of output: 430
Add
partialto thePersondeclaration.The generator emits
public partial class Person, butPerson.csdeclarespublic class Person. This mismatch causes CS0260 and prevents compilation.Update the corresponding source snippet in the documentation.
🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🩺 Stability & Availability | 🟠 Major | ⚡ Quick win
Point the video script to the new CodeTour directory.
The workspace opens
D:\gth\RSCG_Examples\v2, but the new tour is underv2/.tours. Line 29 requestssrc/.tours/, which does not match the new file location. Use.tours/or update the tour file location, then verify the script from a clean checkout.🤖 Prompt for AI Agents
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟠 Major | ⚡ Quick win
Fix the invalid JSON before publishing the video script.
SpeakTest=" "is not valid JSON, and the trailing comma before]is also invalid. The parser fails before any video step runs. RemoveSpeakTestunless the consumer requires a valid quoted property, and remove the final comma.Proposed fix
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/IncrementalSourceGenerator.BuilderPattern#download-example-net--c-", -SpeakTest=" "}, +}, {"typeStep":"waitseconds","arg":"30"}, -] +]🧰 Tools
🪛 Biome (2.5.6)
[error] 36-36: Property key must be double quoted
(parse)
[error] 36-36: unexpected character
=(parse)
[error] 36-36: expected
,but instead found" "(parse)
[error] 36-36: expected
:but instead found}(parse)
[error] 38-38: Expected an array, an object, or a literal but instead found ']'.
(parse)
🤖 Prompt for AI Agents
Source: Linters/SAST tools
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
Remove the indentation from the author entry.
The eight leading spaces can make Markdown render the line as a code block instead of parsing the link. Use an ordered-list marker or remove the leading spaces.
Proposed fix
📝 Committable suggestion
🤖 Prompt for AI Agents
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.