Class AbstractSourceVisitor<T>
- java.lang.Object
-
- com.tonic.analysis.source.visitor.AbstractSourceVisitor<T>
-
- Type Parameters:
T- the return type of visit methods
- All Implemented Interfaces:
SourceVisitor<T>
- Direct Known Subclasses:
SideEffectDetector
public abstract class AbstractSourceVisitor<T> extends Object implements SourceVisitor<T>
Base SourceVisitor whose visit methods walk the whole tree and returndefaultValue().
-
-
Constructor Summary
Constructors Constructor Description AbstractSourceVisitor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TvisitArrayAccess(ArrayAccessExpr expr)Visits an array element access.TvisitArrayInit(ArrayInitExpr expr)Visits a braced array initializer.TvisitArrayType(ArraySourceType type)Visits an array type.TvisitBinary(BinaryExpr expr)Visits a binary operation.TvisitBlock(BlockStmt stmt)Visits a braced block.TvisitBreak(BreakStmt stmt)Visits a break statement.TvisitCast(CastExpr expr)Visits a cast.TvisitClass(ClassExpr expr)Visits a class literal.TvisitContinue(ContinueStmt stmt)Visits a continue statement.TvisitDoWhile(DoWhileStmt stmt)Visits a do-while loop.TvisitDynamicConstant(DynamicConstantExpr expr)Visits a dynamically computed constant.TvisitExprStmt(ExprStmt stmt)Visits an expression used as a statement.TvisitFieldAccess(FieldAccessExpr expr)Visits a field access.TvisitFor(ForStmt stmt)Visits a counted for loop.TvisitForEach(ForEachStmt stmt)Visits an enhanced for loop.TvisitIf(IfStmt stmt)Visits an if statement.TvisitInstanceOf(InstanceOfExpr expr)Visits aninstanceoftest.TvisitInvokeDynamic(InvokeDynamicExpr expr)Visits an invokedynamic call site.TvisitIRRegion(IRRegionStmt stmt)Visits a region of control flow that stayed in IR form because it could not be structured.TvisitLabeled(LabeledStmt stmt)Visits a labeled statement.TvisitLambda(LambdaExpr expr)Visits a lambda expression.TvisitLiteral(LiteralExpr expr)Visits a literal.TvisitMethodCall(MethodCallExpr expr)Visits a method call.TvisitMethodRef(MethodRefExpr expr)Visits a method reference.TvisitNew(NewExpr expr)Visits an object allocation.TvisitNewArray(NewArrayExpr expr)Visits an array allocation.TvisitPrimitiveType(PrimitiveSourceType type)Visits a primitive type.TvisitReferenceType(ReferenceSourceType type)Visits a class or interface type.TvisitReturn(ReturnStmt stmt)Visits a return statement.TvisitSuper(SuperExpr expr)Visits asuperreference.TvisitSwitch(SwitchStmt stmt)Visits a switch statement.TvisitSynchronized(SynchronizedStmt stmt)Visits a synchronized block.TvisitTernary(TernaryExpr expr)Visits a ternary conditional.TvisitThis(ThisExpr expr)Visits athisreference.TvisitThrow(ThrowStmt stmt)Visits a throw statement.TvisitTryCatch(TryCatchStmt stmt)Visits a try statement, with its catch clauses and finally block.TvisitUnary(UnaryExpr expr)Visits a unary operation.TvisitVarDecl(VarDeclStmt stmt)Visits a local variable declaration.TvisitVarRef(VarRefExpr expr)Visits a variable reference.TvisitVoidType(VoidSourceType type)Visits the void type.TvisitWhile(WhileStmt stmt)Visits a while loop.-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.tonic.analysis.source.visitor.SourceVisitor
visitAnnotationExpr, visitClassDecl, visitCompilationUnit, visitConstructorDecl, visitEnumConstantDecl, visitEnumDecl, visitFieldDecl, visitImportDecl, visitInterfaceDecl, visitMethodDecl, visitParameterDecl, visitSwitchExpr
-
-
-
-
Method Detail
-
visitBlock
public T visitBlock(BlockStmt stmt)
Description copied from interface:SourceVisitorVisits a braced block.- Specified by:
visitBlockin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitIf
public T visitIf(IfStmt stmt)
Description copied from interface:SourceVisitorVisits an if statement.- Specified by:
visitIfin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitWhile
public T visitWhile(WhileStmt stmt)
Description copied from interface:SourceVisitorVisits a while loop.- Specified by:
visitWhilein interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitDoWhile
public T visitDoWhile(DoWhileStmt stmt)
Description copied from interface:SourceVisitorVisits a do-while loop.- Specified by:
visitDoWhilein interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitFor
public T visitFor(ForStmt stmt)
Description copied from interface:SourceVisitorVisits a counted for loop.- Specified by:
visitForin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitForEach
public T visitForEach(ForEachStmt stmt)
Description copied from interface:SourceVisitorVisits an enhanced for loop.- Specified by:
visitForEachin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitSwitch
public T visitSwitch(SwitchStmt stmt)
Description copied from interface:SourceVisitorVisits a switch statement.- Specified by:
visitSwitchin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitTryCatch
public T visitTryCatch(TryCatchStmt stmt)
Description copied from interface:SourceVisitorVisits a try statement, with its catch clauses and finally block.- Specified by:
visitTryCatchin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitReturn
public T visitReturn(ReturnStmt stmt)
Description copied from interface:SourceVisitorVisits a return statement.- Specified by:
visitReturnin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitThrow
public T visitThrow(ThrowStmt stmt)
Description copied from interface:SourceVisitorVisits a throw statement.- Specified by:
visitThrowin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitVarDecl
public T visitVarDecl(VarDeclStmt stmt)
Description copied from interface:SourceVisitorVisits a local variable declaration.- Specified by:
visitVarDeclin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitExprStmt
public T visitExprStmt(ExprStmt stmt)
Description copied from interface:SourceVisitorVisits an expression used as a statement.- Specified by:
visitExprStmtin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitSynchronized
public T visitSynchronized(SynchronizedStmt stmt)
Description copied from interface:SourceVisitorVisits a synchronized block.- Specified by:
visitSynchronizedin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitLabeled
public T visitLabeled(LabeledStmt stmt)
Description copied from interface:SourceVisitorVisits a labeled statement.- Specified by:
visitLabeledin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitBreak
public T visitBreak(BreakStmt stmt)
Description copied from interface:SourceVisitorVisits a break statement.- Specified by:
visitBreakin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitContinue
public T visitContinue(ContinueStmt stmt)
Description copied from interface:SourceVisitorVisits a continue statement.- Specified by:
visitContinuein interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitIRRegion
public T visitIRRegion(IRRegionStmt stmt)
Description copied from interface:SourceVisitorVisits a region of control flow that stayed in IR form because it could not be structured.- Specified by:
visitIRRegionin interfaceSourceVisitor<T>- Parameters:
stmt- the statement node- Returns:
- the visitor's result
-
visitLiteral
public T visitLiteral(LiteralExpr expr)
Description copied from interface:SourceVisitorVisits a literal.- Specified by:
visitLiteralin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitVarRef
public T visitVarRef(VarRefExpr expr)
Description copied from interface:SourceVisitorVisits a variable reference.- Specified by:
visitVarRefin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitFieldAccess
public T visitFieldAccess(FieldAccessExpr expr)
Description copied from interface:SourceVisitorVisits a field access.- Specified by:
visitFieldAccessin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitArrayAccess
public T visitArrayAccess(ArrayAccessExpr expr)
Description copied from interface:SourceVisitorVisits an array element access.- Specified by:
visitArrayAccessin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitMethodCall
public T visitMethodCall(MethodCallExpr expr)
Description copied from interface:SourceVisitorVisits a method call.- Specified by:
visitMethodCallin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitNew
public T visitNew(NewExpr expr)
Description copied from interface:SourceVisitorVisits an object allocation.- Specified by:
visitNewin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitNewArray
public T visitNewArray(NewArrayExpr expr)
Description copied from interface:SourceVisitorVisits an array allocation.- Specified by:
visitNewArrayin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitArrayInit
public T visitArrayInit(ArrayInitExpr expr)
Description copied from interface:SourceVisitorVisits a braced array initializer.- Specified by:
visitArrayInitin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitBinary
public T visitBinary(BinaryExpr expr)
Description copied from interface:SourceVisitorVisits a binary operation.- Specified by:
visitBinaryin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitUnary
public T visitUnary(UnaryExpr expr)
Description copied from interface:SourceVisitorVisits a unary operation.- Specified by:
visitUnaryin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitCast
public T visitCast(CastExpr expr)
Description copied from interface:SourceVisitorVisits a cast.- Specified by:
visitCastin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitInstanceOf
public T visitInstanceOf(InstanceOfExpr expr)
Description copied from interface:SourceVisitorVisits aninstanceoftest.- Specified by:
visitInstanceOfin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitTernary
public T visitTernary(TernaryExpr expr)
Description copied from interface:SourceVisitorVisits a ternary conditional.- Specified by:
visitTernaryin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitLambda
public T visitLambda(LambdaExpr expr)
Description copied from interface:SourceVisitorVisits a lambda expression.- Specified by:
visitLambdain interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitMethodRef
public T visitMethodRef(MethodRefExpr expr)
Description copied from interface:SourceVisitorVisits a method reference.- Specified by:
visitMethodRefin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitThis
public T visitThis(ThisExpr expr)
Description copied from interface:SourceVisitorVisits athisreference.- Specified by:
visitThisin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitSuper
public T visitSuper(SuperExpr expr)
Description copied from interface:SourceVisitorVisits asuperreference.- Specified by:
visitSuperin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitClass
public T visitClass(ClassExpr expr)
Description copied from interface:SourceVisitorVisits a class literal.- Specified by:
visitClassin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitDynamicConstant
public T visitDynamicConstant(DynamicConstantExpr expr)
Description copied from interface:SourceVisitorVisits a dynamically computed constant.- Specified by:
visitDynamicConstantin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitInvokeDynamic
public T visitInvokeDynamic(InvokeDynamicExpr expr)
Description copied from interface:SourceVisitorVisits an invokedynamic call site.- Specified by:
visitInvokeDynamicin interfaceSourceVisitor<T>- Parameters:
expr- the expression node- Returns:
- the visitor's result
-
visitPrimitiveType
public T visitPrimitiveType(PrimitiveSourceType type)
Description copied from interface:SourceVisitorVisits a primitive type.- Specified by:
visitPrimitiveTypein interfaceSourceVisitor<T>- Parameters:
type- the type node- Returns:
- the visitor's result
-
visitReferenceType
public T visitReferenceType(ReferenceSourceType type)
Description copied from interface:SourceVisitorVisits a class or interface type.- Specified by:
visitReferenceTypein interfaceSourceVisitor<T>- Parameters:
type- the type node- Returns:
- the visitor's result
-
visitArrayType
public T visitArrayType(ArraySourceType type)
Description copied from interface:SourceVisitorVisits an array type.- Specified by:
visitArrayTypein interfaceSourceVisitor<T>- Parameters:
type- the type node- Returns:
- the visitor's result
-
visitVoidType
public T visitVoidType(VoidSourceType type)
Description copied from interface:SourceVisitorVisits the void type.- Specified by:
visitVoidTypein interfaceSourceVisitor<T>- Parameters:
type- the type node- Returns:
- the visitor's result
-
-