You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
448 B
23 lines
448 B
package codescan
|
|
|
|
import (
|
|
"go/ast"
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
func getEnumBasicLitValue(basicLit *ast.BasicLit) interface{} {
|
|
switch basicLit.Kind.String() {
|
|
case "INT":
|
|
if result, err := strconv.ParseInt(basicLit.Value, 10, 64); err == nil {
|
|
return result
|
|
}
|
|
case "FLOAT":
|
|
if result, err := strconv.ParseFloat(basicLit.Value, 64); err == nil {
|
|
return result
|
|
}
|
|
default:
|
|
return strings.Trim(basicLit.Value, "\"")
|
|
}
|
|
return nil
|
|
}
|
|
|