java/10293: incorrect evaluation order for final class method arguments

mamoru@moon.email.ne.jp mamoru@moon.email.ne.jp
Wed Apr 2 06:36:00 GMT 2003


>Number:         10293
>Category:       java
>Synopsis:       incorrect evaluation order for final class method arguments
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          wrong-code
>Submitter-Id:   net
>Arrival-Date:   Wed Apr 02 06:36:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Mamoru Kobayashi
>Release:        3.2.2
>Organization:
>Environment:
Solaris 9 Sparc
>Description:
When invoking final class method, the evaluation order of argument list is incorrect.

For example:

class A { void foo( int a, int b ) {} }
final class B { void bar( int a, int b ) {} }

x = 0;
foo( x, x += 1 );
x = 0;
bar( x, x += 1 );

foo receives a=0, b=1  => OK
bar receives a=1, b=1  => NG

See Java Languange Specification (2nd Edition) Sec. 15.7.4.

** Please delete PR#10292
>How-To-Repeat:

>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Java-prs mailing list