PR# 5137 Feature tool -> Callers is missing cases

Problem Report Summary
Submitter: ericbe
Category: EiffelStudio
Priority: Medium
Date: 2005/07/11
Class: Bug
Severity: Serious
Number: 5137
Release: 5.6.1103
Confidential: No
Status: Analyzed
Responsible:
Environment: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)
Synopsis: Feature tool -> Callers is missing cases

Description
I have the following program:

---------------------------------------
class MY_TEST

create

	make

feature

	make is
		local
			a: A
			b: B
		do
			create b.make
			b.g
			a := b
			a.f
		end

end
---------------------------------------
class A

create

	make

feature

	make is
		do
			attr := Current
		end

	f is
		do
			print ("A.f%N")
		end

	g is
		do
			attr.f
		end

	attr: A

end
---------------------------------------
class B

inherit

	A
		redefine
			f, attr
		end

create

	make

feature

	f is
		do
			print ("B.f%N")
		end

	attr: B

end
---------------------------------------

EiffelStudio claims that feature B.f has no callers, but when I run the program I get:

---------------------------------------
B.f
B.f
---------------------------------------

So in the two cases of this example (polymorphic call, and redefinition of the type of the target) EiffelStudio cannot be trusted, which is not very helpful when refactoring or retrofitting assertions.
To Reproduce

										
Problem Report Interactions
From:ericbe    Date:2005/07/11    Download   
==== Manu: Mon Jul 11 11:26:38 PDT 2005 ===============================

Dear Eric,

Is this a request change? I'm saying this because our callers stuff
(and this has always been the case) only checks for static callers, not
dynamic one. Moreover it does it on the static type of B and
descendants. If you want all static callers, you need to first look at
the ancestors and then find A.f and then do the callers of A.f.

In your case there are no static calls of the form {B}.f thus the
expected output.



==== Manu: Mon Jul 11 11:26:38 PDT 2005 ===============================
From: "Eric Bezault" <ebezault@axarosenberg.com>
To: <bugs@support.eiffel.com>
Cc: 
Subject: RE: EiffelStudio/5137: Feature tool -> Callers  is missing cases
Date: Mon, 11 Jul 2005 11:41:23 -0700

 > Is this a request change?
 
 I will implement it in Rose Studio because we need it.
 
 > I'm saying this because our callers stuff
 > (and this has always been the case) only checks for static=20
 > callers, not
 > dynamic one. Moreover it does
....
Output truncated, Click download to get the full message