Classworking工具箱: 分析泛型数据结构 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-14
'[''); } // get the actual type description if (m_className == null) { buff.append(m_baseClass); return getTypeInstance(buff.toString()); } else { // construct both descriptor and full signature for type buff.append(''L''); buff.append(m_className); if (m_parameterTypes.size() > 0) { buff.append(''<''); for (int i = 0; i < m_parameterTypes.size(); i++) { TypeDescription pdesc = m_parameterTypes.get(i); if (pdesc == null) { buff.append(''*''); } else { buff.append(pdesc.getDescriptor()); } } buff.append(''>''); } buff.append('';''); // get actual class description if (m_parameterTypes.size() == 0) { return getTypeInstance(buff.toString()); } else { TypeDescription[] ptypes = new TypeDescription[m_parameterTypes.size()]; ptypes = m_parameterTypes.toArray(ptypes); return getSignatureInstance(buff.toString(), ptypes); } } } } ... } public class GenericTemplate { private final String m_descriptor; private final String m_baseName; private final TypeDirectory m_typeDirectory; private final FieldDescription[] m_genericFields; private final String[] m_typeParameters; private final TypeDescription[] m_upperBounds; protected GenericTemplate(String dtor, byte[] byts, TypeDirectory dir) { m_descriptor = dtor; m_baseName = BinaryClassLoader.nameFromDescriptor(dtor); m_typeDirectory = dir; dir.addTemplate(this); DescriptionBuilderVisitor vtor = new DescriptionBuilderVisitor(dir); ClassReader creader = new ClassReader(byts); creader.accept(vtor, true); m_genericFields = vtor.getFields(); m_typeParameters = vtor.getTypeParameters(); m_upperBounds = vtor.getUpperBounds(); } public String getDescriptor() { return m_descriptor; } public boolean equals(Object obj) { if (obj == this) { return true; } else if (obj instanceof GenericTemplate) { return m_descriptor.equals(((GenericTemplate)obj).m_descriptor); } else { return false; } } public int hashCode() { return m_descriptor.hashCode(); } /** * Get description for parameter |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Classworking工具箱: 分析泛型数据结构 - 编程入门网的所有评论