Skip to content

Commit

Permalink
Use doc.IsPredeclared() and token.IsKeyword()
Browse files Browse the repository at this point in the history
for codegen.fixReservedGo().
  • Loading branch information
tchssk committed Oct 4, 2024
1 parent 0f727e1 commit 8e62659
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 74 deletions.
72 changes: 3 additions & 69 deletions codegen/goify.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
package codegen

import (
"go/doc"
"go/token"
"strings"

"goa.design/goa/v3/expr"
Expand Down Expand Up @@ -54,76 +56,8 @@ func UnionValTypeName(unionName string) string {

// fixReservedGo appends an underscore on to Go reserved keywords.
func fixReservedGo(w string) string {
if reservedGo[w] {
if doc.IsPredeclared(w) || token.IsKeyword(w) {
w += "_"
}
return w
}

var (
// reserved golang keywords and package names
reservedGo = map[string]bool{
// predeclared types
"bool": true,
"byte": true,
"complex128": true,
"complex64": true,
"float32": true,
"float64": true,
"int": true,
"int16": true,
"int32": true,
"int64": true,
"int8": true,
"rune": true,
"string": true,
"uint": true,
"uint16": true,
"uint32": true,
"uint64": true,
"uint8": true,
"uintptr": true,

// reserved keywords
"break": true,
"case": true,
"chan": true,
"const": true,
"continue": true,
"default": true,
"defer": true,
"delete": true,
"else": true,
"fallthrough": true,
"for": true,
"func": true,
"go": true,
"goto": true,
"if": true,
"import": true,
"interface": true,
"map": true,
"package": true,
"range": true,
"return": true,
"select": true,
"struct": true,
"switch": true,
"type": true,
"var": true,

// predeclared constants
"true": true,
"false": true,
"iota": true,
"nil": true,

// stdlib and goa packages used by generated code
"fmt": true,
"http": true,
"json": true,
"os": true,
"url": true,
"time": true,
}
)
10 changes: 5 additions & 5 deletions http/codegen/testdata/result_decode_functions.go
Original file line number Diff line number Diff line change
Expand Up @@ -789,15 +789,15 @@ func DecodeMethodAResponse(decoder func(*http.Response) goahttp.Decoder, restore
return res, nil
case http.StatusBadRequest:
var (
error string
error_ string
numOccur *int
err error
)
errorRaw := resp.Header.Get("X-Application-Error")
if errorRaw == "" {
error_Raw := resp.Header.Get("X-Application-Error")
if error_Raw == "" {
err = goa.MergeErrors(err, goa.MissingFieldError("error", "header"))
}
error = errorRaw
error_ = error_Raw
{
numOccurRaw := resp.Header.Get("X-Occur")
if numOccurRaw != "" {
Expand All @@ -817,7 +817,7 @@ func DecodeMethodAResponse(decoder func(*http.Response) goahttp.Decoder, restore
if err != nil {
return nil, goahttp.ErrValidationError("ValidateErrorResponseType", "MethodA", err)
}
return nil, NewMethodASomeError(error, numOccur)
return nil, NewMethodASomeError(error_, numOccur)
default:
body, _ := io.ReadAll(resp.Body)
return nil, goahttp.ErrInvalidResponse("ValidateErrorResponseType", "MethodA", resp.StatusCode, string(body))
Expand Down

0 comments on commit 8e62659

Please sign in to comment.