PR# 13010 Wrong flat form for routine that calls generic infix feature renamed to identifier feature

Problem Report Summary
Submitter: prestoat2000
Category: EiffelStudio
Priority: Medium
Date: 2007/06/05
Class: Bug
Severity: Serious
Number: 13010
Release: 6.0.68843
Confidential: No
Status: Suspended
Responsible: manus_eiffel
Environment: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv: Gecko/20060915 Firefox/ Solaris 9 on SPARC
Synopsis: Wrong flat form for routine that calls generic infix feature renamed to identifier feature

A generic class with header

   class TEST1 [G -> {NUMERIC, DOUBLE rename infix "+" as weasel end}]

contains a routine with a call

   print (x.weasel (x))

The flat form of this routine is wrong and also includes a "compilation
failure" message.
To Reproduce
Compile with attached classes.  Pick routine `make' from TEST1 and drop it in
the Feature Relation tool.  Select Flat format.  Flat format is wrong
(has `print (x(Current + (x)))' in body) and there is a message that says

   	-- Error(s) occured, which was due to a compilation failure.
	-- Multi constraint formal: More than one feature available for feature with routine id: 568
Problem Report Interactions
From:martins    Date:2007/06/14    Status: Suspended    Download   
The problem is that internally it is x.weasel (x) and after the target has been printed we notice that it is actually an infix feature. However, by then it is to lated add the needed parenthesis in front of the target: (x + x)

This is why we use x.infix"+" (x) for now in the case of inherited or multi-constraint renamed featrues. It is valid Eiffel as well and once we refactor this code we can do a proper fix.

From:martins    Date:2007/06/14    Download   
For the moment this is the best we can do.

From:prestoat2000    Date:2007/06/14    Status: Analyzed    Download   
Not fixed in rev 69072.  The Flat form is different now (closer to being
correct).  It is:

			-- (export status {NONE})
			print (x.infix "+" (x))

Reopening report.

From:martins    Date:2007/06/13    Status: Closed    Download   
Fixed in rev#69057.

From:prestoat2000    Date:2007/06/05    Download   
Attachments for problem report #13010

Attachment: test.e     Size:96
Attachment: test1.e     Size:227
Attachment: test.ecf     Size:1481