MCPcopy Create free account

hub / github.com/AkihiroSuda/aspectgo / functions

Functions124 in github.com/AkihiroSuda/aspectgo

↓ 14 callersMethodArgs
Args returns the original argument set for the joinpoint. The slice can be empty []interface{}{}, but cannot be nil.
aspect/interface.go:12
↓ 11 callersMethodCall
Call calls the joinpoint. User must be careful about the length and the type of the []interface{} slices. The slices can be empty []interface{}{}, but
aspect/interface.go:18
↓ 8 callersFunctiontestEx
textEx returns the output of the original test and the woven test suite if succeeds. the output contains stderr. if the woven test or aspectgo itself
example/example_test.go:67
↓ 6 callersMethodFoo
(x string)
example/receiver2/pkg1/pkg1.go:8
↓ 6 callersMethodtypeString
(typ types.Type)
compiler/weave/rewrite.go:660
↓ 5 callersMethodFoo
(x int)
example/receiver/main.go:8
↓ 4 callersFunctionexists
(name string)
compiler/gopath/gopath.go:42
↓ 4 callersFunctionvoidIntfArrayExpr
()
compiler/weave/rewrite.go:106
↓ 3 callersMethodReceiver
Receiver returns the receiver for methods. For non-method function, it just returns nil.
aspect/interface.go:22
↓ 2 callersMethodPointcut
Pointcut returns the pointcut for the aspect. Pointcut is executed on compilation-time.
aspect/interface.go:52
↓ 2 callersMethodString
()
aspect/interface.go:31
↓ 2 callersFunctionadvice
(name string, ctx asp.Context)
example/receiver/main_aspect.go:34
↓ 2 callersFunctionexecMainWithGOPATH
(t *testing.T, gopath, pkg, mainFileBasename string)
example/example_test.go:51
↓ 2 callersMethodproxy
proxy generates addendum and returns new ast.Expr for the node. generated addendum can be obtained via AddendumForASTFile. How it works: Step 1: call
compiler/weave/rewrite.go:567
↓ 2 callersFunctionresolveTarget
resolveTarget resolves target that can contain ... and returns the list of resolved packages.
compiler/compiler.go:84
↓ 1 callersMethodAddendumForASTFile
()
compiler/weave/rewrite.go:656
↓ 1 callersMethodAdvice
Advice executes the "around" advice. User must be careful about the length and the type of the []interface{} slice. The slice can be empty []interface
aspect/interface.go:58
↓ 1 callersMethodDo
Do does all the compilation phases.
compiler/compiler.go:33
↓ 1 callersMethodDoWork
()
example/detreplay/worker/worker.go:22
↓ 1 callersMethodRewrite
(node ast.Node)
compiler/weave/rewrite.go:606
↓ 1 callersMethodRewrite
(node ast.Node)
compiler/weave/aspectrewrite.go:66
↓ 1 callersFunction_fixUp
(oc os.FileInfo, oldDir, wovenDir string, writtenFnames []string)
compiler/gopath/gopath.go:62
↓ 1 callersFunction_parseAspectFile
(aspectFilename string)
compiler/parse/parse.go:56
↓ 1 callersMethod_pgen
_pgen generates the pgen function. pgen is like this: var f func(int) f := (_ag_pgen_ag_proxy_0(i)) // orig: f := i.Foo f(42) func _ag_pgen_ag_prox
compiler/weave/rewrite.go:517
↓ 1 callersMethod_pgen_body
(matched types.Object, pdecl *ast.FuncDecl)
compiler/weave/rewrite.go:436
↓ 1 callersMethod_pgen_decl
(matched types.Object, pdecl *ast.FuncDecl, pgenName string)
compiler/weave/rewrite.go:381
↓ 1 callersMethod_proxy
(node ast.Node, matched types.Object, proxyName string, asp *types.Named)
compiler/weave/rewrite.go:375
↓ 1 callersMethod_proxy_body
_proxy_body generates _ag_proxy_func body like this: _ag_res := (&dummyAspect{}).Advice( &ContextImpl{ XArgs: []interface{}{"world"}, XFunc: fun
compiler/weave/rewrite.go:334
↓ 1 callersMethod_proxy_body_XArgs
_proxy_body_XArgs generates like this: `XArgs: []interface{}{"world"}`
compiler/weave/rewrite.go:151
↓ 1 callersMethod_proxy_body_XFunc
_proxy_body_XFunc generates like this: `XFunc: func(_ag_args []interface{}) []interface {} { _ag_arg0 := _ag_args[0].(string) sayHello(_ag_arg0) _ag_r
compiler/weave/rewrite.go:169
↓ 1 callersMethod_proxy_body_XReceiver
(node ast.Node, matched types.Object)
compiler/weave/rewrite.go:269
↓ 1 callersMethod_proxy_body_callExpr
(node ast.Node, matched types.Object, asp *types.Named)
compiler/weave/rewrite.go:278
↓ 1 callersMethod_proxy_decl
_proxy_decl generates _ag_proxy_func decl like this: `func _ag_proxy_0(s string)`
compiler/weave/rewrite.go:115
↓ 1 callersMethod_proxy_fix_up
(node ast.Node, matched types.Object, pgenName string)
compiler/weave/rewrite.go:523
↓ 1 callersMethoddeterminePointcuts
compile the aspect and get Pointcut data steps: * copy the aspect file to tmp.go * add main() to tmp.go * compile and run tmp.go * parse the output an
compiler/parse/pointcut.go:24
↓ 1 callersMethoddoActualWork
(workAmount int)
example/detreplay/worker/worker.go:17
↓ 1 callersFunctionexecAspectGo
(t *testing.T, wovenGOPATH, pkg, aspectFileBasename string, recursive bool)
example/example_test.go:32
↓ 1 callersFunctionfindMatchedThings
(prog *loader.Program, pointcuts map[*types.Named]aspect.Pointcut)
compiler/weave/weave.go:68
↓ 1 callersFunctionfnObjMatchPointcutByRegexp
(fn *types.Func, pointcut aspect.Pointcut)
compiler/weave/match/match.go:26
↓ 1 callersMethodinit
()
compiler/weave/rewrite.go:95
↓ 1 callersFunctionisDir
(name string)
compiler/gopath/gopath.go:50
↓ 1 callersFunctionloadTarget
(target string)
compiler/weave/weave.go:101
↓ 1 callersFunctionlocateTmpAspectFile
locate aspectFilename to dir to determine the pointcut value TODO: eliminate aspectStructure.Advice()
compiler/parse/pointcut.go:53
↓ 1 callersFunctionlocateTmpAspectMainFile
(aspectStructureName, dir string)
compiler/parse/pointcut.go:89
↓ 1 callersFunctionlookupAspectInterface
(program *loader.Program)
compiler/parse/parse.go:103
↓ 1 callersFunctionlookupAspects
(pkg *types.Package, aspectIntf *types.Named)
compiler/parse/parse.go:79
↓ 1 callersFunctionmakeI
()
example/receiver/main.go:22
↓ 1 callersFunctionparseTmpAspectMainOutput
(s string)
compiler/parse/pointcut.go:132
↓ 1 callersFunctionpointcutMapToAspectMap
(pointcuts map[*types.Named]aspect.Pointcut)
compiler/weave/weave.go:56
↓ 1 callersFunctionrewriteAspectFile
(wovenGOPATH string, af *parse.AspectFile)
compiler/weave/aspectrewrite.go:20
↓ 1 callersFunctionrewriteProgram
(wovenGOPATH string, rw *rewriter)
compiler/weave/rewrite.go:24
↓ 1 callersFunctionrunTmpAspectMain
(dir string)
compiler/parse/pointcut.go:104
↓ 1 callersFunctionsayHello
(s string)
example/hello2/main.go:7
↓ 1 callersFunctionsayHello
(s string)
example/multipointcut/main.go:7
↓ 1 callersFunctionsayHello
(s string)
example/recursive/main.go:9
↓ 1 callersFunctionsayHello
(s string)
example/hello/main.go:7
↓ 1 callersFunctionsayHello
(s string)
example/hello3/main.go:7
↓ 1 callersFunctionsayHello
(s string)
aspect/rt/rt_test.go:27
FunctionASTDebugString
ASTDebugString returns a debug string for the AST node.
compiler/util/util.go:48
MethodAdvice
Executed ONLY on runtime
example/hello2/main_aspect.go:23
MethodAdvice
(ctx asp.Context)
example/hello2/main_aspect.go:40
MethodAdvice
(ctx asp.Context)
example/receiver/main_aspect.go:18
MethodAdvice
(ctx asp.Context)
example/receiver/main_aspect.go:30
MethodAdvice
(ctx asp.Context)
example/detreplay/main_aspect.go:19
MethodAdvice
(ctx asp.Context)
example/receiver2/main_aspect.go:17
MethodAdvice
(ctx asp.Context)
example/multipointcut/main_aspect.go:21
MethodAdvice
(ctx asp.Context)
example/multipointcut/main_aspect.go:38
MethodAdvice
Executed ONLY on runtime
example/recursive/main_aspect.go:20
MethodAdvice
Executed ONLY on runtime
example/hello/main_aspect.go:22
MethodAdvice
Executed ONLY on runtime
example/everything/everything_aspect.go:19
MethodAdvice
Executed ONLY on runtime
example/hello3/main_aspect.go:18
MethodAdvice
(ctx asp.Context)
aspect/rt/rt_test.go:18
MethodArgs
Args should NOT be called manually.
aspect/rt/rt.go:18
MethodCall
Call should NOT be called manually.
aspect/rt/rt.go:23
FunctionFileForNewGOPATH
FileForNewGOPATH returns the path for new wovenGOPATH (s/oldGOPATH/wovenGOPATH).
compiler/gopath/gopath.go:13
FunctionFixUp
FixUp fixes up GOPATH after the weaving phase. It makes some symbolic links from wovenDir to oldDir so that the woven package can be built with wovenD
compiler/gopath/gopath.go:98
MethodFoo
(x int)
example/receiver/main.go:15
MethodFoo
(x string)
example/receiver2/pkg2/pkg2.go:8
FunctionLocalTypeString
LocalTypeString returns the local type string for typ, using pkg and imports information. TODO: use regexp.
compiler/util/util.go:19
FunctionMain
Main is the CLI for AspectGo.
compiler/cli/cli.go:15
FunctionNewCallPointcutFromRegexp
NewCallPointcutFromRegexp creates a "call" pointcut from s. s needs to be a regexp for function/method name.
aspect/interface.go:37
FunctionNewExecPointcutFromRegexp
NewExecPointcutFromRegexp creates a "execution" pointcut from s. s needs to be a regexp for function/method name.
aspect/interface.go:43
FunctionObjMatchPointcut
ObjMatchPointcut returns true if obj matches the pointcut. current implementation is very naive: just checks regexp for types.Func.FullName() TODO: su
compiler/weave/match/match.go:18
FunctionParseAspectFile
ParseAspectFile parses an aspect file.
compiler/parse/parse.go:26
MethodPointcut
Executed on compilation-time
example/hello2/main_aspect.go:16
MethodPointcut
()
example/hello2/main_aspect.go:35
MethodPointcut
()
example/receiver/main_aspect.go:14
MethodPointcut
()
example/receiver/main_aspect.go:26
MethodPointcut
()
example/detreplay/main_aspect.go:15
MethodPointcut
()
example/receiver2/main_aspect.go:13
MethodPointcut
()
example/multipointcut/main_aspect.go:15
MethodPointcut
()
example/multipointcut/main_aspect.go:32
MethodPointcut
Executed on compilation-time
example/recursive/main_aspect.go:14
MethodPointcut
Executed on compilation-time
example/hello/main_aspect.go:15
MethodPointcut
Executed on compilation-time
example/everything/everything_aspect.go:14
MethodPointcut
Executed on compilation-time
example/hello3/main_aspect.go:12
MethodPointcut
()
aspect/rt/rt_test.go:14
MethodReceiver
Receiver should NOT be called manually.
aspect/rt/rt.go:28
FunctionSayHello1
()
example/recursive/pkg1/pkg1.go:8
FunctionSayHello2
()
example/recursive/pkg1/pkg2/pkg2.go:7
next →1–100 of 124, ranked by callers