Skip to content

Commit e526dc3

Browse files
author
Fahad Zubair
committed
Remove getFieldValue.
1 parent 5fd7eaa commit e526dc3

File tree

2 files changed

+23
-28
lines changed

2 files changed

+23
-28
lines changed

codegen-core/src/main/kotlin/software/amazon/smithy/rust/codegen/core/smithy/generators/StructureGenerator.kt

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -109,9 +109,20 @@ open class StructureGenerator(
109109
) {
110110
writer.rustBlock("fn fmt(&self, f: &mut #1T::Formatter<'_>) -> #1T::Result", RuntimeType.stdFmt) {
111111
rust("""let mut formatter = f.debug_struct(${name.dq()});""")
112+
112113
members.forEach { member ->
113114
val memberName = symbolProvider.toMemberName(member)
114-
val fieldValue = getFieldValue(member, memberName)
115+
// If the struct is marked sensitive all fields get redacted, otherwise each field is determined on its own
116+
val fieldValue =
117+
if (shape.shouldRedact(model)) {
118+
REDACTION
119+
} else {
120+
member.redactIfNecessary(
121+
model,
122+
"self.$memberName",
123+
)
124+
}
125+
115126
rust(
116127
"formatter.field(${memberName.dq()}, &$fieldValue);",
117128
)
@@ -127,15 +138,6 @@ open class StructureGenerator(
127138
member: MemberShape,
128139
memberName: String?,
129140
): String {
130-
val fieldValue =
131-
if (shape.shouldRedact(model)) {
132-
REDACTION
133-
} else {
134-
member.redactIfNecessary(
135-
model,
136-
"self.$memberName",
137-
)
138-
}
139141
return fieldValue
140142
}
141143

codegen-server/python/src/main/kotlin/software/amazon/smithy/rust/codegen/server/python/smithy/generators/PythonServerEnumGenerator.kt

Lines changed: 11 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -59,27 +59,20 @@ class PythonConstrainedEnum(
5959
}
6060

6161
private fun pyEnumName(context: EnumGeneratorContext): Writable =
62-
// Only named enums have a `name` property. Do not generate `fn name` for
63-
// unnamed enums.
64-
if (context.enumTrait.hasNames()) {
65-
writable {
66-
rustBlock(
67-
"""
68-
##[getter]
69-
pub fn name(&self) -> &str
70-
""",
71-
) {
72-
rustBlock("match self") {
73-
context.sortedMembers.forEach { member ->
74-
val memberName = member.name()?.name
75-
check(memberName != null) { "${context.enumTrait} cannot have null members" }
76-
rust("""${context.enumName}::$memberName => ${memberName?.dq()},""")
77-
}
62+
writable {
63+
rustBlock(
64+
"""
65+
##[getter]
66+
pub fn name(&self) -> &str
67+
""",
68+
) {
69+
rustBlock("match self") {
70+
context.sortedMembers.forEach { member ->
71+
val memberName = member.name()?.name
72+
rust("""${context.enumName}::$memberName => ${memberName?.dq()},""")
7873
}
7974
}
8075
}
81-
} else {
82-
writable {}
8376
}
8477
}
8578

0 commit comments

Comments
 (0)