On 8 juin 2011, at 11:52, Usman Bhatti wrote:

I am looking to understand what mse entities are created for associations (except inheritance i.e. invocations, access, refs) in code and how to exactly treat the duplicates. I have seen a reference of it in a bug reported for VerveineJ but I am not sure if this issue has been discussed elsewhere.

For example, 

A a;
M()
{
   a = new A();
   a = new A();
   a.CallAMethod();
   a.CallAMethod();

}

The above code creates these associations (with Verveinesharp) .. 
1. An invocations to A's constructor (duplicate constructor invocation is ignored).
2. A field access to the field a (only one instance is recorded, the others are just ignored).
3. An invocation to CallAMethod (field access is already recorded so this one is not considered).
4. A reference from method M() to type A (Duplicate reference is ignored).


To me it seems like there are:
- 2 invocations to A constructor
- 2 field accesses to a
- 2 invocations to CallAMethod

There is no direct reference to class A, only indirect references through the constructor/method calls.



Please let me know if there an anomaly.

thanx,

Usman
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev

--
Simon Denier