Skip to content

Commit 5ef2d96

Browse files
authored
Allow unused required parameters in endpoint rule set (#601)
* Allow unused required parameters in endpoint rule set * Add comment to explain why add a blank identifier * Generate blank variable for string arrays as well
1 parent 287a368 commit 5ef2d96

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

codegen/smithy-go-codegen/src/main/java/software/amazon/smithy/go/codegen/endpoints/EndpointResolverGenerator.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,18 @@ private GoWriter.Writable generateResolveMethodBody(EndpointRuleSet ruleset) {
189189
continue;
190190
}
191191
switch (param.getType()) {
192-
case STRING, BOOLEAN ->
192+
case STRING, BOOLEAN -> {
193193
w.write("$L := *$L",
194194
getLocalVarParameterName(param), getMemberParameterName(param));
195+
// even if the parameter is required, it's not guaranteed that it will be used
196+
// so we generate a blank identifier to prevent a compiler error if the
197+
// variable is not used
198+
w.write("_ = $L", getLocalVarParameterName(param));
199+
}
195200
case STRING_ARRAY -> {
196201
w.write("$L := stringSlice($L)",
197202
getLocalVarParameterName(param), getMemberParameterName(param));
203+
w.write("_ = $L", getLocalVarParameterName(param));
198204
}
199205
default -> throw new CodegenException("unrecognized parameter type");
200206
}

0 commit comments

Comments
 (0)