aboutsummaryrefslogtreecommitdiffstats
path: root/api/src/main/java/org/osjava
diff options
context:
space:
mode:
authorJulien Eluard <[email protected]>2014-09-22 17:49:08 -0300
committerJulien Eluard <[email protected]>2014-09-22 17:49:08 -0300
commitb20dc4f7196fa3969ba4f23abf04f68ef8aef3a9 (patch)
tree2951037a80497780cec08d39262eaa2a75f7814b /api/src/main/java/org/osjava
parente021d4ba5fbfe4adf7298bb1334d8df1c8ecd419 (diff)
parent09e9510ba6b5a472f6c04a13fe1bfcc06b01a3d3 (diff)
Merge pull request #42 from mschonaker/master
Fix #41: abstract could become concrete.
Diffstat (limited to 'api/src/main/java/org/osjava')
-rw-r--r--api/src/main/java/org/osjava/jardiff/Tools.java18
1 files changed, 10 insertions, 8 deletions
diff --git a/api/src/main/java/org/osjava/jardiff/Tools.java b/api/src/main/java/org/osjava/jardiff/Tools.java
index 0a8f5f1..e159541 100644
--- a/api/src/main/java/org/osjava/jardiff/Tools.java
+++ b/api/src/main/java/org/osjava/jardiff/Tools.java
@@ -66,12 +66,14 @@ public final class Tools
* @return
*/
public static boolean isAccessChange(int oldAccess, int newAccess) {
- if ((oldAccess & Opcodes.ACC_FINAL) == 0 && (newAccess & Opcodes.ACC_FINAL) > 0) {
- return true;
- } else {
- oldAccess = oldAccess & ~Opcodes.ACC_FINAL;
- newAccess = newAccess & ~Opcodes.ACC_FINAL;
- }
- return oldAccess != newAccess;
- }
+ if ((oldAccess & Opcodes.ACC_FINAL) == 0 && (newAccess & Opcodes.ACC_FINAL) > 0) {
+ return true;
+ } else if ((oldAccess & Opcodes.ACC_ABSTRACT) == 0 && (newAccess & Opcodes.ACC_ABSTRACT) > 0) {
+ return true;
+ } else {
+ oldAccess = oldAccess & ~Opcodes.ACC_FINAL & ~Opcodes.ACC_ABSTRACT;
+ newAccess = newAccess & ~Opcodes.ACC_FINAL & ~Opcodes.ACC_ABSTRACT;
+ }
+ return oldAccess != newAccess;
+ }
}