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/verifier/structurals InstConstraintVisitor.java
Date Wed, 20 Aug 2003 13:31:14 GMT
enver       2003/08/20 06:31:14

  Modified:    src/java/org/apache/bcel/verifier/structurals
                        InstConstraintVisitor.java
  Log:
  PR: Allow more than one field of the same name; with different
      types.
  
  Revision  Changes    Path
  1.7       +28 -7     jakarta-bcel/src/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java
  
  Index: InstConstraintVisitor.java
  ===================================================================
  RCS file: /home/cvs/jakarta-bcel/src/java/org/apache/bcel/verifier/structurals/InstConstraintVisitor.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- InstConstraintVisitor.java	23 May 2003 07:55:34 -0000	1.6
  +++ InstConstraintVisitor.java	20 Aug 2003 13:31:14 -0000	1.7
  @@ -1193,8 +1193,15 @@
   		Field f = null;
   		for (int i=0; i<fields.length; i++){
   			if (fields[i].getName().equals(field_name)){
  -				f = fields[i];
  -				break;
  +				  Type f_type = Type.getType(fields[i].getSignature());
  +				  Type o_type = o.getType(cpg);
  +					/* TODO: Check if assignment compatibility is sufficient.
  +				   * What does Sun do?
  +				   */
  +				  if (f_type.equals(o_type)){
  +						f = fields[i];
  +						break;
  +					}
   			}
   		}
   		if (f == null){
  @@ -2475,8 +2482,15 @@
   		Field f = null;
   		for (int i=0; i<fields.length; i++){
   			if (fields[i].getName().equals(field_name)){
  -				f = fields[i];
  -				break;
  +				  Type f_type = Type.getType(fields[i].getSignature());
  +				  Type o_type = o.getType(cpg);
  +					/* TODO: Check if assignment compatibility is sufficient.
  +				   * What does Sun do?
  +				   */
  +				  if (f_type.equals(o_type)){
  +						f = fields[i];
  +						break;
  +					}
   			}
   		}
   		if (f == null){
  @@ -2557,8 +2571,15 @@
   		Field f = null;
   		for (int i=0; i<fields.length; i++){
   			if (fields[i].getName().equals(field_name)){
  -				f = fields[i];
  -				break;
  +					Type f_type = Type.getType(fields[i].getSignature());
  +				  Type o_type = o.getType(cpg);
  +					/* TODO: Check if assignment compatibility is sufficient.
  +				   * What does Sun do?
  +				   */
  +				  if (f_type.equals(o_type)){
  +						f = fields[i];
  +						break;
  +					}
   			}
   		}
   		if (f == null){
  
  
  

Mime
View raw message