[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-dev] Xlint / invalidWildcardTypeName
|
Hi Andrew,
for "unresolvableMember" I gave up to find an example. But for the other
Xlint warnings you can find my example under
http://www.javatux.de/aj/
as compress tarfile (xlint.tgz) or as directory (for online browsing).
BTW - I read the announcement from Adrian. There are new Xlint warnings?
Which ones?
Happy Eastern
Oliver
Andrew Clement wrote:
Hi Oli,
If you can come up with examples that produce all of them, I'd be keen to
include them as testcases in AspectJ where appropriate as I know we don't
properly test some of them. A good place to start would be searching
in the bugzilla database - I'm not sure how accurately that is indexed
by google. Here's a bit of info I've quickly dug up:
* invalidWildcardTypeName
Never signalled anywhere in the codebase! (so ignore this one...)
* unresolvableMember,
This one is hard to reproduce, see bug 59596 where I've done a bit
of write up about it.
* typeNotExposedToWeaver
Should be recreatable by trying to weave into something that is
actually on the classpath rather than the inpath.
* shadowNotInStructure
Signalled if the structure model is broken, probably can't happen
right now as we work hard to ensure it is always correct.
* unmatchedSuperTypeInCall
These two covariance problems demonstrate this xlint. it is related
to specifying the declaring type in a call() type pattern and it
not matching as you expected...
CovBaseProgram01.java >>>>>
class Car {}
class FastCar extends Car {}
class Super {
Car getCar() {
return new Car();
}
}
class Sub extends Super {
FastCar getCar() {
return new FastCar();
}
}
public class CovBaseProgram01 {
public static void main(String[] argv) {
new CovBaseProgram01().run();
}
public void run() {
Super instance_super = new Super();
Sub instance_sub = new Sub();
Car c1 = instance_super.getCar();
Car c2 = instance_sub.getCar();
}
}
// FastCar is a subclass of Car.
// Sub is a subclass of Super.
==============
CovAspect06.aj >>>
aspect CovAspect06 {
pointcut p(): call(Car Sub.getCar());
@org.aspectj.lang.annotation.SuppressAjWarnings
before(): p() {
System.out.println("[call(Car Sub.getCar()) matched on
'"+thisJoinPoint+":"+thisJoinPoint.getSourceLocation()+"']");
}
}
================
ajc -1.5 CovAspect06.aj CovBaseProgram01.ja
* noInterfaceCtorJoinpoint
related to trying to put advice on constructor execution join point for
an interface I think...
hope some of that is useful...
Andy.
*"Oli B." <boehm@xxxxxxxxxx>*
Sent by: aspectj-dev-admin@xxxxxxxxxxx
24/03/2005 09:07
Please respond to
aspectj-dev@xxxxxxxxxxx
To
aspectj-dev@xxxxxxxxxxx
cc
Subject
[aspectj-dev] Xlint / invalidWildcardTypeName
Hello,
I want to provide some examples for the meaning of the different Xlint
properties but have myself problems to understand it. Also I found
nothing in the documentation and also google has no plan.
Could someone provide me an example for an "invalidWildcardTypeName"? I
tried different things like 'call(Dummy* *.*.World.xxx*xxx(*))' but with
no success.
Are there any testcases for this property (and also the other ones)
available? I'm interested in examples for
* invalidWildcardTypeName,
* unresolvableMember,
* typeNotExposedToWeaver,
* shadowNotInStructure,
* unmatchedSuperTypeInCall,
* noInterfaceCtorJoinpoint
regards
Oliver
--
Oliver Böhm
http://www.javatux.de
_______________________________________________
aspectj-dev mailing list
aspectj-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/aspectj-dev
--
Oliver Böhm
http://www.javatux.de