List of usage examples for org.eclipse.jdt.internal.compiler.lookup TagBits AnnotationRetentionMASK
long AnnotationRetentionMASK
To view the source code for org.eclipse.jdt.internal.compiler.lookup TagBits AnnotationRetentionMASK.
Click Source Link
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)); }//ww w . j a v a 2 s . co m 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) {// w ww .j a v a 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.ClassFileInfo.java
License:Open Source License
private IMemberValuePair[] getRetentionPolicy(long tagBits) { if ((tagBits & TagBits.AnnotationRetentionMASK) == 0) return Annotation.NO_MEMBER_VALUE_PAIRS; String retention = null;/* ww w. j a va2 s. c o m*/ if ((tagBits & TagBits.AnnotationRuntimeRetention) == TagBits.AnnotationRuntimeRetention) { // TagBits.AnnotationRuntimeRetention combines both TagBits.AnnotationClassRetention & TagBits.AnnotationSourceRetention retention = new String( CharOperation.concatWith(TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY, '.')) + '.' + new String(TypeConstants.UPPER_RUNTIME); } else if ((tagBits & TagBits.AnnotationSourceRetention) != 0) { retention = new String( CharOperation.concatWith(TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY, '.')) + '.' + new String(TypeConstants.UPPER_SOURCE); } else { retention = new String( CharOperation.concatWith(TypeConstants.JAVA_LANG_ANNOTATION_RETENTIONPOLICY, '.')) + '.' + new String(TypeConstants.UPPER_CLASS); } final String value = retention; return new IMemberValuePair[] { new IMemberValuePair() { public int getValueKind() { return IMemberValuePair.K_QUALIFIED_NAME; } public Object getValue() { return value; } public String getMemberName() { return new String(TypeConstants.VALUE); } } }; }
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 . ja va 2 s . c o 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 w ww. jav a2 s. com*/ 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 . ja va 2 s. c om*/ 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(); }