Something went wrong. Try again.
🌱 A minimal programming language and compiler. git.urbach.dev/cli/q
high-performance programming-language compiler
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243package core
import ( "sort"
"git.urbach.dev/cli/q/src/ssa")
// runAll will run the specified function from each package if it exists.func (f *Function) runAll(funcName string) { keys := make([]string, 0, len(f.Env.Packages))
for name := range f.Env.Packages { keys = append(keys, name) }
sort.Strings(keys)
for _, name := range keys { pkg := f.Env.Packages[name]
if pkg.IsExtern { continue }
if pkg.Name == "run" { continue }
fn, hasFunc := pkg.Functions[funcName]
if !hasFunc { continue }
ssaFunc := &ssa.Function{ FunctionRef: fn, Typ: fn.Type, }
f.call(ssaFunc, nil, ssa.Source{}) }}