/
pkg.go
31 lines (22 loc) · 1004 Bytes
/
pkg.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package circuit
import (
. "github.com/kocircuit/kocircuit/lang/circuit/eval"
. "github.com/kocircuit/kocircuit/lang/circuit/model"
. "github.com/kocircuit/kocircuit/lang/go/eval"
. "github.com/kocircuit/kocircuit/lang/go/eval/symbol"
. "github.com/kocircuit/kocircuit/lang/go/kit/util"
)
func init() {
RegisterEvalPkgMacro("circuit", "PkgPath", EvalPkgPathMacro{})
}
type EvalPkgPathMacro struct{}
func (m EvalPkgPathMacro) MacroID() string { return m.Help() }
func (m EvalPkgPathMacro) Label() string { return "pkgpath" }
func (m EvalPkgPathMacro) MacroSheathString() *string { return PtrString("circuit.PkgPath") }
func (m EvalPkgPathMacro) Help() string { return "circuit.PkgPath" }
func (m EvalPkgPathMacro) Doc() string {
return `The builtin PkgPath function returns the Ko package path of the function invoking PkgPath.`
}
func (EvalPkgPathMacro) Invoke(span *Span, arg Arg) (returns Return, effect Effect, err error) {
return BasicStringSymbol(NearestFunc(span).Pkg), nil, nil
}