Project: AspectJ
Bug 108120 Complete implemenation of runtime pointcut parsing and matching
Reported: 2005-08-26 10:39:53 | Status: resolved fixed

The weaver API for runtime pointcut parsing and matching needs extending for all of the new pointcuts we have added in AJ5. Recommended approach is to implement JavaLangReflectObjectType as a new ReferenceTypeDelegate, and a JavaLangReflectWorld in place of BcelWorld.

Files changed in fix:
aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AjTypeImpl.java aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/PointcutImpl.java aspectj5rt/java5-src/org/aspectj/lang/annotation/Pointcut.java aspectj5rt/java5-src/org/aspectj/lang/reflect/Pointcut.java bcel-builder/src/org/aspectj/apache/bcel/classfile/JavaClass.java bcel-builder/src/org/aspectj/apache/bcel/generic/Type.java bcel-builder/testsrc/org/aspectj/apache/bcel/classfile/tests/GetReflectMembersTest.java org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/AtAspectJAnnotationFactory.java org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/PointcutDeclaration.java org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/ast/PointcutDesignator.java tests/java5/ataspectj/annotationGen/RuntimePointcuts.java tests/src/org/aspectj/systemtest/ajc150/Ajc150Tests.java tests/src/org/aspectj/systemtest/ajc150/ataspectj/AtAjAnnotationGenTests.java weaver/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java weaver/java5-src/org/aspectj/weaver/reflect/Java15ReflectionBasedReferenceTypeDelegate.java weaver/java5-testsrc/org/aspectj/weaver/tools/Java15PointcutExpressionTest.java weaver/src/org/aspectj/weaver/Shadow.java weaver/src/org/aspectj/weaver/UnresolvedType.java weaver/src/org/aspectj/weaver/World.java weaver/src/org/aspectj/weaver/internal/tools/PointcutExpressionImpl.java weaver/src/org/aspectj/weaver/patterns/AndPointcut.java weaver/src/org/aspectj/weaver/patterns/AndTypePattern.java weaver/src/org/aspectj/weaver/patterns/AnnotationPointcut.java weaver/src/org/aspectj/weaver/patterns/ArgsAnnotationPointcut.java weaver/src/org/aspectj/weaver/patterns/ArgsPointcut.java weaver/src/org/aspectj/weaver/patterns/CflowPointcut.java weaver/src/org/aspectj/weaver/patterns/ConcreteCflowPointcut.java weaver/src/org/aspectj/weaver/patterns/ExactTypePattern.java weaver/src/org/aspectj/weaver/patterns/HandlerPointcut.java weaver/src/org/aspectj/weaver/patterns/HasMemberTypePattern.java weaver/src/org/aspectj/weaver/patterns/IfPointcut.java weaver/src/org/aspectj/weaver/patterns/KindedPointcut.java weaver/src/org/aspectj/weaver/patterns/NotPointcut.java weaver/src/org/aspectj/weaver/patterns/NotTypePattern.java weaver/src/org/aspectj/weaver/patterns/OrPointcut.java weaver/src/org/aspectj/weaver/patterns/OrTypePattern.java weaver/src/org/aspectj/weaver/patterns/PerCflow.java weaver/src/org/aspectj/weaver/patterns/PerClause.java weaver/src/org/aspectj/weaver/patterns/PerFromSuper.java weaver/src/org/aspectj/weaver/patterns/PerObject.java weaver/src/org/aspectj/weaver/patterns/PerSingleton.java weaver/src/org/aspectj/weaver/patterns/PerTypeWithin.java weaver/src/org/aspectj/weaver/patterns/Pointcut.java weaver/src/org/aspectj/weaver/patterns/PointcutExpressionMatching.java weaver/src/org/aspectj/weaver/patterns/ReferencePointcut.java weaver/src/org/aspectj/weaver/patterns/SignaturePattern.java weaver/src/org/aspectj/weaver/patterns/ThisOrTargetAnnotationPointcut.java weaver/src/org/aspectj/weaver/patterns/ThisOrTargetPointcut.java weaver/src/org/aspectj/weaver/patterns/ThrowsPattern.java weaver/src/org/aspectj/weaver/patterns/TypePattern.java weaver/src/org/aspectj/weaver/patterns/TypePatternList.java weaver/src/org/aspectj/weaver/patterns/WildTypePattern.java weaver/src/org/aspectj/weaver/patterns/WithinAnnotationPointcut.java weaver/src/org/aspectj/weaver/patterns/WithinCodeAnnotationPointcut.java weaver/src/org/aspectj/weaver/patterns/WithinPointcut.java weaver/src/org/aspectj/weaver/patterns/WithincodePointcut.java weaver/src/org/aspectj/weaver/reflect/AnnotationFinder.java weaver/src/org/aspectj/weaver/reflect/JoinPointMatchImpl.java weaver/src/org/aspectj/weaver/reflect/PointcutParameterImpl.java weaver/src/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegate.java weaver/src/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateFactory.java weaver/src/org/aspectj/weaver/reflect/ReflectionBasedResolvedMemberImpl.java weaver/src/org/aspectj/weaver/reflect/ReflectionShadow.java weaver/src/org/aspectj/weaver/reflect/ReflectionVar.java weaver/src/org/aspectj/weaver/reflect/ReflectionWorld.java weaver/src/org/aspectj/weaver/reflect/ShadowMatchImpl.java weaver/src/org/aspectj/weaver/tools/JoinPointMatch.java weaver/src/org/aspectj/weaver/tools/PointcutExpression.java weaver/src/org/aspectj/weaver/tools/PointcutParameter.java weaver/src/org/aspectj/weaver/tools/PointcutParser.java weaver/src/org/aspectj/weaver/tools/PointcutPrimitive.java weaver/src/org/aspectj/weaver/tools/ShadowMatch.java weaver/testsrc/BcweaverModuleTests15.java weaver/testsrc/org/aspectj/weaver/patterns/AndOrNotTestCase.java weaver/testsrc/org/aspectj/weaver/patterns/ArgsTestCase.java weaver/testsrc/org/aspectj/weaver/patterns/HandlerTestCase.java weaver/testsrc/org/aspectj/weaver/patterns/KindedTestCase.java weaver/testsrc/org/aspectj/weaver/patterns/PatternsTests.java weaver/testsrc/org/aspectj/weaver/patterns/PointcutTestCase.java weaver/testsrc/org/aspectj/weaver/patterns/ThisOrTargetTestCase.java weaver/testsrc/org/aspectj/weaver/patterns/WithinCodeTestCase.java weaver/testsrc/org/aspectj/weaver/patterns/WithinTestCase.java weaver/testsrc/org/aspectj/weaver/reflect/ReflectionBasedReferenceTypeDelegateTest.java weaver/testsrc/org/aspectj/weaver/reflect/ReflectionWorldTest.java weaver/testsrc/org/aspectj/weaver/tools/PointcutExpressionTest.java weaver/testsrc/org/aspectj/weaver/tools/PointcutParserTest.java weaver/testsrc/reflect/tests/C.java