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


Java TypeReference类代码示例

本文整理汇总了Java中jdk.internal.org.objectweb.asm.TypeReference的典型用法代码示例。如果您正苦于以下问题:Java TypeReference类的具体用法?Java TypeReference怎么用?Java TypeReference使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


TypeReference类属于jdk.internal.org.objectweb.asm包,在下文中一共展示了TypeReference类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: visitTypeAnnotation

import jdk.internal.org.objectweb.asm.TypeReference; //导入依赖的package包/类
@Override
public AnnotationVisitor visitTypeAnnotation(final int typeRef,
        final TypePath typePath, final String desc, final boolean visible) {
    checkState();
    int sort = typeRef >>> 24;
    if (sort != TypeReference.CLASS_TYPE_PARAMETER
            && sort != TypeReference.CLASS_TYPE_PARAMETER_BOUND
            && sort != TypeReference.CLASS_EXTENDS) {
        throw new IllegalArgumentException("Invalid type reference sort 0x"
                + Integer.toHexString(sort));
    }
    checkTypeRefAndPath(typeRef, typePath);
    CheckMethodAdapter.checkDesc(desc, false);
    return new CheckAnnotationAdapter(super.visitTypeAnnotation(typeRef,
            typePath, desc, visible));
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:17,代码来源:CheckClassAdapter.java

示例2: visitTypeAnnotation

import jdk.internal.org.objectweb.asm.TypeReference; //导入依赖的package包/类
@Override
public AnnotationVisitor visitTypeAnnotation(final int typeRef,
        final TypePath typePath, final String desc, final boolean visible) {
    checkEndMethod();
    int sort = typeRef >>> 24;
    if (sort != TypeReference.METHOD_TYPE_PARAMETER
            && sort != TypeReference.METHOD_TYPE_PARAMETER_BOUND
            && sort != TypeReference.METHOD_RETURN
            && sort != TypeReference.METHOD_RECEIVER
            && sort != TypeReference.METHOD_FORMAL_PARAMETER
            && sort != TypeReference.THROWS) {
        throw new IllegalArgumentException("Invalid type reference sort 0x"
                + Integer.toHexString(sort));
    }
    CheckClassAdapter.checkTypeRefAndPath(typeRef, typePath);
    CheckMethodAdapter.checkDesc(desc, false);
    return new CheckAnnotationAdapter(super.visitTypeAnnotation(typeRef,
            typePath, desc, visible));
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:CheckMethodAdapter.java

示例3: visitInsnAnnotation

import jdk.internal.org.objectweb.asm.TypeReference; //导入依赖的package包/类
@Override
public AnnotationVisitor visitInsnAnnotation(final int typeRef,
        final TypePath typePath, final String desc, final boolean visible) {
    checkStartCode();
    checkEndCode();
    int sort = typeRef >>> 24;
    if (sort != TypeReference.INSTANCEOF && sort != TypeReference.NEW
            && sort != TypeReference.CONSTRUCTOR_REFERENCE
            && sort != TypeReference.METHOD_REFERENCE
            && sort != TypeReference.CAST
            && sort != TypeReference.CONSTRUCTOR_INVOCATION_TYPE_ARGUMENT
            && sort != TypeReference.METHOD_INVOCATION_TYPE_ARGUMENT
            && sort != TypeReference.CONSTRUCTOR_REFERENCE_TYPE_ARGUMENT
            && sort != TypeReference.METHOD_REFERENCE_TYPE_ARGUMENT) {
        throw new IllegalArgumentException("Invalid type reference sort 0x"
                + Integer.toHexString(sort));
    }
    CheckClassAdapter.checkTypeRefAndPath(typeRef, typePath);
    CheckMethodAdapter.checkDesc(desc, false);
    return new CheckAnnotationAdapter(super.visitInsnAnnotation(typeRef,
            typePath, desc, visible));
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:23,代码来源:CheckMethodAdapter.java

示例4: visitTypeAnnotation

import jdk.internal.org.objectweb.asm.TypeReference; //导入依赖的package包/类
@Override
public AnnotationVisitor visitTypeAnnotation(final int typeRef,
        final TypePath typePath, final String desc, final boolean visible) {
    checkEnd();
    int sort = typeRef >>> 24;
    if (sort != TypeReference.FIELD) {
        throw new IllegalArgumentException("Invalid type reference sort 0x"
                + Integer.toHexString(sort));
    }
    CheckClassAdapter.checkTypeRefAndPath(typeRef, typePath);
    CheckMethodAdapter.checkDesc(desc, false);
    return new CheckAnnotationAdapter(super.visitTypeAnnotation(typeRef,
            typePath, desc, visible));
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:15,代码来源:CheckFieldAdapter.java

示例5: visitTryCatchAnnotation

import jdk.internal.org.objectweb.asm.TypeReference; //导入依赖的package包/类
@Override
public AnnotationVisitor visitTryCatchAnnotation(final int typeRef,
        final TypePath typePath, final String desc, final boolean visible) {
    checkStartCode();
    checkEndCode();
    int sort = typeRef >>> 24;
    if (sort != TypeReference.EXCEPTION_PARAMETER) {
        throw new IllegalArgumentException("Invalid type reference sort 0x"
                + Integer.toHexString(sort));
    }
    CheckClassAdapter.checkTypeRefAndPath(typeRef, typePath);
    CheckMethodAdapter.checkDesc(desc, false);
    return new CheckAnnotationAdapter(super.visitTryCatchAnnotation(
            typeRef, typePath, desc, visible));
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:16,代码来源:CheckMethodAdapter.java

示例6: visitLocalVariableAnnotation

import jdk.internal.org.objectweb.asm.TypeReference; //导入依赖的package包/类
@Override
public AnnotationVisitor visitLocalVariableAnnotation(int typeRef,
        TypePath typePath, Label[] start, Label[] end, int[] index,
        String desc, boolean visible) {
    checkStartCode();
    checkEndCode();
    int sort = typeRef >>> 24;
    if (sort != TypeReference.LOCAL_VARIABLE
            && sort != TypeReference.RESOURCE_VARIABLE) {
        throw new IllegalArgumentException("Invalid type reference sort 0x"
                + Integer.toHexString(sort));
    }
    CheckClassAdapter.checkTypeRefAndPath(typeRef, typePath);
    checkDesc(desc, false);
    if (start == null || end == null || index == null
            || end.length != start.length || index.length != start.length) {
        throw new IllegalArgumentException(
                "Invalid start, end and index arrays (must be non null and of identical length");
    }
    for (int i = 0; i < start.length; ++i) {
        checkLabel(start[i], true, "start label");
        checkLabel(end[i], true, "end label");
        checkUnsignedShort(index[i], "Invalid variable index");
        int s = labels.get(start[i]).intValue();
        int e = labels.get(end[i]).intValue();
        if (e < s) {
            throw new IllegalArgumentException(
                    "Invalid start and end labels (end must be greater than start)");
        }
    }
    return super.visitLocalVariableAnnotation(typeRef, typePath, start,
            end, index, desc, visible);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:34,代码来源:CheckMethodAdapter.java


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