org.aspectj.compiler.crosscuts.ast
Class Pcd
java.lang.Object
org.aspectj.compiler.base.CompilerObject
org.aspectj.compiler.base.ast.ASTObject
org.aspectj.compiler.base.ast.Expr
org.aspectj.compiler.crosscuts.ast.Pcd
- Direct Known Subclasses:
- AdviceExecutionPcd, ArgsPcd, BinaryPcd, CFlowBelowPcd, CFlowPcd, EmptyPcd, HandlerPcd, IfPcd, KindedPcd, NamePcd, NotPcd, TargetPcd, ThisPcd, WithinCodePcd, WithinPcd
- public abstract class Pcd
- extends Expr
A Pcd is a filter that matches JoinPoints. For JoinPoints that it matches
it will produce a plan of how to apply relevant advice to that JoinPoint.
Fields inherited from class org.aspectj.compiler.base.ast.Expr |
type |
Method Summary |
boolean |
allowsNameBinding()
In AspectJ 1.0 only target, this, and args allow name binding. |
abstract void |
checkStatic()
This should call "showNonStaticError()" for any Pcd that can not be used
for purely static matching. |
protected Type |
discoverType()
|
abstract org.aspectj.compiler.crosscuts.joinpoints.JpPlanner |
makePlanner(PlanData planData)
Build a partial plan for this pointcut on the given joinPoint in the
context of the planData. |
protected void |
showNonStaticError()
|
abstract java.lang.String |
toShortString()
|
java.lang.String |
unparse()
|
void |
unparse(org.aspectj.compiler.base.CodeWriter writer)
|
Methods inherited from class org.aspectj.compiler.base.ast.Expr |
assertType, canBeCopied, cgBuffer, cgEffect, cgTest, cgValue, cgValue, checkSpec, cleanup, getDefaultDisplayName, getType, isAssignableTo, isConstantFalse, isConstantTrue, isConstantZero, isInConstructorCallExpr, isInExprStmt, isLegalStmt, isMethodConvertableTo, isUltimatelyLiteral, makeQualifiedThis, makeReference, postCopy, setType, showOperatorTypeError, showOperatorTypeError, walkCleanup, walkFrameLoc |
Methods inherited from class org.aspectj.compiler.base.ast.ASTObject |
addComment, buildAccessMethod, checkNoSharing, clearComment, clearParent, contains, containsTypes, copy, copyWalk, display, fixAccessPost, fixAST, fromSource, getAST, getBeginColumn, getBeginLine, getBytecodeType, getBytecodeTypeDec, getChildAt, getChildCount, getChildNameAt, getComment, getCompilationUnit, getDeclaringType, getEnclosingCodeDec, getEnclosingDec, getEndColumn, getEndLine, getEndPosition, getFormalComment, getLexicalType, getOutermostBytecodeType, getOutermostLexicalType, getParent, getSourceDirectoryName, getSourceFile, getSourceFileName, getSourceLocation, getStartPosition, hasLegalProtectedAccess, hasSource, hasSourceLocation, implementMixin, indexOf, inStaticContext, isLanguageVisible, isLeaf, isSynthetic, makeChild, makeChild, postAssignmentCheck, postCleanup, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postScope, postThreading, preAssignmentCheck, preCopy, preIntroduction, preLift, preMove, preScope, preThreading, remove, remove, removeChildAt, replaceWith, setChildAt, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, toString, walk, walkAnalysis, walkAssignmentCheck, walkFlow, walkForwardReference, walkInnerInfo, walkMemberMunger, walkScope |
Methods inherited from class org.aspectj.compiler.base.CompilerObject |
getCompiler, getOptions, getTypeManager, getWorld |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Pcd
public Pcd(SourceLocation source)
unparse
public void unparse(org.aspectj.compiler.base.CodeWriter writer)
throws java.io.IOException
- Overrides:
unparse
in class ASTObject
- Throws:
java.io.IOException
unparse
public java.lang.String unparse()
- Overrides:
unparse
in class ASTObject
discoverType
protected Type discoverType()
- Specified by:
discoverType
in class Expr
toShortString
public abstract java.lang.String toShortString()
- Overrides:
toShortString
in class ASTObject
makePlanner
public abstract org.aspectj.compiler.crosscuts.joinpoints.JpPlanner makePlanner(PlanData planData)
- Build a partial plan for this pointcut on the given joinPoint in the
context of the planData.
allowsNameBinding
public boolean allowsNameBinding()
- In AspectJ 1.0 only target, this, and args allow name binding.
checkStatic
public abstract void checkStatic()
- This should call "showNonStaticError()" for any Pcd that can not be used
for purely static matching. This is used by 'declare error/warning' and
'declare soft'.
showNonStaticError
protected void showNonStaticError()