(key *Object, typ reflect.Type, value interface{})
| 1704 | } |
| 1705 | |
| 1706 | func (ctx *objectExportCtx) putTyped(key *Object, typ reflect.Type, value interface{}) { |
| 1707 | if ctx.cache == nil { |
| 1708 | ctx.cache = make(map[*Object]interface{}) |
| 1709 | } |
| 1710 | v, exists := ctx.cache[key] |
| 1711 | if exists { |
| 1712 | if item, ok := ctx.cache[key].(objectExportCacheItem); ok { |
| 1713 | item[typ] = value |
| 1714 | } else { |
| 1715 | m := make(objectExportCacheItem, 2) |
| 1716 | m[key.self.exportType()] = v |
| 1717 | m[typ] = value |
| 1718 | ctx.cache[key] = m |
| 1719 | } |
| 1720 | } else { |
| 1721 | m := make(objectExportCacheItem) |
| 1722 | m[typ] = value |
| 1723 | ctx.cache[key] = m |
| 1724 | } |
| 1725 | } |
| 1726 | |
| 1727 | type enumPropertiesIter struct { |
| 1728 | o *Object |
no test coverage detected