Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-dev] ajc150 testsuite questions

Hi all,

I have a few questions about AspectJ source files that are included in
the testsuite ajc150.xml. If any of these issues should be reported as
bugs, then I'll do that, but in some cases I'm not sure if they are
bugs or not.

-----------------------------------------------------------
bugs150/AnnotationPlusPatternParseError.aj

This file defines the following pointcut:
   pointcut bar() : call(* (@MemberOfMonitoredSet *)+.*(..));

According to the AspectJ 5 notebook this is not allowed, since the
production for subtype patterns only allows name patterns. In previous
versions of AspectJ the subtype operator could only be applied to name
patterns as well.

However, (@MemberOfMonitoredSet *) is a type pattern, so my question
is: should subtype be applicable to any type pattern? If so, then the
grammar for type patterns is a bit more complicated: if arbitrary type
patterns are allowed, then the priority of the subtype operator needs
to be handled (e.g. p1 && p2+).

-----------------------------------------------------------
java5/annotations/aspectMembers/a/AnnotatedAspect08.aj
  declare soft : execution(* *) : Exception;

This file looks wrong to me: the exception name and the pointcut have
been reversed. I suppose this is a mistake? Also, the argument of the
execution pointcut seems to be wrong: I think it should be execution(*
*())

-----------------------------------------------------------
java5/generics/pointcuts/GenericDeclaringTypeWithParameterErasure.aj

This file uses a generic execution pointcut:
  execution<N>(* GenericInterface<N extends Number>.asInt(Number))

The history of these generic pointcuts is a bit unclear to me: I saw
more of these parameterized pointcuts in the unit tests of the pattern
parser, but they have all been commented out. Anyway, ajc does not
accept this, so I assume this is invalid?

If these generic pointcuts have been discussed somewhere, could you
point me to the discussion? I would like to know a bit about why they
were proposed and if this is going to be supported in the future or
not :)

Thanks for any help!

Cheers,
--
Martin Bravenboer
---------------------------------------------------------------------
Center for Software Technology
Institute of Information and Computing Sciences
Utrecht University


Back to the top