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


Java Descriptor.InvalidDescriptor方法代码示例

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


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

示例1: check

import com.sun.tools.classfile.Descriptor; //导入方法依赖的package包/类
void check(String dir, String... fileNames)
    throws
        IOException,
        ConstantPoolException,
        Descriptor.InvalidDescriptor {
    for (String fileName : fileNames) {
        ClassFile classFileToCheck = ClassFile.read(new File(dir, fileName));

        for (Method method : classFileToCheck.methods) {
            if ((method.access_flags.flags & ACC_STRICT) == 0) {
                errors.add(String.format(offendingMethodErrorMessage,
                        method.getName(classFileToCheck.constant_pool),
                        classFileToCheck.getName()));
            }
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:18,代码来源:CheckACC_STRICTFlagOnclinitTest.java

示例2: check

import com.sun.tools.classfile.Descriptor; //导入方法依赖的package包/类
void check()
    throws
        IOException,
        ConstantPoolException,
        Descriptor.InvalidDescriptor {
    ClassFile classFileToCheck = ClassFile.read(new File("Test.class"));

    for (Method method : classFileToCheck.methods) {
        if ((method.access_flags.flags & ACC_STRICT) == 0) {
            errors.add(String.format(offendingMethodErrorMessage,
                    method.getName(classFileToCheck.constant_pool),
                    classFileToCheck.getName()));
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:16,代码来源:CheckACC_STRICTFlagOnPkgAccessClassTest.java

示例3: analyzeClassFile

import com.sun.tools.classfile.Descriptor; //导入方法依赖的package包/类
void analyzeClassFile(ClassFile classFileToCheck)
    throws
        IOException,
        ConstantPoolException,
        Descriptor.InvalidDescriptor {
    boolean enumClass =
            (classFileToCheck.access_flags.flags & ACC_ENUM) != 0;
    boolean nonFinalStaticEnumField;
    boolean nonFinalStaticField;

    currentFieldsToIgnore =
            classFieldsToIgnoreMap.get(classFileToCheck.getName());

    for (Field field : classFileToCheck.fields) {
        if (ignoreField(field.getName(classFileToCheck.constant_pool))) {
            continue;
        }
        nonFinalStaticEnumField =
                (field.access_flags.flags & (ACC_ENUM | ACC_FINAL)) == 0;
        nonFinalStaticField =
                (field.access_flags.flags & ACC_STATIC) != 0 &&
                (field.access_flags.flags & ACC_FINAL) == 0;
        if (enumClass ? nonFinalStaticEnumField : nonFinalStaticField) {
            errors.add("There is a mutable field named " +
                    field.getName(classFileToCheck.constant_pool) +
                    ", at class " +
                    classFileToCheck.getName());
        }
    }
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:31,代码来源:DetectMutableStaticFields.java

示例4: MethodInfo

import com.sun.tools.classfile.Descriptor; //导入方法依赖的package包/类
MethodInfo(ClassFile cf, Method m) {
    this.method = m;

    String name;
    String paramTypes;
    String returnType;
    LineNumberTable_attribute.Entry[] lineNumberTable;
    try {
        // method name
        name = m.getName(cf.constant_pool);
        // signature
        paramTypes = m.descriptor.getParameterTypes(cf.constant_pool);
        returnType = m.descriptor.getReturnType(cf.constant_pool);
        Code_attribute codeAttr = (Code_attribute)
            m.attributes.get(Attribute.Code);
        lineNumberTable = ((LineNumberTable_attribute)
            codeAttr.attributes.get(Attribute.LineNumberTable)).line_number_table;
    } catch (ConstantPoolException|Descriptor.InvalidDescriptor e) {
        throw new RuntimeException(e);
    }
    this.name = name;
    this.paramTypes = paramTypes;
    this.returnType = returnType;
    Arrays.stream(lineNumberTable).forEach(entry ->
        bciToLineNumbers.computeIfAbsent(entry.start_pc, _n -> new TreeSet<>())
            .add(entry.line_number));
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:28,代码来源:TestBCI.java

示例5: test

import com.sun.tools.classfile.Descriptor; //导入方法依赖的package包/类
public abstract void test(TestCase testCase, Map<String, ? extends JavaFileObject> classes)
throws IOException, ConstantPoolException, Descriptor.InvalidDescriptor;
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:3,代码来源:AnnotationsTestBase.java


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