| 1286 | } |
| 1287 | |
| 1288 | func (e *encoder) select_(n *semantic.Select) (outID uint64) { |
| 1289 | e.build(&e.instances.Select, e.maps.Select, n, &outID, func() *Select { |
| 1290 | p := &Select{ |
| 1291 | Ast: e.astSwitch(n.AST), |
| 1292 | Type: e.ty(n.Type), |
| 1293 | Value: e.expr(n.Value), |
| 1294 | Default: e.expr(n.Default), |
| 1295 | } |
| 1296 | foreach(n.Choices, e.choice, &p.Choices) |
| 1297 | return p |
| 1298 | }) |
| 1299 | return |
| 1300 | } |
| 1301 | |
| 1302 | func (e *encoder) signature(n *semantic.Signature) (outID uint64) { |
| 1303 | e.build(&e.instances.Signature, e.maps.Signature, n, &outID, func() *Signature { |