accounts/abi/bind: Improve code readability

This commit is contained in:
protolambda 2017-12-28 21:23:21 +01:00 committed by Martin Holst Swende
parent a31bc94a55
commit 0e147cce0f
No known key found for this signature in database
GPG key ID: 683B438C05A5DDF0

View file

@ -296,21 +296,26 @@ func bindUnnestedTypeJava(stringKind string) (int, string) {
return len(parts[0]), "byte[]"
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)
if len(parts) != 3 {
return len(stringKind), stringKind
}
switch parts[2] {
case "8":
return len(parts[0]), "byte"
case "16":
return len(parts[0]), "short"
case "32":
return len(parts[0]), "int"
case "64":
return len(parts[0]), "long"
namedSize := map[string]string{
"8": "byte",
"16": "short",
"32": "int",
"64": "long",
}[parts[2]]
//default to BigInt
if namedSize == "" {
namedSize = "BigInt"
}
return len(parts[0]), "BigInt"
return len(parts[0]), namedSize
case strings.HasPrefix(stringKind, "bool"):
return len("bool"), "boolean"