(expr ast.Expr)
| 140 | } |
| 141 | |
| 142 | func validateIdentifier(expr ast.Expr) (string, bool) { |
| 143 | switch expr.Kind() { |
| 144 | case ast.IdentKind: |
| 145 | return expr.AsIdent(), true |
| 146 | case ast.SelectKind: |
| 147 | sel := expr.AsSelect() |
| 148 | if sel.IsTestOnly() { |
| 149 | return "", false |
| 150 | } |
| 151 | opStr, isIdent := validateIdentifier(sel.Operand()) |
| 152 | if !isIdent { |
| 153 | return "", false |
| 154 | } |
| 155 | return opStr + "." + sel.FieldName(), true |
| 156 | default: |
| 157 | return "", false |
| 158 | } |
| 159 | } |
no test coverage detected