List of usage examples for org.eclipse.jdt.core.util IFieldInfo isDeprecated
boolean isDeprecated();
From source file:org.eclipse.pde.tools.internal.versioning.JavaClassVersionCompare.java
License:Open Source License
/** * compares two IFieldInfo instances to find any change from <code>field1</code> to <code>field2</code> * /*from w ww . java 2s . c o m*/ * @param className name of class to which <code>field1</code>(and <code>field2</code>) belongs * @param field1 IFieldInfo instance * @param field2 IFieldInfo instance */ private void compareFieldInfos(String className, IFieldInfo field1, IFieldInfo field2) { // compare AccessFlags (AccessFlags defines the modifiers of a field (e.g. public static final IVersionCompare.PLUGIN_ID = "org.eclipse.pde.tools.versioning") int accessFlag1 = field1.getAccessFlags(); int accessFlag2 = field2.getAccessFlags(); // we just care about field who was public or protected if (!(Flags.isPublic(accessFlag2) || Flags.isProtected(accessFlag2))) { return; } if (isModifierNarrowed(accessFlag1, accessFlag2)) { // get what modifiers have been changed int change = accessFlag1 ^ accessFlag2; // if the visibility of a field which was public or protected has been narrowed, it is a change should be caught Object[] msg = { FIELD_TITLE, charsToString(field1.getName()), createChangedModifierString(accessFlag2, change), createChangedModifierString(accessFlag1, change), className }; finalResult.merge(resultStatusHandler(IStatus.INFO, IVersionCompare.CLASS_DETAIL_STATUS | IVersionCompare.MAJOR_CHANGE, NLS.bind(Messages.JavaClassVersionCompare_ModifierChangedMsg, msg), null)); } // compare Descriptor (Descriptor describes the type of a field) String descriptor1 = charsToString(field1.getDescriptor()); String descriptor2 = charsToString(field2.getDescriptor()); if (!descriptor1.equals(descriptor2)) { String[] msg = { charsToString(field1.getName()), Signature.toString(descriptor2), Signature.toString(descriptor1), className }; finalResult.merge(resultStatusHandler(IStatus.INFO, IVersionCompare.CLASS_DETAIL_STATUS | IVersionCompare.MAJOR_CHANGE, NLS.bind(Messages.JavaClassVersionCompare_descriptorChangedMsg, msg), null)); } // compare isDeprecated (if a field has been deprecated) if (field1.isDeprecated() && !field2.isDeprecated()) { Object[] msg = { FIELD_TITLE, charsToString(field1.getName()), className }; finalResult.merge(resultStatusHandler(IStatus.INFO, IVersionCompare.CLASS_DETAIL_STATUS | IVersionCompare.MICRO_CHANGE, NLS.bind(Messages.JavaClassVersionCompare_deprecatedChangedMsg, msg), null)); } }