快速业务通道

Classworking 工具箱: 泛型与ASM - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14
name + " signature:");        System.out.println(" " + sig);       new SignatureReader(sig).accept(new  TraceSignatureVisitor());     }     super.visit(version, access, name,  sig, sname, inames);   }   public FieldVisitor visitField(int  access, String name, String desc,     String sig, Object value) {      if (sig != null) {       System.out.println("Field " + name + "  signature:");       System.out.println(" " + sig);       new  SignatureReader(sig).acceptType(new TraceSignatureVisitor());     }      return super.visitField(access, name, desc, sig, value);   }    public MethodVisitor visitMethod(int access, String name, String desc,      String sig, String[] exceptions) {     if (sig != null) {        System.out.println("Method " + name + "() signature:");        System.out.println(" " + sig);       new SignatureReader(sig).accept(new  TraceSignatureVisitor());     }     return super.visitMethod(access,  name, desc, sig, exceptions);   } }

Classworking 工具箱: 泛型与ASM(6)

时间:2011-10-16 IBM Dennis Sosnoski

清单 6 显示了使用 AnalyzeSignaturesVisitor 类访问 清单 1 中的 DirInfo 类时所生成的输出:

清单 6. DirInfo 代码和签名分析

public class DirInfo {   private final  List<FileInfo> m_files;   private final List<DirInfo>  m_directories;   ...   public List<DirInfo> getDirectories() {     return m_directories;   }   public List<FileInfo> getFiles()  {     return m_files;   }   ... } Field m_files  signature:  Ljava/util/List<Lcom/sosnoski/generics/FileInfo;>;   visitClassType(java/util/List)  visitTypeArgument(=)  visitClassType (com/sosnoski/generics/FileInfo)  visitEnd()  visitEnd() Field  m_directories signature:  Ljava/util/List<Lcom/sosnoski/generics/DirInfo;>;  visitClassType(java/util/List)  visitTypeArgument(=)  visitClassType (com/sosnoski/generics/DirInfo)  visitEnd()  visitEnd() Method  getDirectories() signature:  () Ljava/util/List<Lcom/sosnoski/generics/DirInfo;>;  visitReturnType()   visitClassType(java/util/List)  visitTypeArgument(=)  visitClassType (com/sosnoski/generics/DirInfo)  visitEnd()  visitEnd() Method getFiles()  signature:  ()Ljava/util/List<Lcom/sosnoski/generics/FileInfo;>;   visitReturnType()  visitClassType(java/util/List)  visitTypeArgument(=)   visitClassType(com/sosnoski/generics/FileInfo)  visitEnd()  visitEnd()

Classworking 工具箱: 泛型与ASM(7)

时间:2011-10-16 IBM Dennis Sosnoski

清单 6 中输出行的第一块展示了 m_files 签名 Ljava/util/List<Lcom/sosnoski/generics/FileInfo;>; 的分析过程中所调用的访问器方法。第 一个方法调用是 visitClassType("java/util/List"),给出了字段的基类。随后 visitTypeArgument

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号