JDK-4949529 : javap only shows the first of multiple byte[] arguments
  • Type: Bug
  • Component: tools
  • Sub-Component: javap
  • Affected Version: 1.4.2
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • OS: windows_2000
  • CPU: x86
  • Submitted: 2003-11-05
  • Updated: 2003-11-23
  • Resolved: 2003-11-23
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 b30Fixed
Related Reports
Relates :  
Description
Name: rmT116609			Date: 11/05/2003


FULL PRODUCT VERSION :
java version "1.4.2_02"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_02-b03)
Java HotSpot(TM) Client VM (build 1.4.2_02-b03, mixed mode)

ADDITIONAL OS VERSION INFORMATION :
Microsoft Windows 2000 [Version 5.00.2195]

A DESCRIPTION OF THE PROBLEM :
For methods that have multiple arguments of type byte[], javap only shows the first byte[] argument. (I don't know whether this also happens for other array types.)

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Use javap to show the method signatures of a class which has some methods with multiple byte[] arguments.


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
> javac Test.java
> javap -private Test
Compiled from "Test.java"
public class Test extends java.lang.Object{
    public Test();
    public static void main(java.lang.String[]);
    private void alpha(byte[],int);
    private void bravo(byte[],byte[],int,int);
    private void charlie(byte[],byte[],byte[],int,int,int);
}

ACTUAL -
> javac Test.java
> javap -private Test
Compiled from "Test.java"
public class Test extends java.lang.Object{
    public Test();
    public static void main(java.lang.String[]);
    private void alpha(byte[],int);
    private void bravo(byte[],int,int);
    private void charlie(byte[],int,int,int);
}

The signatures of bravo() and charlie() are wrong; it doesn't show all the byte[] arguments.

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
public class Test
{
    public static void main(String args[])
    {
    }
    private void alpha(byte[] one, int two){};
    private void bravo(byte[] one, byte[] two, int three, int four){};
    private void charlie(byte[] one, byte[] two, byte[] three, int four, int five, int six){};
}

---------- END SOURCE ----------
(Incident Review ID: 223772) 
======================================================================

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-beta FIXED IN: tiger-beta INTEGRATED IN: tiger-b30 tiger-beta
14-06-2004

EVALUATION Clearly a bug and should be addressed for 1.5 ###@###.### 2003-11-07
07-11-2003