Hi,
On 28 Aug 2011, at 15:04, pascal.vollmer(a)nexgo.de wrote:
Hi,
I try to use Moose to get the fan out-metric computed for a small Smalltalk project.
In order to have type inference I checked "Compute type of attributes (using Roel
Typer)" when importing my project.
Unfortunately I do not understand what "Select a strategy to compute invocation
candidates" says.
I left this as it is set by default ("Use the standard
CandidateListOperation"). The same is true for "Choose an importer".
This means the followings. An invocation has
- sender: the method from which the message is sent
- receiver: the static variable that receives the message
- candidate list: a list of potential methods that might be the target of the message
The CandidateListOperator is the default strategy to try to limit the candidates based on
information related to the variable. At the moment, we take into account: self, super and
classes. For these we can identify the target method without a doubt.
The RoelTyper is currently used only for trying to compute the type of the attributes. For
example, import a Smalltalk system using RoelTyper, then select all attributes and then
check the result of selecting "each declaredType notNil".
Unfortunately, when computing the candidate list the types of variables are not taken into
account. It would be great if someone would improve this.
Now, I look at a certain class C which is interesting
for me. "InvokedClasses in C" shows several classes to which C does not send a
message.
What can I do about that?
1) Is there a possibility to "help" Roel Typer manually when automatic type
inference is not feasible?
As I said above, RoelTyper is currently not used at all. The first thing would be to add
this to the CandidateListOperator.
Manually, you would have to edit each invocation to remove elements from the
candidateList. However, I do not think that this is feasible.
2) What about the approach of Alexandre Bergel shown
at ESUG 2011. Can I try it?
I believe you are referring to exercising the code and inferring some partial typing based
on the dynamic information. Alex, is this available easily for Moose?
Cheers,
Doru
Kind regards,
Pascal
Pascal Vollmer
Email: pascal.vollmer(a)ieee.org
Arcor empfiehlt: Mal über die Karriere nachdenken! Wissenswertes und Nützliches finden
Sie hierzu unter
http://www.arcor.de/content/finanzen_job/job_karriere/bewerbung_karriere/ra…
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
www.tudorgirba.com
"Speaking louder won't make the point worthier."