summaryrefslogtreecommitdiff
path: root/src/proguard/classfile/ProgramClass.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/proguard/classfile/ProgramClass.java')
-rw-r--r--src/proguard/classfile/ProgramClass.java24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/proguard/classfile/ProgramClass.java b/src/proguard/classfile/ProgramClass.java
index 54bb8b1..b5d885c 100644
--- a/src/proguard/classfile/ProgramClass.java
+++ b/src/proguard/classfile/ProgramClass.java
@@ -2,7 +2,7 @@
* ProGuard -- shrinking, optimization, obfuscation, and preverification
* of Java bytecode.
*
- * Copyright (c) 2002-2013 Eric Lafortune (eric@graphics.cornell.edu)
+ * Copyright (c) 2002-2014 Eric Lafortune (eric@graphics.cornell.edu)
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the Free
@@ -170,6 +170,18 @@ public class ProgramClass implements Clazz
}
+ public String getRefClassName(int constantIndex)
+ {
+ try
+ {
+ return ((RefConstant)constantPool[constantIndex]).getClassName(this);
+ }
+ catch (ClassCastException ex)
+ {
+ throw ((IllegalStateException)new IllegalStateException("Expected RefConstant at index ["+constantIndex+"] in class ["+getName()+"]").initCause(ex));
+ }
+ }
+
public String getRefName(int constantIndex)
{
try
@@ -519,12 +531,12 @@ public class ProgramClass implements Clazz
public boolean mayHaveImplementations(Method method)
{
return
- (u2accessFlags & ClassConstants.INTERNAL_ACC_FINAL) == 0 &&
+ (u2accessFlags & ClassConstants.ACC_FINAL) == 0 &&
(method == null ||
- ((method.getAccessFlags() & (ClassConstants.INTERNAL_ACC_PRIVATE |
- ClassConstants.INTERNAL_ACC_STATIC |
- ClassConstants.INTERNAL_ACC_FINAL)) == 0 &&
- !method.getName(this).equals(ClassConstants.INTERNAL_METHOD_NAME_INIT)));
+ ((method.getAccessFlags() & (ClassConstants.ACC_PRIVATE |
+ ClassConstants.ACC_STATIC |
+ ClassConstants.ACC_FINAL)) == 0 &&
+ !method.getName(this).equals(ClassConstants.METHOD_NAME_INIT)));
}