jakarta-bcel-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From en...@apache.org
Subject cvs commit: jakarta-bcel/src/java/org/apache/bcel/generic ReferenceType.java
Date Thu, 01 Aug 2002 22:43:41 GMT
enver       2002/08/01 15:43:41

  Modified:    src/java/org/apache/bcel/generic ReferenceType.java
  Log:
  Sorry! The cat ate my curly brace just before commit.
  
  Revision  Changes    Path
  1.3       +38 -37    jakarta-bcel/src/java/org/apache/bcel/generic/ReferenceType.java
  
  Index: ReferenceType.java
  ===================================================================
  RCS file: /home/cvs/jakarta-bcel/src/java/org/apache/bcel/generic/ReferenceType.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- ReferenceType.java	1 Aug 2002 22:38:42 -0000	1.2
  +++ ReferenceType.java	1 Aug 2002 22:43:40 -0000	1.3
  @@ -236,44 +236,45 @@
                   );
   
               }
  +        }
   
  -            if ((this instanceof ArrayType) || (t instanceof ArrayType))
  -                return Type.OBJECT;
  -            // TODO: Is there a proof of OBJECT being the direct ancestor of every ArrayType?
  -
  -            if (((this instanceof ObjectType) && ((ObjectType) this).referencesInterface())
||
  -                    ((t instanceof ObjectType) && ((ObjectType) t).referencesInterface()))
  -                return Type.OBJECT;
  -            // TODO: The above line is correct comparing to the vmspec2. But one could
  -            // make class file verification a bit stronger here by using the notion of
  -            // superinterfaces or even castability or assignment compatibility.
  -
  -
  -            // this and t are ObjectTypes, see above.
  -            ObjectType thiz = (ObjectType) this;
  -            ObjectType other = (ObjectType) t;
  -            JavaClass[] thiz_sups = Repository.getSuperClasses(thiz.getClassName());
  -            JavaClass[] other_sups = Repository.getSuperClasses(other.getClassName());
  +        if ((this instanceof ArrayType) || (t instanceof ArrayType))
  +            return Type.OBJECT;
  +        // TODO: Is there a proof of OBJECT being the direct ancestor of every ArrayType?
  +
  +        if (((this instanceof ObjectType) && ((ObjectType) this).referencesInterface())
||
  +                ((t instanceof ObjectType) && ((ObjectType) t).referencesInterface()))
  +            return Type.OBJECT;
  +        // TODO: The above line is correct comparing to the vmspec2. But one could
  +        // make class file verification a bit stronger here by using the notion of
  +        // superinterfaces or even castability or assignment compatibility.
  +
  +
  +        // this and t are ObjectTypes, see above.
  +        ObjectType thiz = (ObjectType) this;
  +        ObjectType other = (ObjectType) t;
  +        JavaClass[] thiz_sups = Repository.getSuperClasses(thiz.getClassName());
  +        JavaClass[] other_sups = Repository.getSuperClasses(other.getClassName());
   
  -            if ((thiz_sups == null) || (other_sups == null)) {
  -                return null;
  -            }
  +        if ((thiz_sups == null) || (other_sups == null)) {
  +            return null;
  +        }
   
  -            // Waaahh...
  -            JavaClass[] this_sups = new JavaClass[thiz_sups.length + 1];
  -            JavaClass[] t_sups = new JavaClass[other_sups.length + 1];
  -            System.arraycopy(thiz_sups, 0, this_sups, 1, thiz_sups.length);
  -            System.arraycopy(other_sups, 0, t_sups, 1, other_sups.length);
  -            this_sups[0] = Repository.lookupClass(thiz.getClassName());
  -            t_sups[0] = Repository.lookupClass(other.getClassName());
  -
  -            for (int i = 0; i < t_sups.length; i++) {
  -                for (int j = 0; j < this_sups.length; j++) {
  -                    if (this_sups[j].equals(t_sups[i])) return new ObjectType(this_sups[j].getClassName());
  -                }
  +        // Waaahh...
  +        JavaClass[] this_sups = new JavaClass[thiz_sups.length + 1];
  +        JavaClass[] t_sups = new JavaClass[other_sups.length + 1];
  +        System.arraycopy(thiz_sups, 0, this_sups, 1, thiz_sups.length);
  +        System.arraycopy(other_sups, 0, t_sups, 1, other_sups.length);
  +        this_sups[0] = Repository.lookupClass(thiz.getClassName());
  +        t_sups[0] = Repository.lookupClass(other.getClassName());
  +
  +        for (int i = 0; i < t_sups.length; i++) {
  +            for (int j = 0; j < this_sups.length; j++) {
  +                if (this_sups[j].equals(t_sups[i])) return new ObjectType(this_sups[j].getClassName());
               }
  -
  -            // Huh? Did you ask for Type.OBJECT's superclass??
  -            return null;
           }
  +
  +        // Huh? Did you ask for Type.OBJECT's superclass??
  +        return null;
       }
  +}
  
  
  

--
To unsubscribe, e-mail:   <mailto:bcel-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:bcel-dev-help@jakarta.apache.org>


Mime
View raw message