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).
Please let me know if there an anomaly.
thanx,
Usman