abc.tm.ast
Class TMNodeFactory_c

java.lang.Object
  extended by soot.javaToJimple.jj.ast.JjNodeFactory_c
      extended by abc.aspectj.ast.AJNodeFactory_c
          extended by abc.eaj.ast.EAJNodeFactory_c
              extended by abc.tm.ast.TMNodeFactory_c
All Implemented Interfaces:
AJNodeFactory, EAJNodeFactory, TMNodeFactory
Direct Known Subclasses:
RANodeFactory_c

public class TMNodeFactory_c
extends EAJNodeFactory_c
implements TMNodeFactory

NodeFactory for TraceMatching extension.

Author:
Julian Tibble

Constructor Summary
TMNodeFactory_c()
           
TMNodeFactory_c(AJExtFactory extFactory, AJDelFactory delFactory)
           
 
Method Summary
 SymbolKind AfterReturningSymbol(Position pos)
           
 SymbolKind AfterReturningSymbol(Position pos, Local return_var)
           
 SymbolKind AfterSymbol(Position pos)
           
 SymbolKind AfterThrowingSymbol(Position pos)
           
 SymbolKind AfterThrowingSymbol(Position pos, Local exception_var)
           
 SymbolKind AroundSymbol(Position pos, java.util.List proceed_vars)
           
 SymbolKind BeforeSymbol(Position pos)
           
 ClosedPointcut ClosedPointcut(Position pos, java.util.List formals, Pointcut pc)
           
 Local Local(Position pos, java.lang.String name)
           
 TMAdviceDecl PerEventAdviceDecl(Position pos, Flags flags, AdviceSpec before_spec, Pointcut before_pc, AdviceSpec after_spec, Pointcut after_pc, Block body, java.lang.String tm_id, Position tm_pos, int kind)
           
 TMAdviceDecl PerSymbolAdviceDecl(Position pos, Flags flags, AdviceSpec spec, java.util.List throwTypes, Pointcut pc, Block body, java.lang.String tm_id, SymbolDecl sym, Position tm_pos)
           
 Regex RegexAlternation(Position pos, Regex a, Regex b)
           
 Regex RegexConjunction(Position pos, Regex a, Regex b)
           
 Regex RegexCount(Position pos, Regex a, int min, int max)
           
 Regex RegexPlus(Position pos, Regex a)
           
 Regex RegexSkipSeq(Position pos, Regex before, java.util.List prohibited, Regex after)
           
 Regex RegexStar(Position pos, Regex a)
           
 Regex RegexSymbol(Position pos, java.lang.String name)
           
 SymbolDecl SymbolDecl(Position pos, java.lang.String name, SymbolKind kind, Pointcut pc)
           
 TMDecl TMDecl(Position pos, Position body_pos, TMModsAndType mods_and_type, java.lang.String tracematch_name, java.util.List formals, java.util.List throwTypes, java.util.List symbols, java.util.List freqent_symbols, Regex regex, Block body)
           
 TMModsAndType TMModsAndType(Flags flags, boolean isPerThread, AdviceSpec before_or_around, AdviceSpec after, boolean isAround, TypeNode type)
           
 
Methods inherited from class abc.eaj.ast.EAJNodeFactory_c
AdviceDecl, GlobalPointcutDecl, PCArrayGet, PCArraySet, PCCast, PCCflowBelowDepth, PCCflowDepth, PCContains, PCLet, PCLocalVars, PCLock, PCThrow, PCUnlock
 
