(ctx context.Context, f CallOverrideFunc)
| 25 | var callOverrideKey = "holds []CallOverrideFunc" |
| 26 | |
| 27 | func WithCallOverride(ctx context.Context, f CallOverrideFunc) context.Context { |
| 28 | // We avoid appending to any existing call override |
| 29 | // so we don't risk overwriting a popped stack below. |
| 30 | var cofs []CallOverrideFunc |
| 31 | if uf, ok := ctx.Value(&callOverrideKey).([]CallOverrideFunc); ok { |
| 32 | cofs = append(cofs, uf...) |
| 33 | } |
| 34 | cofs = append(cofs, f) |
| 35 | return context.WithValue(ctx, &callOverrideKey, cofs) |
| 36 | } |
| 37 | |
| 38 | func callOverrideFromContext(ctx context.Context) (CallOverrideFunc, context.Context, bool) { |
| 39 | cofs, _ := ctx.Value(&callOverrideKey).([]CallOverrideFunc) |
searching dependent graphs…