This is called during concretization of pointcuts, it is used by BindingTypePattern to return a new BindingTypePattern with a
formal index appropiate for the advice, rather than for the lexical declaration, i.e.
Render ISourceLocation to String, ignoring empty elements (null or ISourceLocation.NO_FILE or ISourceLocation.NO_COLUMN
(though implementations may return 0 from getColumn() when passed NO_COLUMN as input)).
Returns an array of the stats, for testing, the order is fixed: 0=time spent loading (static) 1=time spent manipulating URLs
(static) 2=classes loaded (static) 3=cache hits shared (static) 4=misses in shared due to eviction (static) 5=cache hits
local 6=misses in local due to eviction 7=shared cache size
Set forcerewrite if you want to override the checking for something already in DNF (useful for some testing) Repeated
processing of something already in DNF is expensive (it ends up being done for every pointcut on every incremental compile) -
so let's not do it if we don't have to.