[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] * in type patterns
|
> However, when used like this:
>
> Pointcut p3() : call(public int *SomeClass.*(..));
>
> what is the meaning of * ? It is not embedded within a sequence of
> characters, and neither is it used "by itself." The meaning also seems
It is embedded, is it not? Does it not behave that way?
> 2. Why aren't SomeClass in all packages matched by p3?
The type is fully-qualified in this case. To match all packages,
specify *.. as the package prefix:
call(public int *..*SomeClass.*(..));
The case of * alone is special in picking out any type, regardless of package.
Wes
> ------------Original Message------------
> From: "Jon S. Baekken" <jbaekken@xxxxxxxxxxxx>
> To: aspectj-users@xxxxxxxxxxx
> Date: Fri, Mar-31-2006 2:33 PM
> Subject: [aspectj-users] * in type patterns
>
> Everybody,
>
> I'm a little confused about the meaning of the * wildcard used in type
> patterns. From what I've read, * stands for zero or more occurrences of
> any
> character when used by itself. So,
>
> pointcut p1() : call(public int *.*(..));
>
> would match a call to any public method returning an in in any class in
> any
> package (visible to the compiler).
>
> When embedded within a sequence of characters, * stands for zero or
> more
> occurrences of character except the package separator (.), so
>
> pointcut p2() : call(public int somepackage.*.SomeClass.*(..));
>
> would match any public method returning an int declared in the class
> SomeClass in any direct subpackage of somepackage (right?)
>
> However, when used like this:
>
> Pointcut p3() : call(public int *SomeClass.*(..));
>
> what is the meaning of * ? It is not embedded within a sequence of
> characters, and neither is it used "by itself." The meaning also seems
> to be
> neither of those mentioned above. It appears that it matches calls to
> methods declared in any class whose name ends in "SomeClass", but only
> those
> classes visible from within p3's source file (which is also strange
> since I
> thought all types visible to the compiler were considered when using
> wildcards?).
>
> So to summarize my questions,
>
> 1. What exactly does the * stand for in p3?
> 2. Why aren't SomeClass in all packages matched by p3?
>
> Thanks,
> Jon
>
> http://www.eecs.wsu.edu/~jbaekken/
>
>
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>