PR# 15853 Wrong flat form for `{like Current}.value' static call in descendant (or compiler bug)

Problem Report Summary
Submitter: prestoat2000
Category: EiffelStudio
Priority: Medium
Date: 2009/05/20
Class: Bug
Severity: Serious
Number: 15853
Release: 6.4.78765
Confidential: No
Status: Closed
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv: Gecko/2009042715 Firefox/3.0.10 Solaris 10 on SPARC
Synopsis: Wrong flat form for `{like Current}.value' static call in descendant (or compiler bug)

The Flat form for a routine with expression `{like Current}.value' (where
`value' is an external or constant) is shown in a descendant class TEST
as `{TEST}.value'.  But when the system is executed the version of `value' in
the ancestor TEST2 is actually called, so the Flat form is wrong.
Either that or the compiler is generating the wrong code - it treats 
`{like Current}.value' written in TEST2 as though it were written `{TEST}.value'.

If the compiler is wrong, let me know and I will add an eweasel test.
To Reproduce
Compile with attached classes and config file.
Examine Flat form of routine {TEST}.try (inherited from TEST2).
The Flat form shows the expression {TEST}.value but executing the system
actually calls {TEST2}.value.
Problem Report Interactions
From:alexk_es    Date:2019/03/21    Status: Closed    Download   
Fixed in rev#102989 of EiffelStudio 19.05 intermediate release (beta 19.03).

From:prestoat2000    Date:2009/05/20    Download   
Manu says it is a deficiency in the compiler.
Added eweasel test exec313 for this bug.

From:prestoat2000    Date:2009/05/20    Download   
Ooops, wrong version of test.e.  Use test_rev2.e instead, which has the
needed redefine clause.

Attachment: test_rev2.e     Size:128
From:prestoat2000    Date:2009/05/20    Download   
Attachments for problem report #15853

Attachment: test.e     Size:102
Attachment: test2.e     Size:146
Attachment: test.ecf     Size:1037