org.aspectj.compiler.crosscuts.ast
Class Pcd

java.lang.Object
  extended byorg.aspectj.compiler.base.CompilerObject
      extended byorg.aspectj.compiler.base.ast.ASTObject
          extended byorg.aspectj.compiler.base.ast.Expr
              extended byorg.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.


Field Summary
 
Fields inherited from class org.aspectj.compiler.base.ast.Expr
type
 
Fields inherited from class org.aspectj.compiler.base.ast.ASTObject
dummySource, parent, sourceLocation
 
Constructor Summary
Pcd(SourceLocation source)
           
 
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
 

Constructor Detail

Pcd

public Pcd(SourceLocation source)
Method Detail

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()