feat: references check
... and fixes: parse fields without tags and other logical errors
This commit is contained in:
21
common/resolveBaseType.go
Normal file
21
common/resolveBaseType.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package common
|
||||
|
||||
import (
|
||||
"go/ast"
|
||||
)
|
||||
|
||||
func ResolveBaseType(expr ast.Expr) *string {
|
||||
switch e := expr.(type) {
|
||||
case *ast.Ident:
|
||||
return &e.Name
|
||||
case *ast.StarExpr:
|
||||
return ResolveBaseType(e.X)
|
||||
case *ast.ArrayType:
|
||||
return ResolveBaseType(e.Elt)
|
||||
case *ast.SelectorExpr:
|
||||
return ResolveBaseType(e.X)
|
||||
case *ast.ParenExpr:
|
||||
return ResolveBaseType(e.X)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Reference in New Issue
Block a user