(programInfo *analysis.ProgramInfo)
| 419 | } |
| 420 | |
| 421 | func (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 | |
| 444 | func (i *Interpreter) popSourceFragment() *sourceFragment { |
| 445 | l := len(i.src) |
no test coverage detected