Removed warning that no longer comes out for this test. We were putting out warnings about changes to serialveruid even if a decp implements was going to fail - we no longer put out this misleading warning.
test was failing because a message was coming out twice - once when applying decp at source time, once when applying it at weave time. Now removed the reporting at source time.
Changed order processing for weaving to match the recent changes in source order processing. Before weaving decp on type A, we look at supertypes and superinterfaces of A.
Binary Weaving Decp: Two changes: In SourceTypeBinding we can now remember the type hierarchy before we munge it up. In ClassFile we generate code for the original hierarchy rather than any munged variant. (this gets fixed up later when decp is done at weave time)
Hopefully fixes disappearance of decsofts in AJDT. The addition of the offset to the source location caused problems because a declare soft was being assigned 2 diff offsets in different parts of the weaver. First source location was the offset of the 'declare', second location was the offset for the declares pointcut expression. Now resolved so offset is always position of the 'declare'.
These changes are both (a) a performance optimization, and (b) an
improvement on the binding across || rules that we implemented in
1.2.1.
Instead of saying the the first binding in a left-to-right traversal of the
pointcuts DNF is the one that you get (too much to ask users to do DNF
rewriting in their heads), this version implements the rule that every
|| branch in the DNF must bind all formals, and if two || branches can have
any join points in common (can match join points of the same kind), then
both must bind all formals identically.
So it allows things like execution(* *(..)) && args(x) || call(* *(..)) && this(x)
which previously we used to forbid.
But primarily it turned out to be a performance optimization.