所有类和接口
类
说明
TODO 这个判断是否要从stack上取数据,要看 其它的binding是否需要。
运行时获取 JVM 实际字节码
已过时。
从字节码 byte[] 中提取类的元信息
每个ClassLoader对应一个 ClassMetaCache
基于 ClassMeta 实现的 ClassWriter,避免加载类
记录所有类的元信息,用于判断是否实现了接口,是否子类
An alternative weak-key
ConcurrentMap which is similar to
ConcurrentHashMap.TODO com.taobao.arthas.core.util.Decompiler
Adapter for to be inlined code.
1.
invoke 传入的参数列表,有严格的限制,只能在 invoke 之前。
检查某个 AbstractInsnNode 的前面是否有某个函数调用,如果有,则认为这个location是已被处理过的
检查整个method里,是否有某个函数调用。
包含 owner/method name/ method desc/ line number
invoke 的返回值
TODO 增加一个配置,是否包含 method args
Specifies a location in a method at which a rule trigger should be inserted
location identifying a method exceptional exit trigger point
location identifying a method exit trigger point
location identifying a field access trigger point
location identifying a method exceptional exit trigger point
location identifying a method invocation trigger point
location identifying a method line trigger point
location identifying a synchronization trigger point
location identifying a synchronization trigger point
location identifying a throw trigger point
Logger interface designed for internal usage.
Expose static methods to get a logger depending on the environment.
from org.apache.commons.io.FilenameUtils
TODO 提供一个完整的 method 的string,包含类名,并不是desc?
method name | method desc 的方式组织
TODO 是否要有 line number ?
用于声明没有异常
Simple utility class for working with the reflection API and handling
reflection exceptions.
Callback interface invoked on each field in the hierarchy.
Callback optionally used to filter fields to be operated on by a field callback.
Action to take on each method.
Callback optionally used to filter methods to be operated on by a method callback.
from spring
在 return/throw/invoke 等location时,需要把栈上的值保存到locals里
TODO 要检查 location 是否是合法的
Helpoer class providing static methods for manipulating type and class names,
field and method descriptor names etc