| Package | Description |
|---|---|
| com.alibaba.bytekit.asm.binding | |
| com.alibaba.bytekit.asm.binding.annotation | |
| com.alibaba.bytekit.asm.interceptor | |
| com.alibaba.bytekit.asm.interceptor.annotation |
| Modifier and Type | Class and Description |
|---|---|
class |
ArgNamesBinding |
class |
ArgsBinding |
class |
ArrayBinding
TODO 这个判断是否要从stack上取数据,要看 其它的binding是否需要。 是否 optional,这个应该是由 ArrayBinding 整体设定??
|
class |
ClassBinding |
class |
FieldBinding |
class |
IntBinding |
class |
InvokeArgsBinding
invoke 传入的参数列表,有严格的限制,只能在 invoke 之前。
TODO ,当 static 函数时,在数组前,传一个null进去? 不然,不好区分是否 static 函数调用??
|
class |
InvokeInfoBinding
包含 owner/method name/ method desc/ line number
|
class |
InvokeMethodDeclarationBinding |
class |
InvokeMethodNameBinding |
class |
InvokeMethodOwnerBinding |
class |
InvokeReturnBinding
invoke 的返回值
|
class |
LineBinding |
class |
LocalVarNamesBinding |
class |
LocalVarsBinding
TODO 增加一个配置,是否包含 method args
|
class |
MethodBinding |
class |
MethodDeclarationBinding
TODO 提供一个完整的 method 的string,包含类名,并不是desc?用户可以自己提取descs method的定义,前面是 public
/static 这些关键字,是有限的几个。后面是 throws ,的异常信息。 或者做一下取巧比如把 classname | methoname | desc 之类连起一个String
|
class |
MethodInfoBinding
method name | method desc 的方式组织
TODO 是否要有 line number ?
|
class |
MethodNameBinding |
class |
MonitorBinding |
class |
ReturnBinding |
class |
ThisBinding |
class |
ThrowableBinding
TODO 要检查 location 是否是合法的
|
| Modifier and Type | Method and Description |
|---|---|
Binding |
Binding.ArgsBindingParser.parse(Annotation annotation) |
Binding |
Binding.ArgNamesBindingParser.parse(Annotation annotation) |
Binding |
Binding.LocalVarsBindingParser.parse(Annotation annotation) |
Binding |
Binding.LocalVarNamesBindingParser.parse(Annotation annotation) |
Binding |
Binding.ClassBindingParser.parse(Annotation annotation) |
Binding |
Binding.FieldBindingParser.parse(Annotation annotation) |
Binding |
Binding.InvokeArgsBindingParser.parse(Annotation annotation) |
Binding |
Binding.InvokeReturnBindingParser.parse(Annotation annotation) |
Binding |
Binding.InvokeMethodNameBindingParser.parse(Annotation annotation) |
Binding |
Binding.InvokeMethodOwnerBindingParser.parse(Annotation annotation) |
Binding |
Binding.InvokeMethodDeclarationBindingParser.parse(Annotation annotation) |
Binding |
Binding.InvokeInfoBindingParser.parse(Annotation annotation) |
Binding |
Binding.MethodBindingParser.parse(Annotation annotation) |
Binding |
Binding.MethodNameBindingParser.parse(Annotation annotation) |
Binding |
Binding.MethodDescBindingParser.parse(Annotation annotation) |
Binding |
Binding.MethodInfoBindingParser.parse(Annotation annotation) |
Binding |
Binding.ReturnBindingParser.parse(Annotation annotation) |
Binding |
Binding.ThisBindingParser.parse(Annotation annotation) |
Binding |
Binding.ThrowableBindingParser.parse(Annotation annotation) |
Binding |
Binding.LineBindingParser.parse(Annotation annotation) |
Binding |
Binding.MonitorBindingParser.parse(Annotation annotation) |
| Constructor and Description |
|---|
ArrayBinding(List<Binding> bindingList) |
| Modifier and Type | Method and Description |
|---|---|
Binding |
BindingParser.parse(Annotation annotation) |
| Modifier and Type | Method and Description |
|---|---|
List<Binding> |
InterceptorMethodConfig.getBindings() |
| Modifier and Type | Method and Description |
|---|---|
void |
InterceptorMethodConfig.setBindings(List<Binding> bindings) |
| Modifier and Type | Method and Description |
|---|---|
static List<Binding> |
BindingParserUtils.parseBindings(Method method) |
Copyright © 2018–2021. All rights reserved.