[ 
https://issues.apache.org/jira/browse/BCEL-13?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Emmanuel Bourg updated BCEL-13:
-------------------------------

      Description: 
I have discovered a class file that has multiple CONSTANT_Class entries in the 
ConstantPool that point to the same CONSTANT_Utf8 class name string.  The 
ConstantPoolGen.lookupClass(String) method seems to return the index for the 
LAST of the two CONSTANT_Class entries instead of the first.  Details are 
available from:
http://www.markcrocker.com/~mcrocker/Computer/Purifier/wrongClassrefIssue.shtml

This is a problem because I am attempting to create pure Java J2ME preverifier 
(The Purifier: http://www.markcrocker.com/~mcrocker/Computer/Purifier/). 
Ideally, it should produce the same StackMaps as SUN's preverifier.  However, 
in the case of this unusual class, it cannot because it uses BCEL and BCEL's 
lookupClass produces a different index than SUN's preverifier for the 
particular class that happens to have two possible indecies.

  was:
I have discovered a class file that has multiple CONSTANT_Class entries in the
ConstantPool that point to the same CONSTANT_Utf8 class name string.  The
ConstantPoolGen.lookupClass(String) method seems to return the index for the
LAST of the two CONSTANT_Class entries instead of the first.  Details are
available from:
http://www.markcrocker.com/~mcrocker/Computer/Purifier/wrongClassrefIssue.shtml

This is a problem because I am attempting to create pure Java J2ME preverifier
(The Purifier: http://www.markcrocker.com/~mcrocker/Computer/Purifier/). 
Ideally, it should produce the same StackMaps as SUN's preverifier.  However, in
the case of this unusual class, it cannot because it uses BCEL and BCEL's
lookupClass produces a different index than SUN's preverifier for the particular
class that happens to have two possible indecies.

         Priority: Minor
      Environment: URL: 
http://www.markcrocker.com/~mcrocker/Computer/Purifier/wrongClassrefIssue.shtml 
 (was: Operating System: All
Platform: All
URL: 
http://www.markcrocker.com/~mcrocker/Computer/Purifier/wrongClassrefIssue.shtml)
    Fix Version/s: 5.2
         Priority:   (was: P3)
         Severity:   (was: normal)

> ConstantPoolGen.lookupClass(String) finds LAST entry rather than first
> ----------------------------------------------------------------------
>
>                 Key: BCEL-13
>                 URL: https://issues.apache.org/jira/browse/BCEL-13
>             Project: Commons BCEL
>          Issue Type: Bug
>          Components: Main
>    Affects Versions: 5.0
>         Environment: URL: 
> http://www.markcrocker.com/~mcrocker/Computer/Purifier/wrongClassrefIssue.shtml
>            Reporter: Mark Crocker
>            Assignee: Apache Commons Developers
>            Priority: Minor
>             Fix For: 5.2
>
>
> I have discovered a class file that has multiple CONSTANT_Class entries in 
> the ConstantPool that point to the same CONSTANT_Utf8 class name string.  The 
> ConstantPoolGen.lookupClass(String) method seems to return the index for the 
> LAST of the two CONSTANT_Class entries instead of the first.  Details are 
> available from:
> http://www.markcrocker.com/~mcrocker/Computer/Purifier/wrongClassrefIssue.shtml
> This is a problem because I am attempting to create pure Java J2ME 
> preverifier (The Purifier: 
> http://www.markcrocker.com/~mcrocker/Computer/Purifier/). 
> Ideally, it should produce the same StackMaps as SUN's preverifier.  However, 
> in the case of this unusual class, it cannot because it uses BCEL and BCEL's 
> lookupClass produces a different index than SUN's preverifier for the 
> particular class that happens to have two possible indecies.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to