MCPcopy
hub / github.com/google/mangle / evalProgram

Method evalProgram

interpreter/interpreter.go:421–442  ·  view source on GitHub ↗
(programInfo *analysis.ProgramInfo)

Source from the content-addressed store, hash-verified

419}
420
421func (i *Interpreter) evalProgram(programInfo *analysis.ProgramInfo) error {
422 stats, err := engine.EvalProgramWithStats(programInfo, i.store, engine.WithTemporalStore(i.temporalStore))
423 if err != nil {
424 return err
425 }
426 if len(i.stats) > 0 {
427 showAllStats := len(i.stats) == 1 && i.stats[0] == "all"
428 for _, name := range i.stats {
429 for pred, stratum := range stats.PredToStratum {
430 if pred.Symbol == name || showAllStats {
431 fmt.Fprintf(i.out, "[%s %s (stratum %d)]\n", pred.Symbol, stats.Duration[stratum], stratum)
432 }
433 }
434 }
435 }
436 for _, p := range i.postProcessors {
437 if err := p(i.store); err != nil {
438 return err
439 }
440 }
441 return nil
442}
443
444func (i *Interpreter) popSourceFragment() *sourceFragment {
445 l := len(i.src)

Callers 2

pushLoadedFragmentMethod · 0.95
DefineMethod · 0.95

Calls 2

EvalProgramWithStatsFunction · 0.92
WithTemporalStoreFunction · 0.92

Tested by

no test coverage detected