当前位置: 首页>>代码示例>>Java>>正文


Java CPRefInfo.getClassName方法代码示例

本文整理汇总了Java中com.sun.tools.classfile.ConstantPool.CPRefInfo.getClassName方法的典型用法代码示例。如果您正苦于以下问题:Java CPRefInfo.getClassName方法的具体用法?Java CPRefInfo.getClassName怎么用?Java CPRefInfo.getClassName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.sun.tools.classfile.ConstantPool.CPRefInfo的用法示例。


在下文中一共展示了CPRefInfo.getClassName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: verifyDefaultBody

import com.sun.tools.classfile.ConstantPool.CPRefInfo; //导入方法依赖的package包/类
void verifyDefaultBody(String classFile) {
    String workDir = System.getProperty("test.classes");
    File file = new File(workDir, classFile);
    try {
        final ClassFile cf = ClassFile.read(file);
        for (Method m : cf.methods) {
            Code_attribute codeAttr = (Code_attribute)m.attributes.get(Attribute.Code);
            for (Instruction instr : codeAttr.getInstructions()) {
                if (instr.getOpcode() == Opcode.INVOKESPECIAL) {
                    int pc_index = instr.getShort(1);
                    CPRefInfo ref = (CPRefInfo)cf.constant_pool.get(pc_index);
                    String className = ref.getClassName();
                    if (className.equals("BaseInterface"))
                        throw new IllegalStateException("Must not directly refer to TestedInterface");
                }
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
        throw new Error("error reading " + file +": " + e);
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:23,代码来源:TestDirectSuperInterfaceInvoke.java


注:本文中的com.sun.tools.classfile.ConstantPool.CPRefInfo.getClassName方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。