gogap / aop

Aspect Oriented Programming For Golang
Apache License 2.0
387 stars 51 forks source link

fix return value bug #11

Open ttylzhu opened 2 years ago

ttylzhu commented 2 years ago

Bug can be exposed by deleting line aspectFoo.AddAdvice(&aop.Advice{Ordering: aop.AfterReturning, Method: "Bar", PointcutRefID: "pointcut_1"}) in example/main.go. There are two issues here. First, if round is called, retValues is not set, so when it is returned, it will return nil. After first change, another panic will rise complaining Result type cannot be converted to bool. In fact, here, I believe changing ProceedingJoinPoint.method to concrete type to store realFunc will make code much simpler.