[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