So strategies available are:
a CandidateListOperator (the class used at the origin, could maybe be removed) compute a
list of possible type for a FamixInvocation's receiver when:
- the receiver is a Class (so its type is then evident :))
- the receiver is 'self'
- the receiver is 'super'
a CandidateListOperatorAcceptingAnyKindOfReceiver compute a list of possible type for a
FamixInvocation's receiver when:
- the receiver is a Class (so its type is then evident :))
- the receiver is 'self'
- the receiver is 'super'
- the receiver is a FAMIXAttribute
should normally accept any kind of receiver, but all type are not yet supported or
implemented.
a CandidateListOperatorAcceptingBasicAndVariableReceivers compute a list of possible
type for a FamixInvocation's receiver when:
- the receiver is a Class (so its type is then evident :))
- the receiver is 'self'
- the receiver is 'super'
- the receiver is a FAMIXAttribute
a CandidateListOperatorAcceptingSimpleKindsOfReceiver compute a list of possible type for
a FamixInvocation's receiver when:
- the receiver is a Class (so its type is then evident :))
- the receiver is 'self'
- the receiver is 'super' (so does the same job than the original class)
a CandidateListOperatorNotAcceptingAnyReceiver doesn't compute any possible type.
should normally accept any kind of receiver, but all type are not yet supported or
implemented.
2010/8/18 Simon Denier <Simon.Denier(a)inria.fr>
On 18 août 2010, at 16:27, Alexandre Bergel wrote:
Maybe it would be better to open an issue about testing AbstractCandidateListOperator
subclasses, since they already use RoelTyper.
Cyrille, could you make a quick summary of the strategies available?
Cheers,
Alexandre
On 18 Aug 2010, at 09:42, Simon Denier wrote:
Hi Alex
Did you try the different strategies provided for invocations resolution in the importer
wizard? Indeed, Cyrille coded a few strategies to use RoelTyper for better method
resolution (as well as inference of instance variable types). Unfortunately, there are no
test for this so I don't no how reliable it is. I would love to have tests and
precision/recall score for these strategies!
On 18 août 2010, at 15:21, Alexandre Bergel wrote:
> Hi!
>
> I am analyzing Mondrian in Moose. One thing that I am bumping into, is that wrong
dependencies are inferred whereas I am sure that they do not exist. This is not a new, we
have to type in Smalltalk. For example:
>
> MOEdge>>fromPositions
> ^ shape fromPositions
>
> #fromPositions is implemented 3 times, by MOAbstractLayout, MOEdge, and MOLineShape.
> In the case of MOEdge>>fromPositions, I am sure that it does not invoke
MOAbstractLayout>>fromPositions
>
> I guess that everyone analyzing smalltalk code bumped into this very situation.
>
> My question is how do we do in that case?
> One easy solution, is to annotate Mondrian with an adequate pragma:
>
> MOEdge>>fromPositions
> <invoke: #fromPositions of: MOLineShape>
> ^ shape fromPositions
>
> We can decline this pragma into:
> <doesNotInvoke: #selector of: AClass>
> <invoke: #fromPositions of: #(MOLineShape MOEdge)>
>
> Simon told me Cyrille has worked on this problem. I am currently trying to use
RoelTyper.
>
> Cheers,
> Alexandre
>
> --
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel
http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)iam.unibe.ch
>
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
Simon
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel
http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
--
Simon
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch