瀏覽代碼

accounts/abi: fix case of generated java functions (#18372)

Guillaume Ballet 6 年之前
父節點
當前提交
9bfd0b60cc
共有 1 個文件被更改,包括 6 次插入4 次删除
  1. 6 4
      accounts/abi/bind/bind.go

+ 6 - 4
accounts/abi/bind/bind.go

@@ -381,7 +381,7 @@ func namedTypeJava(javaKind string, solKind abi.Type) string {
 // methodNormalizer is a name transformer that modifies Solidity method names to
 // conform to target language naming concentions.
 var methodNormalizer = map[Lang]func(string) string{
-	LangGo:   capitalise,
+	LangGo:   abi.ToCamelCase,
 	LangJava: decapitalise,
 }
 
@@ -392,10 +392,12 @@ func capitalise(input string) string {
 
 // decapitalise makes a camel-case string which starts with a lower case character.
 func decapitalise(input string) string {
-	// NOTE: This is the current behavior, it doesn't match the comment
-	// above and needs to be investigated.
-	return abi.ToCamelCase(input)
+	if len(input) == 0 {
+		return input
+	}
 
+	goForm := abi.ToCamelCase(input)
+	return strings.ToLower(goForm[:1]) + goForm[1:]
 }
 
 // structured checks whether a list of ABI data types has enough information to