Fix code generation for methods with default arguments #35
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.
Context
This pull request addresses an issue in the code generation process for methods with default arguments. The current implementation does not correctly handle default values for parameters, leading to compilation errors.
These changes ensure that the code generator correctly handles default values for a wide range of parameter types.
Changes Made
Refactored
GetParametersWithTypesAndModifiers
Method:wrapInArg
parameter to indicate whether the default values should be wrapped inArg<T>
.Added
GetDefaultValueForType
Method:Added
GetEnumDefaultValueString
andFindEnumMember
Methods:GetEnumDefaultValueString
uses a switch expression to handle different enum underlying types.FindEnumMember
uses the Roslyn Semantic Model to iterate over the enum members (fields) and check their constant values, comparing them to the parametersExplicitDefaultValue
.Updated Unit Tests:
DefaultArgTests
to validate the behavior of the refactored code.