[jboss-cvs] jbossretro/src/main/org/jboss/ant/tasks/retro ...
Elias Ross
genman at noderunner.net
Wed Jan 24 18:26:41 EST 2007
User: genman
Date: 07/01/24 18:26:41
Modified: src/main/org/jboss/ant/tasks/retro ClassRedirectEditor.java
Log:
JBAOP-351 - Retro compiler support for Integer bit methods
Revision Changes Path
1.22 +26 -1 jbossretro/src/main/org/jboss/ant/tasks/retro/ClassRedirectEditor.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ClassRedirectEditor.java
===================================================================
RCS file: /cvsroot/jboss/jbossretro/src/main/org/jboss/ant/tasks/retro/ClassRedirectEditor.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -b -r1.21 -r1.22
--- ClassRedirectEditor.java 8 Nov 2006 00:21:39 -0000 1.21
+++ ClassRedirectEditor.java 24 Jan 2007 23:26:41 -0000 1.22
@@ -40,6 +40,7 @@
import org.jboss.lang.AnnotationHelper;
import org.jboss.lang.ClassRedirects;
import org.jboss.lang.ExceptionHelper;
+import org.jboss.lang.NumberHelper;
import org.jboss.util.StringWriterHelper;
import edu.emory.mathcs.backport.java.util.Collections;
@@ -53,7 +54,7 @@
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
* @author Scott.Stark at jboss.org
- * @version $Revision: 1.21 $
+ * @version $Revision: 1.22 $
*/
public class ClassRedirectEditor extends ExprEditor
{
@@ -67,6 +68,8 @@
private static final String STRINGWRITER_HELPER = StringWriterHelper.class.getName();
/** Concurrent utils */
private static final String CONCURRENT_UTILS = Utils.class.getName();
+ /** Integer redirects */
+ private static final String NUMBER_HELPER = NumberHelper.class.getName();
/** Class class */
private static final String CLASS = Class.class.getName();
@@ -80,6 +83,10 @@
private static final String ACCESSIBLE_OBJECT = AccessibleObject.class.getName();
/** String class */
private static final String STRING = String.class.getName();
+ /** Integer class */
+ private static final String INTEGER = Integer.class.getName();
+ /** Long class */
+ private static final String LONG = Long.class.getName();
/** Matcher class */
private static final String MATCHER = Matcher.class.getName();
/** System class */
@@ -146,6 +153,14 @@
exceptionCtors.add("java.security.KeyException(Ljava/lang/String;Ljava/lang/Throwable;)V");
exceptionCtors.add("java.security.KeyException(Ljava/lang/Throwable;)V");
}
+ private static HashSet<String> integerBitMethods = new HashSet<String>();
+ {
+ String s[] = new String[] { "highestOneBit", "lowestOneBit", "numberOfLeadingZeros",
+ "bitCount", "rotateLeft", "rotateRight", "reverse", "signum",
+ "reverseBytes" };
+ for (int i = 0; i < s.length; i++)
+ integerBitMethods.add(s[i]);
+ }
private static final String CTOR_TIMER1 = TIMER + "(Ljava/lang/String;)V";
private static final String CTOR_TIMER2 = TIMER + "(Ljava/lang/String;Z)V";
@@ -302,6 +317,16 @@
else if ("contains".equals(callName))
call.replace("$_ = " + CLASS_REDIRECTS + ".contains($0, $1);");
}
+ else if (INTEGER.equals(className))
+ {
+ if (integerBitMethods.contains(callName))
+ call.replace("$_ = " + NUMBER_HELPER + "." + callName + "($$);");
+ }
+ else if (LONG.equals(className))
+ {
+ if (integerBitMethods.contains(callName))
+ call.replace("$_ = " + NUMBER_HELPER + "." + callName + "($$);");
+ }
else if (MATCHER.equals(className))
{
if ("quoteReplacement".equals(callName))
More information about the jboss-cvs-commits
mailing list