Skip to content

Commit 052caab

Browse files
live1206Copilot
andauthored
Refactor safe flatten (Azure#52187)
* refactor safe flatten * Update eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Visitors/SafeFlattenVisitor.cs Co-authored-by: Copilot <[email protected]> * handle nullable value type properly * comment --------- Co-authored-by: Copilot <[email protected]>
1 parent 31404a9 commit 052caab

File tree

11 files changed

+1060
-954
lines changed

11 files changed

+1060
-954
lines changed

eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Utilities/PropertyHelpers.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ namespace Azure.Generator.Management.Utilities
1212
{
1313
internal class PropertyHelpers
1414
{
15+
public static bool IsOverriddenValueType(PropertyProvider innerProperty)
16+
=> innerProperty.Type.IsValueType && !innerProperty.Type.IsNullable;
17+
1518
public static string GetCombinedPropertyName(PropertyProvider innerProperty, PropertyProvider immediateParentProperty)
1619
{
1720
var immediateParentPropertyName = GetPropertyName(immediateParentProperty);

eng/packages/http-client-csharp-mgmt/generator/Azure.Generator.Management/src/Visitors/SafeFlattenVisitor.cs

Lines changed: 152 additions & 159 deletions
Large diffs are not rendered by default.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/bar.tsp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,8 @@ model BarSettingsResource is ProxyResource<BarSettingsProperties> {
4848
...ResourceNameParameter<BarSettingsResource, SegmentName = "settings">;
4949

5050
stringArray?: string[];
51+
property: BarQuotaProperties;
52+
anotherProperty: BarQuotaProperties;
5153
}
5254

5355
@parentResource(Bar)
@@ -57,7 +59,7 @@ model BarQuotaResource is ProxyResource<BarQuotaProperties> {
5759

5860
model BarQuotaProperties {
5961
/** enabled */
60-
left: int16;
62+
left: int32;
6163
}
6264

6365
model BarSettingsProperties {

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/BarQuotaResourceData.cs

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/BarSettingsResourceData.Serialization.cs

Lines changed: 24 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/BarSettingsResourceData.cs

Lines changed: 46 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/MgmtTypeSpecModelFactory.cs

Lines changed: 8 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/BarQuotaProperties.Serialization.cs

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/BarQuotaProperties.cs

Lines changed: 4 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

eng/packages/http-client-csharp-mgmt/generator/TestProjects/Local/Mgmt-TypeSpec/src/Generated/Models/MgmtTypeSpecContext.cs

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)