[jboss-cvs] javassist/src/main/javassist/compiler ...

Shigeru Chiba chiba at is.titech.ac.jp
Thu May 1 06:47:59 EDT 2008


  User: chiba   
  Date: 08/05/01 06:47:59

  Modified:    src/main/javassist/compiler  MemberResolver.java
  Log:
  fixed JASSIST-47 and 60.
  
  Revision  Changes    Path
  1.16      +23 -8     javassist/src/main/javassist/compiler/MemberResolver.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: MemberResolver.java
  ===================================================================
  RCS file: /cvsroot/jboss/javassist/src/main/javassist/compiler/MemberResolver.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -b -r1.15 -r1.16
  --- MemberResolver.java	4 Jun 2007 03:11:09 -0000	1.15
  +++ MemberResolver.java	1 May 2008 10:47:59 -0000	1.16
  @@ -129,7 +129,11 @@
           else
               onlyExact = maybe != null;
   
  +        int mod = clazz.getModifiers();
  +        boolean isIntf = Modifier.isInterface(mod);
           try {
  +            // skip searching java.lang.Object if clazz is an interface type.
  +            if (!isIntf) {
               CtClass pclazz = clazz.getSuperclass();
               if (pclazz != null) {
                   Method r = lookupMethod(pclazz, methodName, argTypes,
  @@ -138,10 +142,10 @@
                       return r;
               }
           }
  +        }
           catch (NotFoundException e) {}
   
  -        int mod = clazz.getModifiers();
  -        if (Modifier.isAbstract(mod) || Modifier.isInterface(mod))
  +        if (isIntf || Modifier.isAbstract(mod))
               try {
                   CtClass[] ifs = clazz.getInterfaces();
                   int size = ifs.length;
  @@ -152,6 +156,17 @@
                       if (r != null)
                           return r;
                   }
  +
  +                if (isIntf) {
  +                    // finally search java.lang.Object.
  +                    CtClass pclazz = clazz.getSuperclass();
  +                    if (pclazz != null) {
  +                        Method r = lookupMethod(pclazz, methodName, argTypes,
  +                                                argDims, argClassNames, onlyExact);
  +                        if (r != null)
  +                            return r;
  +                    }
  +                }
               }
               catch (NotFoundException e) {}
   
  
  
  



More information about the jboss-cvs-commits mailing list