Classworking工具箱: 分析泛型数据结构 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-14
der) { m_loader = loader; addType(new PrimitiveTypeDescription("B", "byte")); addType(new PrimitiveTypeDescription("C", "char")); addType(new PrimitiveTypeDescription("D", "double")); addType(new PrimitiveTypeDescription("F", "float")); TypeDescription inttype = new PrimitiveTypeDescription("I", "int"); addType(inttype); addType(new PrimitiveTypeDescription("J", "long")); addType(new PrimitiveTypeDescription("S", "short")); addType(new PrimitiveTypeDescription("V", "void")); addType(new PrimitiveTypeDescription("Z", "boolean")); m_arrayFields = new FieldDescription[] { new FieldDescription("int", null, inttype) }; } /** * Add type description to type directory. * * @param desc type description to add */ public void addType(TypeDescription desc) { m_typeMap.put(desc.getDescriptor(), desc); } /** * Add generic class to template directory. * * @param tmpl generic template to add */ public void addTemplate(GenericTemplate tmpl) { m_templateMap.put(tmpl.getDescriptor(), tmpl); } /** * Get description for the type. The type may be a primitive, an array, or a * class. If the type is a generic class, it will be treated as though all * type variables used their lower bounds. * * @param dtor type descriptor * @return type description */ public TypeDescription getTypeInstance(String dtor) { // check for an existing description TypeDescription desc = m_typeMap.get(dtor); if (desc == null) { // new description needed - must be array or class if (dtor.charAt(0) == ''['') { desc = new ArrayClassDescriptor(dtor, getTypeInstance(dtor.substring(1))); } else { // parse binary class to build description byte[] byts = m_loader.getBytes(dtor); desc = new SimpleClassDescription(dtor, byts, this); } } return desc; } /** * Get description for generic class with specific type substitutions. * * @param sig field signature with type substitutions * @param types actual types used for instance (values may be * <code>null</code> if no substitution defined) * @return type description */ public TypeDescription getSignatureInstance(String sig, |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Classworking工具箱: 分析泛型数据结构 - 编程入门网的所有评论