| 458 | } |
| 459 | |
| 460 | func (t *translator) dottedBaseCase(loc ast.Node, lhs *ast.IDExpr, rhs *ast.IDExpr, inType super.Type) (sem.Expr, super.Type) { |
| 461 | if e, typ := t.idExpand(lhs, false, inType); e != nil { |
| 462 | return t.deref(loc, e, rhs, typ) |
| 463 | } |
| 464 | if t.scope.sql != nil { |
| 465 | return t.scope.resolve(t, loc, []string{lhs.Name, rhs.Name}, inType) |
| 466 | } |
| 467 | id, typ := t.idExpr(lhs, false, inType) |
| 468 | return t.deref(loc, id, rhs, typ) |
| 469 | } |
| 470 | |
| 471 | func (t *translator) deref(loc ast.Node, lhs sem.Expr, id *ast.IDExpr, inType super.Type) (sem.Expr, super.Type) { |
| 472 | typ, _ := t.checker.deref(id, inType, id.Name) |