aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.matcher/src/main/resources/org
Commit message (Collapse)AuthorAgeFilesLines
* New Xlint warning 'arrayCannotBeVoid' when resolving 'void[]'Alexander Kriegisch2024-04-121-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because void arrays are illegal (and nonsensical), now there is a new Xlint warning whenever World.resolve resolves a new 'void[]'. Because in the World class we do not have any source context, no path + line number are logged. The user only sees something like: [warning] arrays cannot have a void type, but found 'void[]' in pointcut [Xlint:arrayCannotBeVoid] Then later, if due to the returned MissingResolvedTypeWithKnownSignature type a joinpoint does not match, there is an additional my/path/MyAspect.aj:42 [warning] advice defined in MyAspect has not been applied [Xlint:adviceDidNotMatch] log line, but not necessarily anywhere near the former one. On the one hand, this is better than nothing. OTOH, comparing the situation with no logging message other than Xlint:adviceDidNotMatch in case of something equally illegal like 'Foo<int>' (primitive generic type parameter), this is actually more than we have in several other situations and might even be regarded as superfluous. In case of multiple 'void[]' cases within a big number of aspects, the same aspect or even the same pointcut, the user would have no clue where exactly to search for it. He would just see multiple log messages without source context. One option would be to set 'arrayCannotBeVoid=ignore' in XlintDefault.properties, so the user would have to explicitly activate it. But IMO, this message should be visible by default. Another option would be to find out how to defer logging the messages until later similarly to BcelWeaver.warnOnUnmatchedAdvice and then to bulk-print them. But in order to achieve that, the information about the existence of any 'void[]' occurrences would have to be stored in a flag similar to BcelAdvice.hasMatchedAtLeastOnce, bloating BcelAdvice for that rare case. Alternatively, each advice pointcut could be heuristically scanned for the literal substring 'void[]', logging the Xlint message if it is found anywhere. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Upgrade license from CPLv1/EPLv1 to EPLv2Alexander Kriegisch2021-06-041-5/+5
| | | | | | | This was required by the Eclipse team as one precondition for the next release. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* Strip down compiler messages to AspectJ-specific onesAlexander Kriegisch2021-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | Delete all properties from messages_aspectj.properties which were just copied from Eclipse and basically the same. This not only gets rid of duplicates but also eliminates differences found between upstream and AspectJ strings which were just cause by errors or oversights during manual upgrade. TODO: - Find a way to print the '-X' options as info instead of yielding 'abort', making it seem as if compilation failed and print the usage message to stdErr instead of stdOut. - Eclipse also has misc.usage.warn, not just misc.usage, i.e. usage info specifically for warning options. Make sure that AspectJ uses it consistently. - Find a way to merge AspectJ-specific options into the standard Eclipse usage text instead of completely replacing it, further reducing the need to merge and copy upstream content. Signed-off-by: Alexander Kriegisch <Alexander@Kriegisch.name>
* tweak matcher for weaver module requirementsAndy Clement2019-01-252-0/+251