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


Java Attribute.Class方法代码示例

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


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

示例1: visitArray

import com.sun.tools.javac.code.Attribute; //导入方法依赖的package包/类
public void visitArray(Attribute.Array a) {
    Name elemName = ((ArrayType) a.type).elemtype.tsym.getQualifiedName();

    if (elemName.equals(elemName.table.names.java_lang_Class)) {   // Class[]
        // Construct a proxy for a MirroredTypesException
        ListBuffer<TypeMirror> elems = new ListBuffer<TypeMirror>();
        for (Attribute value : a.values) {
            Type elem = ((Attribute.Class) value).type;
            elems.append(elem);
        }
        value = new MirroredTypesExceptionProxy(elems.toList());

    } else {
        int len = a.values.length;
        Class<?> returnClassSaved = returnClass;
        returnClass = returnClass.getComponentType();
        try {
            Object res = Array.newInstance(returnClass, len);
            for (int i = 0; i < len; i++) {
                a.values[i].accept(this);
                if (value == null || value instanceof ExceptionProxy) {
                    return;
                }
                try {
                    Array.set(res, i, value);
                } catch (IllegalArgumentException e) {
                    value = null;       // indicates a type mismatch
                    return;
                }
            }
            value = res;
        } finally {
            returnClass = returnClassSaved;
        }
    }
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:37,代码来源:AnnotationProxyMaker.java

示例2: visitClass

import com.sun.tools.javac.code.Attribute; //导入方法依赖的package包/类
public void visitClass(Attribute.Class c) {
    value = new MirroredTypeExceptionProxy(c.type);
}
 
开发者ID:tranleduy2000,项目名称:javaide,代码行数:4,代码来源:AnnotationProxyMaker.java

示例3: visitClass

import com.sun.tools.javac.code.Attribute; //导入方法依赖的package包/类
public void visitClass(Attribute.Class c) {
    value = TypeMaker.getType(env,
                              env.types.erasure(c.classType));
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:5,代码来源:AnnotationValueImpl.java

示例4: visitClass

import com.sun.tools.javac.code.Attribute; //导入方法依赖的package包/类
public void visitClass(Attribute.Class a) {
    printObject("classType", a.classType, Details.SUMMARY);
    visitAttribute(a);
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:5,代码来源:DPrinter.java

示例5: visitClass

import com.sun.tools.javac.code.Attribute; //导入方法依赖的package包/类
public void visitClass(Attribute.Class c) {
    value = TypeMaker.getType(env,
                              env.types.erasure(c.type));
}
 
开发者ID:unktomi,项目名称:form-follows-function,代码行数:5,代码来源:AnnotationValueImpl.java

示例6: visitClass

import com.sun.tools.javac.code.Attribute; //导入方法依赖的package包/类
public void visitClass(Attribute.Class c) {
    value = env.typeMaker.getType(
                env.jctypes.erasure(c.type));
}
 
开发者ID:unktomi,项目名称:form-follows-function,代码行数:5,代码来源:AnnotationValueImpl.java


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