Classworking 工具箱: 泛型与ASM - 编程入门网
escriptor and signature:
Ljava/util/List;
Ljava/util/List<Lcom/sosnoski/generics/DirInfo;>;
Field m_lastModify descriptor and signature:
Ljava/util/Date;
null
Method <init>() descriptor and signature:
(Ljava/io/File;)V
null
Method getDirectories() descriptor and signature:
()Ljava/util/List;
() Ljava/util/List<Lcom/sosnoski/generics/DirInfo;>;
Method getFiles() descriptor and signature:
()Ljava/util/List;
() Ljava/util/List<Lcom/sosnoski/generics/FileInfo;>;
Method getLastModify() descriptor and signature:
()Ljava/util/Date;
null
Classworking 工具箱: 泛型与ASM(5)时间:2011-10-16 IBM Dennis Sosnoski签名分析 除将签名作为字符串处理外,ASM 还支持在细节级处理签名。 org.objectweb.asm.signature.SignatureReader 类解析一个签名字符串,并生成对 org.objectweb.asm.signature.SignatureVisitor 接口的调用序列。 org.objectweb.asm.signature.SignatureWriter 类实现访问器接口,并从访问器方法调用序列中构建出 签名字符串。 很不幸,细节级接口有些复杂,但其原因在于签名定义的复杂性,而不是 ASM 代码 处理不力。SignatureVisitor 接口展现了这一复杂性,它定义了 16 个可在签名处理过程中包含的独立 方法调用。当然,绝大多数签名仅使用这些方法中的一小部分。 为举例说明 ASM 的细节级签名处 理,我将解析本文前面所讨论的某些签名,从而介绍方法。为此,我编写了 TraceSignatureVisitor 类 ,清单 5 展示了该类的部分代码,该清单中的 AnalyzeSignaturesVisitor 用于驱动签名处理。当 AnalyzeSignaturesVisitor 用做类的访问器时,它会为所发现的各签名创建一个 SignatureReader,将 TraceSignatureVisitor 类的一个实例作为签名组件访问器调用的目标传递。用于解析签名的 SignatureReader 调用取决于签名的形式:对于类和方法签名,恰当的方法是 accept();对于字段签名 ,应使用 acceptType() 调用。 清单 5. 签名分析
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |