Example usage for org.eclipse.jdt.internal.compiler.lookup TagBits AnnotationTargetMASK

List of usage examples for org.eclipse.jdt.internal.compiler.lookup TagBits AnnotationTargetMASK

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.compiler.lookup TagBits AnnotationTargetMASK.

Prototype

long AnnotationTargetMASK

To view the source code for org.eclipse.jdt.internal.compiler.lookup TagBits AnnotationTargetMASK.

Click Source Link

Usage

From source file:com.codenvy.ide.ext.java.server.internal.core.BinaryMember.java

License:Open Source License

protected IAnnotation[] getStandardAnnotations(long tagBits) {
    if ((tagBits & TagBits.AllStandardAnnotationsMask) == 0)
        return Annotation.NO_ANNOTATIONS;
    ArrayList annotations = new ArrayList();

    if ((tagBits & TagBits.AnnotationTargetMASK) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_ANNOTATION_TARGET));
    }/*from w  ww . ja v  a  2 s. c om*/
    if ((tagBits & TagBits.AnnotationRetentionMASK) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_ANNOTATION_RETENTION));
    }
    if ((tagBits & TagBits.AnnotationDeprecated) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_DEPRECATED));
    }
    if ((tagBits & TagBits.AnnotationDocumented) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED));
    }
    if ((tagBits & TagBits.AnnotationInherited) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_ANNOTATION_INHERITED));
    }
    if ((tagBits & TagBits.AnnotationPolymorphicSignature) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE));
    }
    if ((tagBits & TagBits.AnnotationSafeVarargs) != 0) {
        annotations.add(getAnnotation(TypeConstants.JAVA_LANG_SAFEVARARGS));
    }
    // note that JAVA_LANG_SUPPRESSWARNINGS and JAVA_LANG_OVERRIDE cannot appear in binaries
    return (IAnnotation[]) annotations.toArray(new IAnnotation[annotations.size()]);
}

From source file:com.codenvy.ide.ext.java.server.internal.core.ClassFileInfo.java

License:Open Source License

private void generateStandardAnnotationsInfos(JavaElement javaElement, char[] parameterName, long tagBits,
        HashMap newElements) {//from   www. j ava 2  s .c o m
    if ((tagBits & TagBits.AllStandardAnnotationsMask) == 0)
        return;
    if ((tagBits & TagBits.AnnotationTargetMASK) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_ANNOTATION_TARGET,
                getTargetElementTypes(tagBits), newElements);
    }
    if ((tagBits & TagBits.AnnotationRetentionMASK) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_ANNOTATION_RETENTION,
                getRetentionPolicy(tagBits), newElements);
    }
    if ((tagBits & TagBits.AnnotationDeprecated) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_DEPRECATED,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    if ((tagBits & TagBits.AnnotationDocumented) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    if ((tagBits & TagBits.AnnotationInherited) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_ANNOTATION_INHERITED,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    if ((tagBits & TagBits.AnnotationPolymorphicSignature) != 0) {
        generateStandardAnnotation(javaElement,
                TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    if ((tagBits & TagBits.AnnotationSafeVarargs) != 0) {
        generateStandardAnnotation(javaElement, TypeConstants.JAVA_LANG_SAFEVARARGS,
                Annotation.NO_MEMBER_VALUE_PAIRS, newElements);
    }
    // note that JAVA_LANG_SUPPRESSWARNINGS and JAVA_LANG_OVERRIDE cannot appear in binaries
}

From source file:com.codenvy.ide.ext.java.server.internal.core.search.indexing.BinaryIndexer.java

License:Open Source License

private void addBinaryStandardAnnotations(long annotationTagBits) {
    if ((annotationTagBits & TagBits.AllStandardAnnotationsMask) == 0) {
        return;/*from w ww.j a  va  2s .  co  m*/
    }
    if ((annotationTagBits & TagBits.AnnotationTargetMASK) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_TARGET;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
        addBinaryTargetAnnotation(annotationTagBits);
    }
    if ((annotationTagBits & TagBits.AnnotationRetentionMASK) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_RETENTION;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
        addBinaryRetentionAnnotation(annotationTagBits);
    }
    if ((annotationTagBits & TagBits.AnnotationDeprecated) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_DEPRECATED;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationDocumented) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationInherited) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_INHERITED;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationOverride) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_OVERRIDE;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationSuppressWarnings) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_SUPPRESSWARNINGS;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationSafeVarargs) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_SAFEVARARGS;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
    if ((annotationTagBits & TagBits.AnnotationPolymorphicSignature) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE;
        addAnnotationTypeReference(compoundName[compoundName.length - 1]);
    }
}

From source file:com.codenvy.ide.ext.java.server.internal.core.search.matching.ClassFileMatchLocator.java

License:Open Source License

private boolean checkStandardAnnotations(long annotationTagBits, TypeReferencePattern pattern) {
    if ((annotationTagBits & TagBits.AllStandardAnnotationsMask) == 0) {
        return false;
    }/*from  www  . j av a  2s.c o  m*/
    if ((annotationTagBits & TagBits.AnnotationTargetMASK) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_TARGET;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)
                || ((annotationTagBits & TARGET_ANNOTATION_BITS) != 0
                        && checkAnnotationTypeReference(JAVA_LANG_ANNOTATION_ELEMENTTYPE, pattern))) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationRetentionMASK) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_RETENTION;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)
                || checkAnnotationTypeReference(
                        CharOperation.concatWith(TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY, '.'),
                        pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationDeprecated) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_DEPRECATED;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationDocumented) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_DOCUMENTED;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationInherited) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_ANNOTATION_INHERITED;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationOverride) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_OVERRIDE;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationSuppressWarnings) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_SUPPRESSWARNINGS;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationSafeVarargs) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_SAFEVARARGS;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    if ((annotationTagBits & TagBits.AnnotationPolymorphicSignature) != 0) {
        char[][] compoundName = TypeConstants.JAVA_LANG_INVOKE_METHODHANDLE_$_POLYMORPHICSIGNATURE;
        if (checkAnnotationTypeReference(CharOperation.concatWith(compoundName, '.'), pattern)) {
            return true;
        }
    }
    return false;
}

From source file:io.takari.maven.plugins.compile.jdt.ClassfileDigester.java

License:Open Source License

public byte[] digest(IBinaryType classFile) {

    // type level comparison
    // modifiers/*from   w w w  . j  a  v a 2s .c  o m*/
    updateInt(classFile.getModifiers());

    // only consider a portion of the tagbits which indicate a structural change for dependents
    // e.g. @Override change has no influence outside
    long OnlyStructuralTagBits = TagBits.AnnotationTargetMASK // different @Target status ?
            | TagBits.AnnotationDeprecated // different @Deprecated status ?
            | TagBits.AnnotationRetentionMASK // different @Retention status ?
            | TagBits.HierarchyHasProblems; // different hierarchy status ?

    // meta-annotations
    updateLong(classFile.getTagBits() & OnlyStructuralTagBits);
    // annotations
    updateAnnotations(classFile.getAnnotations());

    // generic signature
    updateChars(classFile.getGenericSignature());
    // superclass
    updateChars(classFile.getSuperclassName());
    // interfaces
    char[][] interfacesNames = classFile.getInterfaceNames();
    if (interfacesNames != null) {
        for (int i = 0; i < interfacesNames.length; i++) {
            updateChars(interfacesNames[i]);
        }
    }

    // member types
    IBinaryNestedType[] memberTypes = classFile.getMemberTypes();
    if (memberTypes != null) {
        for (int i = 0; i < memberTypes.length; i++) {
            updateChars(memberTypes[i].getName());
            updateInt(memberTypes[i].getModifiers());
        }
    }

    // fields
    FieldInfo[] fieldInfos = (FieldInfo[]) classFile.getFields();
    if (fieldInfos != null) {
        for (int i = 0; i < fieldInfos.length; i++) {
            updateField(fieldInfos[i]);
        }
    }

    // methods
    MethodInfo[] methodInfos = (MethodInfo[]) classFile.getMethods();
    if (methodInfos != null) {
        for (int i = 0; i < methodInfos.length; i++) {
            updateMethod(methodInfos[i]);
        }
    }

    // missing types
    char[][][] missingTypes = classFile.getMissingTypeNames();
    if (missingTypes != null) {
        for (int i = 0; i < missingTypes.length; i++) {
            for (int j = 0; j < missingTypes[i].length; j++) {
                if (j > 0) {
                    updateChar('.'); // don't ask why
                }
                updateChars(missingTypes[i][j]);
            }
        }
    }

    return digester.digest();
}