Methods inherited from class abc.aspectj.ast.AJNodeFactory_c
AdviceFormal, After, AfterReturning, AfterThrowing, AmbAssign, AmbExpr, AmbTypeOrLocal, ArgDotDot, ArgStar, Around, ArrayAccessAssign, AspectBody, AspectDecl, Before, Call, CharLit, ClassBody, ClassDecl, ClassTypeDotId, ClassTypeDotNew, constructClassnamePatternFromTypePattern, ConstructorCall, ConstructorDecl, ConstructorPattern, CPEBinary, CPEName, CPENot, CPESubName, CPEUniversal, DeclareError, DeclareParents, DeclarePrecedence, DeclareSoft, DeclareWarning, delFactory, disamb, DotDotFormalPattern, DotDotNamePattern, DotNamePattern, extFactory, Field, FieldAssign, FieldPattern, hostConstructorCall, hostSpecial, IntertypeConstructorDecl, IntertypeFieldDecl, IntertypeMethodDecl, IsSingleton, LocalAssign, MethodDecl, MethodPattern, ModifierPattern, New, PCAdviceExecution, PCArgs, PCBinary, PCCall, PCCflow, PCCflowBelow, PCEmpty, PCExecution, PCGet, PCHandler, PCIf, PCInitialization, PCName, PCNot, PCPreinitialization, PCSet, PCStaticInitialization, PCTarget, PCThis, PCWithin, PCWithinCode, PerCflow, PerCflowBelow, PerTarget, PerThis, PointcutDecl, ProceedCall, RTPName, RTPSubName, SimpleNamePattern, Special, ThrowsPattern, TPEArray, TPEBinary, TPENot, TPERefTypePat, TPEType, TPEUniversal, TypeFormalPattern, Unary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface abc.eaj.ast.EAJNodeFactory
GlobalPointcutDecl, PCArrayGet, PCArraySet, PCCast, PCCflowBelowDepth, PCCflowDepth, PCContains, PCLet, PCLocalVars, PCLock, PCThrow, PCUnlock
 
Methods inherited from interface abc.aspectj.ast.AJNodeFactory
AdviceDecl, AdviceFormal, After, AfterReturning, AfterThrowing, AmbExpr, AmbTypeOrLocal, ArgDotDot, ArgStar, Around, AspectBody, AspectDecl, Before, CharLit, ClassTypeDotId, ClassTypeDotNew, constructClassnamePatternFromTypePattern, ConstructorPattern, CPEBinary, CPEName, CPENot, CPESubName, CPEUniversal, DeclareError, DeclareParents, DeclarePrecedence, DeclareSoft, DeclareWarning, DotDotFormalPattern, DotDotNamePattern, DotNamePattern, Field, FieldPattern, hostConstructorCall, hostSpecial, IntertypeConstructorDecl, IntertypeFieldDecl, IntertypeMethodDecl, IsSingleton, MethodPattern, ModifierPattern, PCAdviceExecution, PCArgs, PCBinary, PCCall, PCCflow, PCCflowBelow, PCEmpty, PCExecution, PCGet, PCHandler, PCIf, PCInitialization, PCName, PCNot, PCPreinitialization, PCSet, PCStaticInitialization, PCTarget, PCThis, PCWithin, PCWithinCode, PerCflow, PerCflowBelow, PerTarget, PerThis, PointcutDecl, ProceedCall, RTPName, RTPSubName, SimpleNamePattern, ThrowsPattern, TPEArray, TPEBinary, TPENot, TPERefTypePat, TPEType, TPEUniversal, TypeFormalPattern
 

Constructor Detail

TMNodeFactory_c

public TMNodeFactory_c()

TMNodeFactory_c

public TMNodeFactory_c(AJExtFactory extFactory,
                       AJDelFactory delFactory)
Method Detail

TMDecl

public TMDecl TMDecl(Position pos,
                     Position body_pos,
                     TMModsAndType mods_and_type,
                     java.lang.String tracematch_name,
                     java.util.List formals,
                     java.util.List throwTypes,
                     java.util.List symbols,
                     java.util.List freqent_symbols,
                     Regex regex,
                     Block body)
Specified by:
TMDecl in interface TMNodeFactory

TMModsAndType

public TMModsAndType TMModsAndType(Flags flags,
                                   boolean isPerThread,
                                   AdviceSpec before_or_around,
                                   AdviceSpec after,
                                   boolean isAround,
                                   TypeNode type)
