accounts/abi/bind: Improve code readability

This commit is contained in:
protolambda 2017-12-28 21:23:21 +01:00
parent b6f0296430
commit 2444b61cf3
No known key found for this signature in database
GPG key ID: EC89FDBB2B4C7623

View file

@ -296,21 +296,26 @@ func bindUnnestedTypeJava(stringKind string) (int, string) {
return len(parts[0]), "byte[]" return len(parts[0]), "byte[]"
case strings.HasPrefix(stringKind, "int") || strings.HasPrefix(stringKind, "uint"): case strings.HasPrefix(stringKind, "int") || strings.HasPrefix(stringKind, "uint"):
//Note that uint and int (without digits) are also matched,
// these are size 256, and will translate to BigInt (the default).
parts := regexp.MustCompile(`(u)?int([0-9]*)`).FindStringSubmatch(stringKind) parts := regexp.MustCompile(`(u)?int([0-9]*)`).FindStringSubmatch(stringKind)
if len(parts) != 3 { if len(parts) != 3 {
return len(stringKind), stringKind return len(stringKind), stringKind
} }
switch parts[2] {
case "8": namedSize := map[string]string{
return len(parts[0]), "byte" "8": "byte",
case "16": "16": "short",
return len(parts[0]), "short" "32": "int",
case "32": "64": "long",
return len(parts[0]), "int" }[parts[2]]
case "64":
return len(parts[0]), "long" //default to BigInt
if namedSize == "" {
namedSize = "BigInt"
} }
return len(parts[0]), "BigInt" return len(parts[0]), namedSize
case strings.HasPrefix(stringKind, "bool"): case strings.HasPrefix(stringKind, "bool"):
return len("bool"), "boolean" return len("bool"), "boolean"