Code Review
/
govpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Fix binapigen decoding and minor improvements
[govpp.git]
/
binapigen
/
strings.go
diff --git
a/binapigen/definitions.go
b/binapigen/strings.go
similarity index 92%
rename from
binapigen/definitions.go
rename to
binapigen/strings.go
index
3c8a874
..
1ab24e9
100644
(file)
--- a/
binapigen/definitions.go
+++ b/
binapigen/strings.go
@@
-15,8
+15,10
@@
package binapigen
import (
package binapigen
import (
+ "go/token"
"strings"
"unicode"
"strings"
"unicode"
+ "unicode/utf8"
)
// commonInitialisms is a set of common initialisms that need to stay in upper case.
)
// commonInitialisms is a set of common initialisms that need to stay in upper case.
@@
-74,7
+76,8
@@
var specialInitialisms = map[string]string{
}
func usesInitialism(s string) string {
}
func usesInitialism(s string) string {
- if u := strings.ToUpper(s); commonInitialisms[u] {
+ u := strings.ToUpper(s)
+ if commonInitialisms[u] {
return u
} else if su, ok := specialInitialisms[u]; ok {
return su
return u
} else if su, ok := specialInitialisms[u]; ok {
return su
@@
-151,3
+154,12
@@
func camelCaseName(name string) (should string) {
}
return string(runes)
}
}
return string(runes)
}
+
+// sanitizedName returns the string converted into a valid Go identifier.
+func sanitizedName(s string) string {
+ r, _ := utf8.DecodeRuneInString(s)
+ if token.Lookup(s).IsKeyword() || !unicode.IsLetter(r) {
+ return s + "s"
+ }
+ return s
+}