Specified by:
TMModsAndType in interface TMNodeFactory

SymbolDecl

public SymbolDecl SymbolDecl(Position pos,
                             java.lang.String name,
                             SymbolKind kind,
                             Pointcut pc)
Specified by:
SymbolDecl in interface TMNodeFactory

BeforeSymbol

public SymbolKind BeforeSymbol(Position pos)
Specified by:
BeforeSymbol in interface TMNodeFactory

AfterSymbol

public SymbolKind AfterSymbol(Position pos)
Specified by:
AfterSymbol in interface TMNodeFactory

AfterReturningSymbol

public SymbolKind AfterReturningSymbol(Position pos)
Specified by:
AfterReturningSymbol in interface TMNodeFactory

AfterReturningSymbol

public SymbolKind AfterReturningSymbol(Position pos,
                                       Local return_var)
Specified by:
AfterReturningSymbol in interface TMNodeFactory

AfterThrowingSymbol

public SymbolKind AfterThrowingSymbol(Position pos)
Specified by:
AfterThrowingSymbol in interface TMNodeFactory

AfterThrowingSymbol

public SymbolKind AfterThrowingSymbol(Position pos,
                                      Local exception_var)
Specified by:
AfterThrowingSymbol in interface TMNodeFactory

AroundSymbol

public SymbolKind AroundSymbol(Position pos,
                               java.util.List proceed_vars)
Specified by:
AroundSymbol in interface TMNodeFactory

PerSymbolAdviceDecl

public TMAdviceDecl PerSymbolAdviceDecl(Position pos,
                                        Flags flags,
                                        AdviceSpec spec,
                                        java.util.List throwTypes,
                                        Pointcut pc,
                                        Block body,
                                        java.lang.String tm_id,
                                        SymbolDecl sym,
                                        Position tm_pos)
Specified by:
PerSymbolAdviceDecl in interface TMNodeFactory

PerEventAdviceDecl

public TMAdviceDecl PerEventAdviceDecl(Position pos,
                                       Flags flags,
                                       AdviceSpec before_spec,
                                       Pointcut before_pc,
                                       AdviceSpec after_spec,
                                       Pointcut after_pc,
                                       Block body,
                                       java.lang.String tm_id,
                                       Position tm_pos,
                                       int kind)
Specified by:
PerEventAdviceDecl in interface TMNodeFactory

RegexAlternation

public Regex RegexAlternation(Position pos,
                              Regex a,
                              Regex b)
Specified by:
RegexAlternation in interface TMNodeFactory

RegexConjunction

public Regex RegexConjunction(Position pos,
                              Regex a,
                              Regex b)
Specified by:
RegexConjunction in interface TMNodeFactory

RegexCount

public Regex RegexCount(Position pos,
                        Regex a,
                        int min,
                        int max)
Specified by:
RegexCount in interface TMNodeFactory

RegexPlus

public Regex RegexPlus(Position pos,
                       Regex a)
Specified by:
RegexPlus in interface TMNodeFactory

RegexStar

public Regex RegexStar(Position pos,
                       Regex a)
Specified by:
RegexStar in interface TMNodeFactory

RegexSymbol

public Regex RegexSymbol(Position pos,
                         java.lang.String name)
Specified by:
RegexSymbol in interface TMNodeFactory

RegexSkipSeq

public Regex RegexSkipSeq(Position pos,
                          Regex before,
                          java.util.List prohibited,
                          Regex after)
Specified by:
RegexSkipSeq in interface TMNodeFactory

ClosedPointcut

public ClosedPointcut ClosedPointcut(Position pos,
                                     java.util.List formals,
                                     Pointcut pc)
Specified by:
ClosedPointcut in interface TMNodeFactory

Local

public Local Local(Position pos,
                   java.lang.String name)
Overrides:
Local in class AJNodeFactory_c