Lines 284-290
Link Here
|
284 |
} |
284 |
} |
285 |
} |
285 |
} |
286 |
} else if (CharOperation.equals(attributeName, AttributeNamesConstants.InconsistentHierarchy)) { |
286 |
} else if (CharOperation.equals(attributeName, AttributeNamesConstants.InconsistentHierarchy)) { |
287 |
this.accessFlags |= ClassFileConstants.AccHierarchyInconsistent; |
287 |
this.tagBits |= TagBits.HasInconsistentHierarchy; |
288 |
} |
288 |
} |
289 |
break; |
289 |
break; |
290 |
case 'S' : |
290 |
case 'S' : |
Lines 662-669
Link Here
|
662 |
if (this.getModifiers() != newClassFile.getModifiers()) |
662 |
if (this.getModifiers() != newClassFile.getModifiers()) |
663 |
return true; |
663 |
return true; |
664 |
|
664 |
|
|
|
665 |
// only consider a portion of the tagbits which indicate a structural change for dependents |
666 |
// e.g. @Override change has no influence outside |
667 |
long OnlyStructuralTagBits = TagBits.AnnotationTargetMASK // different @Target status ? |
668 |
| TagBits.AnnotationDeprecated // different @Deprecated status ? |
669 |
| TagBits.AnnotationRetentionMASK // different @Retention status ? |
670 |
| TagBits.HasInconsistentHierarchy; // different hierarchy status ? |
671 |
|
665 |
// meta-annotations |
672 |
// meta-annotations |
666 |
if ((this.getTagBits() & TagBits.AnnotationTargetMASK|TagBits.AnnotationDeprecated|TagBits.AnnotationRetentionMASK) != (newClassFile.getTagBits() & TagBits.AnnotationTargetMASK|TagBits.AnnotationDeprecated|TagBits.AnnotationRetentionMASK)) |
673 |
if ((this.getTagBits() & OnlyStructuralTagBits) != (newClassFile.getTagBits() & OnlyStructuralTagBits)) |
667 |
return true; |
674 |
return true; |
668 |
|
675 |
|
669 |
// generic signature |
676 |
// generic signature |