ASM-21-Metadata Generic Annotation Debug
元数据
本章介绍了用于已编译Java类元数据(例如注解)的树API。
之所以很短,是因为这些元数据已经在第4章中介绍过,并且因为一旦知道了相应的 core API,树API就很简单。
泛型
树API不提供对泛型类型的任何支持!
确实,它代表了带有签名的泛型类型,就像在核心API中一样,但是没有提供与SignatureVisitor对应的SignatureNode类,尽管这是可能的(...
2018-07-20 05:43:31 |
Java
ASM-19-Method 分析接口与组件
接口和组件
用于代码分析的ASM API在 org.objectweb.asm.tree.analysis 软件包中。
就像包名称所暗示的那样,它基于树API。
实际上,该程序包提供了进行正向数据流分析的框架。
为了能够使用或多或少的精确值集执行各种数据流分析,数据流分析算法分为两部分:
一个是固定的,由框架提供,另一个是可变的,由用户提供。
更确切地说:
在Analyzer和...
2018-07-20 05:43:31 |
Java
ASM-19-Method 分析介绍
方法分析
本章介绍基于树API的ASM API,用于分析方法代码。
首先介绍代码分析算法,然后提供相应的ASM API和一些示例。
介绍
代码分析是一个非常大的主题,并且存在许多用于分析代码的算法。
在这里不可能全部展示它们,这超出了本文的范围。
实际上,本部分的目的只是概述ASM中使用的算法。
在有关编译器的书中可以找到关于此主题的更好的介绍。
下一节将介绍两种重要的代码分...
2018-07-20 05:43:31 |
Java
ASM-18-Method 组件组成
成分组成
到目前为止,我们只看到了如何创建和转换MethodNode对象,但是还没有看到与类的字节数组表示形式相关的链接。
像对于类一样,此链接是通过组合核心API和树API组件来完成的,如本节所述。
介绍
除了图7.1中所示的字段外,MethodNode类还扩展了MethodVisitor类,并且还提供了两个接受方法,它们将MethodVisitor或ClassVisitor作为参...
2018-07-20 05:43:31 |
Java
ASM-17-接口与组件
方法
本章介绍如何使用ASM树API生成和转换方法。
它从仅提供树API的介绍开始,并提供一些说明性示例,然后介绍如何与核心API组合。
下一章介绍了用于泛型和注解的树形API。
Interfaces and components 说明
MethodNode
用于生成和转换方法的ASM树API基于MethodNode类(请参见图7.1)。
Figure 7.1.: The...
2018-07-20 05:43:31 |
Java
ASM-16-组件组成
组件组成
到目前为止,我们只看到了如何创建和转换ClassNode对象,但是还没有看到如何从类的字节数组表示形式构造ClassNode,反之亦然,如何从ClassNode构造此字节数组。
实际上,这是通过组合核心API和树API组件来完成的,如本节所述。
介绍
除了图6.1中所示的字段之外,ClassNode类还扩展了ClassVisitor类,并且还提供了一个接受方法,该方法将Cl...
2018-07-20 05:43:31 |
Java
ASM-15-Tree Classes Interface and Components
本章简介
本章介绍如何使用ASM树API生成和转换类。
它从仅介绍tree API入手,然后进行说明如何与核心API组合在一起。
在下一章中将说明用于方法,注解和泛型内容的树形API。
Interfaces and components
Presentation(介绍)
类节点信息
用于生成和转换已编译Java类的ASM树API基于ClassNode类(请参见图6.1)。
...
2018-07-20 05:43:31 |
Java
ASM-14-reflectASM 性能更高的反射框架
reflectasm
reflectasm is a very small Java library that provides high performance reflection by using code generation.
An access class is generated to set/get fields, call methods, or create a ne...
2018-07-20 05:43:31 |
Java