(inner Type)
| 204 | } |
| 205 | |
| 206 | func (c *Context) LookupTypeSet(inner Type) *TypeSet { |
| 207 | c.mu.Lock() |
| 208 | defer c.mu.Unlock() |
| 209 | if c.sets == nil { |
| 210 | c.sets = make(map[Type]*TypeSet) |
| 211 | } |
| 212 | if typ, ok := c.sets[inner]; ok { |
| 213 | return typ |
| 214 | } |
| 215 | typ := NewTypeSet(c.nextIDWithLock(), inner) |
| 216 | c.enterWithLock(typ) |
| 217 | c.sets[inner] = typ |
| 218 | return typ |
| 219 | } |
| 220 | |
| 221 | func (c *Context) LookupTypeMap(keyType, valType Type) *TypeMap { |
| 222 | key := keyPool.Get().(*[]byte) |