[jboss-cvs] javassist/src/main/javassist ...
Shigeru Chiba
chiba at is.titech.ac.jp
Sun Aug 6 11:09:45 EDT 2006
User: chiba
Date: 06/08/06 11:09:45
Modified: src/main/javassist CtClassType.java
Log:
fixed JIRA JASSIST-25
Revision Changes Path
1.53 +9 -3 javassist/src/main/javassist/CtClassType.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: CtClassType.java
===================================================================
RCS file: /cvsroot/jboss/javassist/src/main/javassist/CtClassType.java,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -b -r1.52 -r1.53
--- CtClassType.java 18 Jul 2006 15:33:13 -0000 1.52
+++ CtClassType.java 6 Aug 2006 15:09:45 -0000 1.53
@@ -404,12 +404,18 @@
}
public void setModifiers(int mod) {
- if (Modifier.isStatic(mod))
- throw new RuntimeException("cannot set to static");
+ ClassFile cf = getClassFile2();
+ if (Modifier.isStatic(mod)) {
+ int flags = cf.getInnerAccessFlags();
+ if (flags != -1 && (flags & AccessFlag.STATIC) != 0)
+ mod = mod & ~Modifier.STATIC;
+ else
+ throw new RuntimeException("cannot change " + getName() + " into a static class");
+ }
checkModify();
int acc = AccessFlag.of(mod) | AccessFlag.SUPER;
- getClassFile2().setAccessFlags(acc);
+ cf.setAccessFlags(acc);
}
public Object[] getAnnotations() throws ClassNotFoundException {
More information about the jboss-cvs-commits
mailing list